Zerar memória de lotes

 

Prezados,

Estou testando um EA que simplesmente compra quando uma média rápida cruza para cia uma média lenta, e vende (fechando as compras se houver) no cruzamento inverso.

Eu quis fazer com que a cada compra ou venda o lote fosse aumentado em 1 quantidade, daí inclui o InpLot++ conforme mostra o print em anexo e deu certo.

Mas quando excluo alguma ordem manualmente (no X, conta hedding) ou quando elas são excluídas por outro EA (por exemplo, um limitador de TakeProfit e/ou StopLoss), os lotes continuam voltando de onde pararam e não na quantidade mínima que eu desejo, quantidade esta colocada por mim internamente no código, double inplot = 2.0

Aliás nem removendo o EA do gráfico e recolocando-o, os lotes zeram (zerar quer dizer voltar a lote = 2)


Por que isso acontece e o que devo pôr no código para corrigir ?

Arquivos anexados:
SetaPreta.jpg  42 kb
 
sergiomt:

Prezados,

Estou testando um EA que simplesmente compra quando uma média rápida cruza para cia uma média lenta, e vende (fechando as compras se houver) no cruzamento inverso.

Eu quis fazer com que a cada compra ou venda o lote fosse aumentado em 1 quantidade, daí inclui o InpLot++ conforme mostra o print em anexo e deu certo.

Mas quando excluo alguma ordem manualmente (no X, conta hedding) ou quando elas são excluídas por outro EA (por exemplo, um limitador de TakeProfit e/ou StopLoss), os lotes continuam voltando de onde pararam e não na quantidade mínima que eu desejo, quantidade esta colocada por mim internamente no código, double inplot = 2.0

Aliás nem removendo o EA do gráfico e recolocando-o, os lotes zeram (zerar quer dizer voltar a lote = 2)


Por que isso acontece e o que devo pôr no código para corrigir ?

Bom dia Sérgio,

se eu entendi bem, você  tem um EA atuando sobre um ativo,  faz operações manuais sobre esse ativo e ainda tem outro EA que fecha as posições sobre esse ativo, certo?

Se for esse o desenho, você está num vespeiro! Haja código para tratar todas as situações que podem acontecer!!!

 
sergiomt:

Prezados,

Estou testando um EA que simplesmente compra quando uma média rápida cruza para cia uma média lenta, e vende (fechando as compras se houver) no cruzamento inverso.

Eu quis fazer com que a cada compra ou venda o lote fosse aumentado em 1 quantidade, daí inclui o InpLot++ conforme mostra o print em anexo e deu certo.

Mas quando excluo alguma ordem manualmente (no X, conta hedding) ou quando elas são excluídas por outro EA (por exemplo, um limitador de TakeProfit e/ou StopLoss), os lotes continuam voltando de onde pararam e não na quantidade mínima que eu desejo, quantidade esta colocada por mim internamente no código, double inplot = 2.0

Aliás nem removendo o EA do gráfico e recolocando-o, os lotes zeram (zerar quer dizer voltar a lote = 2)


Por que isso acontece e o que devo pôr no código para corrigir ?

Excluir ordens manualmente, ou exclui-las por outro EA, não fará com que a variável inplot seja reiniciada.

Remover o EA e recoloca-lo no gráfico deveria funcionar. Tem certeza de que está reiniciando o EA certo na janela certa? Talvez vc esteja outro EA ativo em outra janela gráfica.

 

Agradeço colegas

Quem estava atrapalhando era o outro EA, responsável por monitorar o Profit e o Loss geral.