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
Antes de mais nada, obrigado pelo feed. Estou analisando se há posições abertas e em seguida entrando no método BE.
Mas como posso alterar o sl para o nível de abertura da posição? tentei fazer isso, mas sem sucesso :/
Vc leu o que escrevi em azul?
Infelizmente ainda não consegui. Se alguém tiver os métodos de BreakEven e TrailingStop, ficarei muito grato. :)
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Inserção de trailing stop em ordem ativa
Joscelino Celso de Oliveira, 2019.04.13 01:10
Seguem artigos e classes que abordam o tema.
Leia-os e programe de forma adequada a seu EA.
Classes:
https://www.mql5.com/pt/docs/standardlibrary/expertclasses/sampletrailingclasses/ctrailingfixedpips
https://www.mql5.com/pt/docs/standardlibrary/expertclasses/expertbaseclasses/cexperttrailing
Artigos:
https://www.mql5.com/pt/articles/442
https://www.mql5.com/pt/articles/171
https://www.mql5.com/pt/articles/134
https://www.mql5.com/pt/articles/2717
https://www.mql5.com/pt/articles/2411
Li sim. Mas o código em si está correto, certo? Ou seja, o erro está em enviar o mesmo valor de sl e tp, certo?
Isso. O erro é inofensivo, não vai prejudicar a sua estratégia, mas vai ficar congestionando a rede enviando um monte de ordens rejeitadas pelo servidor. Convém testar com um "if" se o valor do open-price já estiver igual e não enviar a ordem de modificação nesse caso.
Não entendi o que você ainda "não conseguiu". Se o SL e o TP já estão nos valores que vc deseja, o que está errado?
Isso. O erro é inofensivo, não vai prejudicar a sua estratégia, mas vai ficar congestionando a rede enviando um monte de ordens rejeitadas pelo servidor. Convém testar com um "if" se o valor do open-price já estiver igual e não enviar a ordem de modificação nesse caso.
Não entendi o que você ainda "não conseguiu". Se o SL e o TP já estão nos valores que vc deseja, o que está errado?
Isso. O erro é inofensivo, não vai prejudicar a sua estratégia, mas vai ficar congestionando a rede enviando um monte de ordens rejeitadas pelo servidor. Convém testar com um "if" se o valor do open-price já estiver igual e não enviar a ordem de modificação nesse caso.
Não entendi o que você ainda "não conseguiu". Se o SL e o TP já estão nos valores que vc deseja, o que está errado?
Na verdade a ordem não recebe a alteração. Os níveis de stop e take permanecem como os iniciais.
Consegui resolver! Na verdade percebi que o spread no mt5 é fixo e o código estava mandando o stop para dentro do spread. Eis aí uma nova questão! Não tem como alterar o valor do spread no mt5? Na minha opinião o spread do WDO não é 500 pontos no diário.
Consegui resolver! Na verdade percebi que o spread no mt5 é fixo e o código estava mandando o stop para dentro do spread. Eis aí uma nova questão! Não tem como alterar o valor do spread no mt5? Na minha opinião o spread do WDO não é 500 pontos no diário.
Tem algo muito errado aí!
O spread do WDO não é fixo e jamais seria de 500 pontos.
Ele fica na maior parte do tempo em 0.5 e pode aumentar ocasionalmente em múltiplos de 0.5 (1.0, 1.5, 2.0 etc...).
Geralmente ele só fica acima de 1.0 transitoriamente, por frações de segundo.
O problema real que eu vi na imagem do seu log é que vc estava enviando ordem de modificação de SL/TP com os mesmos valores de SL/TP que já estava configurados antes. Essa era a razão do erro.
Se vc está observando um spread de 500 pontos, certamente é porque vc está cometendo algum erro de multiplicação ou divisão por 1000 nos seus cálculos.
E isso talvez explique o que estava acontecendo, pois se por alguma razão o seu código estiver calculando os novos valores do SL e do TP 1000 vezes menores que os corretos, após o arredondamento esses valores ficarão iguais aos valores que já estavam antes, gerando aquele erro que aparece na imagem do seu log.
Mais ainda: nesse caso o comando de modificação só vai funcionar quando vc posicionar o SL e o TP com distância acima de 500, que parece ser o que vc está observando, o que reforça a hipótese acima de vc estar cometendo um erro de multiplicação/divisão por 1000 nos seus cálculos.
Verifique seu código com cuidado e veja se não é isso.
Ok esterei vendo sim, mas o que eu fiz foi somente dar um check nas propriedades do gráfico de BT e a linha Ask aparece com essa diferença de 500 pontos. Então não é o código que gera essa linha de preço, mas sim o MT5. Alguém pode conferir pra mim? Noix...