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

 
Dmitriy Voevodkin:

trabalhar com o histórico das transações via

OrdensHistóriaTotal()

OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)


Obrigado por sua resposta. Entendo que se uma ordem foi fechada, tem que ser selecionada da história (como a última ordem da história), mas não sei como definir esta condição (depois que a encontramos), se fechou em Take Profit, então... e se fechou em Stop Loss, então...?

 

Bom dia, eu tenho uma pergunta como esta.... Pensei por alguma razão que a função Init () na EA começa não apenas no momento da anexação ou compilação da EA, mas também durante a interrupção da conexão, ou mais precisamente após a reconexão. Você pode me dizer como iniciar a função init() após a conexão ser restaurada????

 
Por favor, informe sobre qual é a forma correta e onde colocar parênteses. O bool está especificado corretamente? Qual é sua diferença em relação ao bool externo? (ou algo parecido com isto)

"
Volumes de Bool

Se (Volume [1 ]> Volume [2]) f=verdadeiro; caso contrário f=falso ;
Se (f) negociar; caso contrário, não negociar
"
Arquivos anexados:
 
Tigerfreerun:
Por favor, informe-nos sobre a forma correta e onde colocar parênteses. O bool está especificado corretamente? Qual é sua diferença em relação ao bool externo? (ou algo parecido com isto)

"
Volumes de Bool

Se (Volume [1 ]> Volume [2]) f=verdadeiro; caso contrário f=falso ;
Se (f) negociar; caso contrário, não negociar
"

colocar o cursor sobre o volume e pressionar F1.

O volume é um operador.

A variável bool f;

Basicamente, você pode colocar o cursor sobre qualquer operador e pressionar F1 - tudo é descrito lá em detalhes.
 
Dmitriy Voevodkin:

coloque o cursor sobre o Volume e pressione F1.

O volume é um operador.

A variável bool é f;

Em princípio, você pode colocar o cursor sobre qualquer operador e pressionar F1 - tudo é descrito lá em detalhes.
A pergunta era sobre parênteses, onde colocar "{,}" não entendo este algoritmo de arranjo de parênteses. Escrevi tudo exatamente como você disse e 4 erros com a palavra "alcance global".
 
Mihail Marchukajtes:

Bom dia, eu tenho uma pergunta como esta.... Pensei por alguma razão que a função Init () na EA começa não apenas no momento da anexação ou compilação da EA, mas também durante a interrupção da conexão, ou mais precisamente após a reconexão. Por favor, informe como iniciar a função init() após a conexão ser restaurada????


Você não pode iniciar o Init, ele é iniciado automaticamente uma vez quando você inicia o indicador/especialista, como o DeInit.

Como alternativa, você pode fazer uma variável booleana estática e usá-la junto comIsConnected(). E quando a conexão é restaurada na chegada de um novo tick, ela deve ser lançada primeiro, alguma função de inicialização própria. MasIsConnected() não deve ser aplicado emOnCalculate(), mas em OnTimer().

 
Dmitriy Voevodkin:

coloque o cursor sobre o Volume e pressione F1.

O volume é um operador.

A variável bool é f;

Basicamente, você pode colocar o cursor sobre qualquer operador e pressionar F1 - tudo é descrito lá em detalhes.
Tela do erro
Arquivos anexados:
 
Tigerfreerun:
Tela do erro

Primeira vez que vi uma captura de tela como esta =)

Você não tem a possibilidade de fazer uma captura de tela com os meios internos do Windows?

 

Por código.

Fazer um simples retorno se o volume for baixo, ou seja, interromper a execução de mais código

if(Volume[0] < 1000) return;
 
Tigerfreerun:
Tela do erro

A sintaxe do MQL está quebrada. Neste caso, há um ponto-e-vírgula extra após o volume e o compilador também quer parênteses (), mas eu já escrevi que isto é lógico neste caso, e não código para o Expert Advisor.

Razão: