Desejos para MT5 - página 39

 
sergey1294:

Escrevi este código para apanhar esta situação, mas no testador ele recusa-se categoricamente a trabalhar, enquanto numa conta de demonstração funciona bem

Deixem-me desacreditar-vos. A sua função voltará sempre a ser verdadeira. Pode verificá-lo, configurá-lo como um guião e executá-lo agora mesmo (ao fim-de-semana) em qualquer instrumento, tornar-se-á verdadeiro.

Para que funcione como deseja, deve substituir TimeCurrent() por TimeTradeServer(). Depois funcionará também no testador.

Mas mesmo assim não resolve o problema de um mercado fechado, uma vez que também há férias. Por exemplo, a primeira semana termina às 22:00, a segunda semana às 23:00, enquanto as especificações mostram que a negociação termina às 24:00.

 
Valmars:

Deixem-me desacreditar-vos. A sua função voltará sempre a ser verdadeira. Pode verificar, fazer como um guião e executá-lo agora mesmo (no fim-de-semana) em qualquer instrumento, ele voltará a ser verdadeiro.

Para que funcione como deseja, deve substituir TimeCurrent() por TimeTradeServer(). Depois funcionará também no testador.

Mas mesmo assim não resolve o problema de um mercado fechado, uma vez que também há férias. Por exemplo, a primeira semana termina às 22:00, a segunda semana às 23:00, e a especificação contém o fim da negociação às 24:00.

Concordo consigo que o exemplo completamente dado não resolve o problema com o mercado fechado. Claro, quero ter uma propriedade padrão para o símbolo de um mercado fechado para facilitar a escrita de cheques nesta direcção. Espero que os criadores acrescentem esta funcionalidade.
 

Gostaria de poder gerir vários temporizadores num único Expert Advisor.

Para melhorar EventSetTimer( ) para que além da frequência haja um nome de temporizador, e OnTimer() tem um parâmetro de nome de temporizador.

Assim, seria possível chamar vários OnTimer().

 
Urain:

Gostaria de poder gerir vários temporizadores num único Expert Advisor.

Gostaria de melhorar EventSetTimer() para que além da frequência houvesse um nome de temporizador, e OnTimer() tivesse o nome de temporizador como parâmetro.

Assim, seria possível chamar vários OnTimer().


Isto é um disparate. Defina o temporizador para 1 segundo e depois de quaisquer intervalos que necessite do OnTimer, distribua os eventos personalizados usando a função EventChartCustom.

Документация по MQL5: Работа с событиями / EventChartCustom
Документация по MQL5: Работа с событиями / EventChartCustom
  • www.mql5.com
Работа с событиями / EventChartCustom - Документация по MQL5
 
stringo:

Isto é um disparate. Ajuste o temporizador para 1 segundo e, a partir do OnTimer, distribua eventos personalizados em qualquer intervalo que desejar, usando a função EventChartCustom

Hmmm, obrigado pela dica.
 
stringo:

Isto é um disparate. Definir o temporizador para 1 segundo e distribuir os eventos personalizados a partir do OnTimer em qualquer intervalo de tempo desejado usando a função EventChartCustom

Não, um OnTimer() será processado por um fio e vários fios por vários,

É possível enfiar nele quaisquer cálculos longos e paralelizá-los a isso.

 
Urain:

Não, um OnTimer() será tratado por um fio e vários fios,

É possível enfiar-lhe quaisquer cálculos longos e ainda assim paralelizá-los.

Não vai funcionar. O Conselheiro Especialista irá rodar num único e mesmo fio de selecção de eventos da fila. Ao contrário de Fours, onde cada vez que um fio era criado, um início era executado e depois o fio era morto.

Fazer cálculos paralelos entre diferentes EAs.

 

Por exemplo, há dois eventos independentes, um conta durante 10 segundos e o outro durante 15 segundos.

O que deve um evento esperar até que o outro seja contado?

Claro que se pode colocar tudo no indicador, mas o indicador não funciona com um temporizador,

Se fosse introduzido um indicador temporizado, a questão seria resolvida.

Tenho uma ideia que me permite escolher entre utilizar OnTick ou OnTimer num indicador.

 
Urain:

Poderia, claro, colocar tudo no indicador, mas o indicador não funciona com o temporizador,

Se pudesse fazer o indicador funcionar com um temporizador, isso resolveria o problema.

Basta fazê-lo. Experimente-o.
 
Urain:

Por exemplo, há dois eventos independentes, um conta durante 10 segundos e o outro durante 15 segundos.

O que quer que um evento espere que o outro conte?


Na verdade, a sincronização não foi cancelada. Faz-se o trabalho, envia-se a mensagem: "Shew, está feito".

Razão: