[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 46
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não funciona assim. Como resultado, eu percebo que procuro por máximos na história (encontra máximos no dia anterior), mas preciso esperar pelo cumprimento depois que esta função entrar em ação (como valor na 1ª barra > 70) ... Se esta condição for cumprida (não antes da barra > 70, mas depois) a primeira massa é menor que a segunda, então o pedido é fechado
Quaisquer dicas sobre o que mudar.
Obrigado
mais uma pergunta - nos ajude)
como determinar, após um pedido ter sido selecionado do histórico, seu tipo (o pedido foi fechado por Compra ou Venda)?
Você tem uma variável declarada e depois tenta usar outra.
Bem, você deveria ter dito isso imediatamente........... senão a velhice não é divertida - mas a juventude é desagradável.....
>> >>SPASSYBOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Você poderia, por favor, informar
Eu preciso entender claramente se um pedido fechado em stop ou profit
Eu fiz as variáveis priceprofitbuy e pricetopbuy
antes de fazer o pedido, eu faço pricebuy = Ask, então o pedido é submetido a pricebuy, se bem sucedido, então alertar e lembrar priceprofitbuy e pricetopbuy, baseado em pricebuy
condições adicionais priceprofitbuy >= Bid= Licitação e preçostopbuy <= Licitação, eu verifico se o pedido está fechado com lucro ou stop
; no entanto, às vezes a licitação atingiu o nível takeprofit e o pedido está fechado, mas enquanto o loop atinge a priceprofitbuy >= Licitação, a licitação se tornou mais baixa, e o loop não funciona corretamente
Pergunta - há alguma maneira de detectar claramente que o pedido fechou com lucro?
Eu tentei atribuir uma variável ao número do bilhete do pedido e depois verificar o lucro no histórico, mas o pedido não pode ser selecionado do bilhete - apenas o lucro é mostrado no histórico.
Eu fiz as variáveis de preço de compra e preço de compra
Eu coloco pricebuy = Perguntar antes de fazer um pedido, depois enviar pedido por pricebuy; se bem sucedido, alertar e armazenar priceprofitbuy e preçostopbuy com base em pricebuy
então usando o preço de compra >= Licitação e preçostopbuy <= Condição de licitação, eu verifico se a ordem está fechada com lucro ou parada
no entanto, acontece que a licitação atingiu o nível de takeprofit, a ordem é fechada, mas enquanto o ciclo atingiu o preço de compra >= Licitação, a licitação se tornou mais baixa e então o ciclo não funciona corretamente
Pergunta - há alguma maneira de detectar claramente que a ordem foi fechada com lucro?
Tentei definir o número do bilhete para uma variável e depois verificar o lucro no histórico, mas a ordem não pode ser selecionada a partir do histórico - apenas o posto é mostrado no histórico.
Não é muito correto:
Uma posição pode abrir com um deslize (geralmente a um preço pior) em vez do preço exato.
Seria mais correto determinar o preço do pedido aberto usando a função OrderOpenPrice(), tendo-o selecionado previamente usando OrderSelect(...).
Ou, após seu fechamento, calcular a diferença entre o preço de abertura e fechamento. Este último é determinado pela função OrderClosePrice().
OrderType() devolverá seu tipo (compra/venda).
Ao xrust: Muito obrigado.
Somente não é claro como soletrar em condições comerciais que se o tipo de ordem fechada era OP_BUY, então blá blá (
Tenho-o assim:
Na condição que escrevi corretamente que se o tipo de ordem era OP_BUY então blá blá blá blá?
if(ORDtype=1)&&....
Eu escrevi corretamente na condição de que se o tipo de pedido fosse OP_BUY então blablabla?
Deveria ser:
if(ORDtype===1)&&....
Deveria ser:
if(ORDtype===1)&&....
fa se não houver histórico - no meu caso ORDtype ==0?
Se não há histórico - no meu caso ORDtype ==0?
Será igual ao valor especificado ao declarar a variável, ou seja, 0 no seu caso, porque nenhum valor foi explicitamente atribuído a ela. A propósito, eu não tinha notado em seu post anterior que você queria selecionar a ordem OP_BUY - esta constante é 0, enquanto 1 é OP_SELL. Portanto, é melhor declarar a variável ORDtype com valor -1:
int ORDtype=-1;
Para evitar confusão sobre qual valor corresponde a qual tipo de operação, você também pode especificá-lo em condição:
if (ORDtype==OP_BUY) ...
Ele será igual ao valor especificado quando a variável foi declarada, ou seja, no seu caso 0, já que não houve atribuição explícita de um valor a ela. A propósito, eu não notei em seu post anterior que você queria selecionar a ordem OP_BUY - esta constante é exatamente 0, enquanto 1 é OP_SELL. Portanto, é melhor declarar a variável ORDtype com valor -1:
int ORDtype=-1;
Para evitar confusão sobre qual valor corresponde a qual tipo de operação, você também pode especificá-lo em condição:
if (ORDtype==OP_BUY) ...
e se houvesse uma ordem de venda na história e então o Expert Advisor a fechasse (no tipo de história ela (seu fechamento) é exibida como t/p ou s/l - não será considerada como a última? não poderia alcançar o efeito desejado((