![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Oh desculpe - eu não estou mais recebendo nenhum erro, o que é que nunca. Estou recebendo apenas ordens de compra em andamento e nenhuma ordem de venda...
É em relação à minha linha anterior com relação aos cross overs de MA - eu ainda não entendi! Mas não quero dar corda a ninguém e bater em um cavalo morto enquanto as pessoas me dão a resposta (embora eu não entenda a resposta rs)! Abraço o RaptorUK por sua ajuda!
Não posso falar por mais ninguém, não vou ser enrolado...![](https://c.mql5.com/mql4/forum/2013/07/bigsmile.gif)
Se você não está recebendo nenhum erro e nenhum pedido de venda feito, então OpenOrdersThisPair(Symbol()) não é igual a 0 , de que tipo é essa função ? é uma int ou uma dupla ? ou talvez uma bool ?
Eu acho que é porque as ordens não estão simplesmente sendo colocadas no local onde a cruz das médias móveis acontece, mas em um ponto diferente.
Eu sei que este é o problema! Sei que já perguntei antes sobre um tópico diferente, mas eu realmente apreciaria a resposta a esta pergunta (e sim, sei que o código é descuidado, apenas passei muito tempo cortando, compilando e executando estratégias para ver em primeira mão como eles estão se comunicando uns com os outros. Sem mencionar a forma desnecessária como o escrevi também... mas ignorando isso...)
P.1) No que diz respeito à linha de "tempo duplo de gatilho" e a > do que a seção.... Tudo o que quero entender é como digo a esta função para descobrir quando todas as médias móveis são maiores do que a média móvel anterior comparada, e depois esquecer de garantir que elas permaneçam na ordem correta... em vez disso, a partir desse ponto tudo o que preciso ter certeza é que o PREÇO FECHADO permaneça acima da "i12" (60 EMA) - se assim for, então pode seguir adiante com as outras declarações IF e lançar uma ordem longa via "OrderEntry(0)" - se não for, então precisa então olhar para a linha longa (i1>i2 && i2>i3...) e esperar que isso seja verdade novamente antes de considerar as próximas linhas...
Eu sei que a resposta está me encarando, só está se tornando um pouco frustrante e realmente apreciaria este nugget.... Obrigado!
Eu quero saber onde todos os MA's estão fantasiados, mas eles NÃO precisam ser verdadeiros TODO o tempo... Eu só quero que isso seja verdade antes de qualquer outra coisa... Com base nisso é verdade, tudo o que precisa acontecer a partir deste preço é que NENHUMA barra feche abaixo dos 60 EMA (por um longo período) para permanecer válida para qualquer posição longa ser empurrada para fora...
Estou usando o TriggerBarTime para encontrar o ponto mais alto de onde todas as médias móveis se empilharam na ordem certa e a barra que então procede ao tocar o 21 EMA...
Portanto, embora você tenha corrigido o traço para mim, isso praticamente faz o que eu tinha escrito antes (a menos que esteja faltando algo...) Prova que eu não o expliquei corretamente.
(ah sim - eu sei que deveria ser bool que foi um erro - eu estava simplesmente brincando e esqueci de trocá-los de volta).
double TriggerBarTime = (i1>i2 ..
é verdadeiro ou falso 0 ou 1 nada mais O terceiro argumento para iBarShift deve ser uma data/hora. iBarShift(0) ou (1) SEMPRE será Bars-1.datetime TriggerBarTime;
Tenho isto na seção global...Eu não entendo seu post anterior? ^
É possível sugerir como eu escrevo a linha If relativa ao meu posto acima do seu?