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
Recomendo evitar esse design
pois o processamento do tique anterior pode levar tempo suficiente para perder a chegada do primeiro tique da nova barra.
respectivamente, é possível perder a abertura.
É melhor vincular-se à hora de abertura da barra, mas para isso você precisa salvar a hora anterior da barra zero, por exemplo, para compará-la com a hora atual da barra zero.
Se for o mesmo, não há nova barra
Se for diferente, pelo menos uma nova (próxima) barra é aberta, após a qual inicializamos a hora armazenada da barra zero com a hora atual da barra zero.
Essa construção é mais confiável.
Trate desse assunto em um artigo futuro:
Até onde sei, o MT5 suporta apenas *1* (uma) ordem s/l e t/p do lado do servidor *por instrumento* (não por operação) e nenhuma ordem OCO (as ordens OCO podem ser usadas para simular ordens s/l e t/p por operação, mas também há uma condição de corrida). A menos que as questões acima sejam resolvidas, eu não comprometeria mais do que US$ 100,00 em negociações via MT5 (EAs simplistas do tipo MA cross de ordem única, período único e direção única). E nem mesmo tenho certeza sobre os US$ 100.
Recomendo evitar esse design
pois o processamento do tique anterior pode levar tempo suficiente para perder a chegada do primeiro tique da nova barra.
respectivamente, é possível perder a abertura.
É melhor vincular-se à hora de abertura da barra, mas para isso você precisa salvar a hora anterior da barra zero, por exemplo, para compará-la com a hora atual da barra zero.
Se for o mesmo, não há nova barra
Se for diferente, pelo menos uma nova (próxima) barra é aberta, após a qual inicializamos a hora armazenada da barra zero com a hora atual da barra zero.
Esse design é mais confiável.
Eu o fiz dessa forma:
Compila, mas o depurador falha.
Falha no carregamento de C:\Program Files\MetaTrader 5\MQL5\Experts\Examples\eMyEA.ex5
Novo artigo O protótipo do robô comercial é publicado:
Autor: Алексей Сергеев
Obrigado pelo excelente artigo! Sou novato, mas tenho uma dúvida sobre o código.
Na função void CExpertAdvisor::TrailingPosition(long dir,int TS), há uma linha:
sl=NormalSL(dir,apr,apr,TS,StopLvl); // calcular Stop Loss
Devemos usar apr tanto para o segundo quanto para o terceiro argumento ao chamar NormalSL? Achei que deveria ser assim:
sl=NormalSL(dir,op,apr,TS,StopLvl);
já que o segundo argumento deve ser o preço de compra/venda para a direção "especificada" (ou seja, a variável op) em vez da direção "inversa" (ou seja, a variável apr).
Obrigado!
Na função void CExpertAdvisor::TrailingPosition(long dir,int TS), há uma linha:sl=NormalSL(dir,apr,apr,TS,StopLvl); // calcular Stop Loss
Devemos usar apr tanto para o segundo quanto para o terceiro argumento ao chamar NormalSL? Achei que deveria ser assim:
sl=NormalSL(dir,op,apr,TS,StopLvl);
Não.
o segundo e o terceiro argumentos devem ser apr.
porque o cálculo do tral é derivado do preço no qual a posição será fechada. A função Bid para a compra e Ask para a venda está correta.
já que o segundo argumento deve ser o preço de compra/venda para a direção "especificada" (ou seja, a variável op) em vez da direção "inversa" (ou seja, a variável apr).
não.
o segundo e o terceiro argumento devem ser apr.
porque o cálculo do tral é derivado do preço no qual a posição será fechada. A função Bid para compra e Ask para venda está correta.
O preço de venda deve ser calculado a partir da direção "inversa". Nesse caso, apr.Obrigado pela resposta rápida! Achei que devia estar errado.
Posso também perguntar na função
por que temos um "10" entre "dist" e "m_smbinf.TickValue()" no valor de retorno? Acho que "dist" é o stop loss (em termos de pips) e "m_smbinf.TickValue()" é o valor em dólares americanos por pip e por lote para o par de moedas. Portanto, não tenho certeza de por que multiplicamos outro "10" entre eles.
Obrigado!
Artigo muito útil. Muito obrigado!