Ajuda na codificação - página 486

 
xtractalpha:
Obrigado por sua resposta rápida!

Eu apaguei as linhas, mas a EA ainda está abrindo negócios com os lotes errados.

É realmente estranho porque a EA está ignorando meu código Martingale. Porque a EA só está abrindo negócios com lotes de 0,10 ou 0,20.... (veja a foto).

Tela tirada por Lightshot

Acho que minha função lotizecalc tem que ser o problema. Quero que a função multiplique minha loteria pela quantidade de martingale quando eu perder uma troca.

Minha quantidade de martingaleamount é 1,5 e meu tamanho de lote é 0,10 . Isto significa que quando eu perder 5 trocas consecutivas, os lotes serão: 0,1 , 0,15 , 0,22 , 0,34 , 0,51 .

double LotsizeCalc() { if(lastOrderProfit()<0 && tradeNumber <=MaximumTrades) { tradeNumber++; malot=OrderLots()*MartingaleAmount; } else { malot = LotSize; tradeNumber=1; } return(malot); }

Alguém poderia verificar este código?

Agradecemos antecipadamente,

Thierry

Alterar também a linha 121 para ser : tradeNumber=0;

Isto é o que eu tenho como resultado nesse caso :

Como você pode ver, quando essas mudanças são feitas, parece estar tudo bem.

Vai verificar mais alguns, mas não hoje

Arquivos anexados:
res.gif  35 kb
 

Olá cara, o especialista em anexo compila, mas tem 14 avisos, você poderia fazer sua mágica mais uma vez?

Cuide-se.

Arquivos anexados:
 

ajudar a melhorar este indicador

Alguém pode corrigir este indicador para trabalhar na última versão do MetaTrader ...obrigado

Arquivos anexados:
 
Jeeves:
Oi cara, o especialista em anexo compila, mas tem 14 avisos, você poderia fazer sua mágica mais uma vez? Cuide-se

Jeeves

Aqui está: manualordermanager_v7_nmc.mq4

Arquivos anexados:
 
privasi:
ajudar a melhorar este indicadorPode alguém fixar este indicador para trabalhar na última versão do MetaTrader ...obrigado

privasi

A nova versão compatível com mt4 da macd foi postada aqui : https://www.mql5.com/en/forum/183798/page121

 
privasi:
ajudar a melhorar este indicadorPode alguém fixar este indicador para trabalhar na última versão do MetaTrader ...obrigado

Apenas alguma ajuda do meu lado também

O gerente comercial polivalente tem apenas avisos de compilação. Ele deve funcionar

 
mladen:
Alterar também a linha 121 para ser : tradeNumber=0;

Isto é o que obtive como resultado nesse caso:

Como você pode ver, quando essas mudanças são feitas, parece estar tudo bem.

Vai verificar mais alguns, mas não hoje

OBRIGADO por sua resposta.... É inacreditável que pessoas incríveis como você estejam neste fórum!

De qualquer forma.... Eu editei a linha, como você sugeriu. Por alguma razão, minha EA não multiplicará os lotes pela segunda vez. (veja isto: Screenshot by Lightshot )

Se eu usar 0,10 como lote inicial e 2 como multiplicador. O EA não multiplicará os lotes pela segunda vez. Mas no seu está funcionando corretamente, o que poderia ser... Eu tentei com a plataforma Citibanks MT4 e com o FXCM MT4, mas ambos não funcionam.

Alguém sabe qual poderia ser o problema?

Obrigado,

Thierry

test_martingale.mq4

Arquivos anexados:
 
mladen:
JeevesAqui está : manualordermanager_v7_nmc.mq4

Muito obrigado....outro que eu lhe devo!

 
xtractalpha:
OBRIGADO por sua resposta.... É inacreditável que pessoas incríveis como você estejam neste fórum!

De qualquer forma.... Eu editei a linha, como você sugeriu. Por alguma razão, minha EA não multiplicará os lotes pela segunda vez.

Se eu usar 0,10 como lote inicial e 2 como multiplicador. O EA não multiplicará os lotes pela segunda vez. Mas no seu está funcionando corretamente, o que poderia ser... Eu tentei com a plataforma Citibanks MT4 e com o FXCM MT4, mas ambos não funcionam.

Alguém sabe qual poderia ser o problema?

Obrigado,

Thierry

test_martingale.mq4

você tem que selecionar e devolver os lotes da função de seleção de histórico ( lastOrderProfit() ) também, da mesma forma que você faz com "lastProfit".

ProFXManager

 
xtractalpha:
OBRIGADO por sua resposta.... É inacreditável que pessoas incríveis como você estejam neste fórum!

De qualquer forma.... Eu editei a linha, como você sugeriu. Por alguma razão, minha EA não multiplicará os lotes pela segunda vez. (veja isto: Screenshot by Lightshot )

Se eu usar 0,10 como lote inicial e 2 como multiplicador. O EA não multiplicará os lotes pela segunda vez. Mas no seu está funcionando corretamente, o que poderia ser... Eu tentei com a plataforma Citibanks MT4 e com o FXCM MT4, mas ambos não funcionam.

Alguém sabe qual poderia ser o problema?

Obrigado,

Thierry

test_martingale.mq4

Você terá que fazer a maneira como você determina os últimos pedidos de forma diferente

_________________

O problema é o seguinte: quando você chama a função LotsizeCalc() e a nova ordem é aberta, então não há problema. Mas se por alguma razão a ordem não for aberta, seu "tradeNumber" permanece aumentado, mesmo que a ordem não tenha sido aberta.

É melhor simplesmente contar o número de ordens atualmente abertas de determinado tipo e usar esse número em vez do "tradeNumber" (dessa forma, mesmo nos casos em que você reiniciar a EA, a EA funcionará corretamente - se você usar algum valor variável, ela funcionará mal se você reiniciar a EA).