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 em tempo real.
Obrigado pela informação. Eu não sabia que o "OrderClosePrice()" estava em buffer. Portanto, acho que nem "OrderClosePrice()" nem o "Ask"/"Bid" é a solução ideal em tempo real.
Entretanto, você concorda que "OrderClosePrice()" é uma solução geral melhor do que o uso de "Ask"/"Bid" após o "OrderSelect()" ter sido feito?
E para uma solução em tempo real, se ela for realmente necessária, então eu acho que podemos voltar atrás nas alternativas:
Por que você está tentando inventar a roda novamente?
Olhe aqui - você encontrará tudo o que precisa.
Se não começar a alterar seu código fonte.
Obrigado pela ajuda de todos até agora. Acho que já resolvi a questão do erro 130, mas há algo seriamente errado com minha função OrderSelect, que provavelmente é o motivo pelo qual às vezes só modifica algumas das ordens. Abaixo está uma lista de coisas que eu imprimi. O número do OrderTicket # está completamente errado. Esse número de bilhete pertence a uma negociação que abri para o EURAUD. Embora eu não tenha incluído todos os resultados, existem na verdade múltiplos pares onde os números do OrderTicket não correspondem com o par no terminal de negociação.
Alguém pode, por favor, dar uma olhada e me dizer o que há de errado com OrderSelect? Obrigado.
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: ticket = 0 Acho que o ticket deve imprimir o mesmo valor que o OrderTotal, então parece que meu contador não funciona.
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: OrderSelect = verdadeiro
2016.04.18 16:04:38.602 Trailing_v19 EURUSD,M15: EncomendasTotal = 11
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: Selectbypos = 0
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: Selectbyticket = 1
2016.04.18 16:04:38.202 Trailing_v19 EURUSD,M15: OrderTicket = 50213357
Olá a todos. Obrigado por toda a ajuda. Encontrei o erro e as questões foram resolvidas. Como não uso um Stoploss, o valor do OrderStopLoss() é sempre 0. Isto não é um problema ao modificar o pedido de compra porque 0 é sempre menor que Bid-TrailingStop*Pip. Mas com o pedido de venda 0 nunca pode ser maior que Ask+Trailingstop*Pip. Então eu tive que adicionar o or(|| OrderStopLoss()) a esta linha:
Sim, há definitivamente um problema com OrderSelect porque ele só funciona em alguns gráficos. O outro problema é que eu não posso incluir um MagicNumber porque as trocas são colocadas manualmente. Usei a parte do código que eu acho relevante, mas não consigo compilá-lo. Ele mostra este erro:
MySelect' - função que só pode ser declarada no âmbito global Trailing_v26.mq4 31 13
e a linha 31 é esta aqui:
Aqui está a EA inteira:
Sim, há definitivamente um problema com OrderSelect porque ele só funciona em alguns gráficos. O outro problema é que eu não posso incluir um MagicNumber porque os ofícios são colocados manualmente. Eu usei a parte do código que eu acho que é relevante, mas não consigo compilá-lo.
Eu dei a você um código de esqueleto perfeitamente bom sobre o qual construir, que corrige seus problemas e até mesmo os listava antes disso, mas você escolhe ignorá-lo e continua a se perguntar por que seu código não está fazendo o que você quer!
Por quê? Você quer que seu código não funcione? Use o exemplo e teste-o você mesmo!