Auguri per MT5 - pagina 39

 
sergey1294:

Ho scritto questo codice per catturare questa situazione, ma nel tester si rifiuta categoricamente di funzionare, mentre su un conto demo funziona bene

Permettetemi di non credervi. La vostra funzione restituirà sempre true. Potete controllarlo, formarlo come uno script ed eseguirlo in questo momento (nel fine settimana) su qualsiasi strumento, otterrete vero.

Per farlo funzionare come volete, dovreste sostituire TimeCurrent() con TimeTradeServer(). Allora funzionerà anche nel tester.

Ma ancora non risolve il problema di un mercato chiuso, dato che ci sono anche le vacanze. Per esempio, la prima settimana finisce alle 22:00, la seconda alle 23:00, e la specifica contiene la fine delle contrattazioni alle 24:00.

 
Valmars:

Permettetemi di non credervi. La vostra funzione restituirà sempre true. Puoi controllarlo, crearlo come script ed eseguirlo in questo momento (nel fine settimana) su qualsiasi strumento, restituirà vero.

Per farlo funzionare come volete, dovreste sostituire TimeCurrent() con TimeTradeServer(). Allora funzionerà anche nel tester.

Ma ancora non risolve il problema di un mercato chiuso, dato che ci sono anche le vacanze. Per esempio, la prima settimana finisce alle 22:00, la seconda alle 23:00, e la specifica contiene la fine delle contrattazioni alle 24:00.

Sono d'accordo con te che l'esempio completamente dato non risolve il problema del mercato chiuso. Naturalmente, voglio avere una proprietà standard per il simbolo di un mercato chiuso per facilitare la scrittura di assegni in questa direzione. Spero che gli sviluppatori aggiungano questa caratteristica.
 

Vorrei essere in grado di eseguire diversi timer in un Expert Advisor.

Migliorare EventSetTimer() in modo che oltre alla frequenza ci sia il nome del timer, e OnTimer() abbia un parametro per il nome del timer.

Così sarebbe possibile chiamare diversi OnTimer().

 
Urain:

Vorrei essere in grado di eseguire diversi timer in un Expert Advisor.

Migliorare EventSetTimer() in modo che oltre alla frequenza ci sia il nome del timer, e OnTimer() abbia un parametro per il nome del timer.

Così sarebbe possibile chiamare diversi OnTimer().


Questa è una sciocchezza. Impostate il timer per 1 secondo e dopo qualsiasi intervallo necessario dall'OnTimer distribuite gli eventi personalizzati usando la funzione EventChartCustom.

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

Questa è una sciocchezza. Impostare il timer a 1 secondo e dall'OnTimer distribuire eventi personalizzati a qualsiasi intervallo di tempo desiderato usando la funzione EventChartCustom

Hmmm, grazie per il suggerimento.
 
stringo:

Questa è una sciocchezza. Impostare il timer a 1 secondo e distribuire gli eventi personalizzati da OnTimer a qualsiasi intervallo di tempo desiderato usando la funzione EventChartCustom

No, un OnTimer() sarà elaborato da un thread e diversi thread da diversi,

Ci si può stipare qualsiasi calcolo lungo e metterlo in parallelo.

 
Urain:

No, un OnTimer() sarà gestito da un thread e diversi thread,

Si può stipare qualsiasi calcolo lungo in esso e ancora parallelizzarlo.

Non funzionerà. L'Expert Advisor ruoterà in uno stesso thread raccogliendo eventi dalla coda. A differenza di Fours dove ogni volta che veniva creato un thread, veniva eseguito un avvio e poi il thread veniva ucciso.

Parallelizzare i calcoli tra diversi EA.

 

Per esempio, ci sono due eventi indipendenti, uno conta per 10 secondi e l'altro per 15 secondi.

Cosa deve aspettare un evento per contare l'altro?

Naturalmente, si potrebbe mettere tutto in un indicatore, ma l'indicatore non funziona con un timer,

Se si introducesse un indicatore guidato da un timer, la questione sarebbe risolta.

Ho un'idea che permette di scegliere se usare OnTick o OnTimer in un indicatore.

 
Urain:

Si potrebbe, naturalmente, mettere tutto nell'indicatore, ma l'indicatore non funziona con il timer,

Se si potesse far funzionare l'indicatore con un timer, si risolverebbe il problema.

Fallo e basta. Provate.
 
Urain:

Per esempio, ci sono due eventi indipendenti, uno conta per 10 secondi e l'altro per 15 secondi.

Cosa vuoi che un evento aspetti l'altro per contare?


In realtà, la sincronizzazione non è stata annullata. Se fai il lavoro, mandi il messaggio: "Shew, è fatta".