Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 997

 

Em que caso o limite de parada deve ser pego?

Isto é, por exemplo:

1. uma ordem está aberta, pare e leve.

SL = FALSO

TP = FALSO

2. Acionadores de limite de parada

mudar a variável

SL = VERDADEIRO

 
Iurii Tokman:

Obrigado. Como posso mudar a cor do nome EA na tabela?

 
yiduwi:

Obrigado. Como posso mudar a cor do nome EA na tabela?

imprimir o nome na parte superior, na mesma fonte, mas em uma cor diferente

 

Boa tarde,


Alguém já se deparou com isso?


1. Converti um EA de mql4 para mql5. Eu não escrevi minha EA sem o OOP. A compilação está indo bem, sem erros ou avisos. Há apenas cerca de 3000 linhas de código com muitas matrizes, uma vez que não utilizou o OOP.

2. Estou executando o testador MT5 e algumas partes do código não permitem de forma alguma (objetos gráficos não aparecem). Algumas partes em código não funcionam corretamente. Por exemplo, este segundo ziguezague na primeira foto (dois zigzags com profundidade diferente):

o zig-zag não está funcionando corretamente




3. Coloco uma impressão onde as linhas do ziguezague são desenhadas:

imprimir



4. e agora o zig-zag começa a funcionar corretamente. A seta vermelha para baixo, que também deveria estar na primeira foto, aparece aqui.

à direita

E as impressões estão corretas:

gravuras






Aqui está apenas um exemplo. Há também fragmentos de código que são ligados após a compilação e depois não funcionam após a compilação.



O código inteiro deve ser convertido em OOP ?

 
Tj1:

Boa tarde,

Alguém já se deparou com isso?

1. Converti um EA de mql4 para mql5. Eu não escrevi minha EA sem o OOP. A compilação está indo bem, sem erros ou avisos. Há apenas cerca de 3000 linhas de código com muitas matrizes, uma vez que não utilizou o OOP.

2. Estou executando-o no testador MT5 e algumas partes do código não funcionam em absoluto (objetos gráficos não aparecem), algumas partes do código não funcionam corretamente. Por exemplo, este segundo ziguezague na primeira foto (dois zigzags com profundidade diferente):

3. Coloco uma impressão onde as linhas do zig-zag são desenhadas:

4. e agora o zig-zag começa a funcionar corretamente:

E as impressões vão para a direita:

Este é apenas um exemplo. Há alguns fragmentos de código que são ativados após a compilação e alguns que não funcionam após a compilação.

Todo o código precisa ser convertido para OOP?

Não.

Em drawLine() no final, antes do parêntese de fechamento, escreva ChartRedraw();

 
Artyom Trishkin:

Não.

Em drawLine(), escreva ChartRedraw() no final mesmo antes do parêntese de fechamento;


Peço desculpas por escrever no lugar errado.


Coloquei-o dentro:

redrau




Agora, o desenho é diferente, ainda está errado:


hz

 
Artyom Trishkin:

Não.

Em drawLine(), escreva ChartRedraw() no final mesmo antes do colchete de fechamento;


Obrigado pela resposta rápida, eu não esperava isso.

 
Artyom Trishkin:

Não.

Em drawLine(), escreva ChartRedraw() no final mesmo antes do parêntese de fechamento;


Você deveria ter usadoChartRedraw(0);

É isso aí, funciona. Muito obrigado !!!!

 
Artyom Trishkin:

Não.

Em drawLine() no final, antes do parêntese de fechamento, escreva ChartRedraw();



O resultado final é que isso não funciona.

Uma vez compilados, a lógica funciona corretamente e os objetos gráficos são desenhados corretamente. A segunda vez que você compila a lógica não funciona.

 
Em linha o indicador funciona bem, mas no testador (mt4) ele não é exibido corretamente... Durante a inicialização no testador começa bem, mas depois não funciona como deveria. Qual é a razão?
Razão: