PostMessageA(Parent(), WM_COMMAND, 33042, 0); - pagina 7

 
xrust >>:

так и пользуйте Close[0] на здоровье, вот подобный индюк - прекрасно работает как втестере, так и в онлайне

I prezzi sono quasi risolti, ma cosa volete fare con TimeCurrent()? Ho bisogno di precisione in un minuto e non ce l'ho. E tutte le volte le funzioni non funzionano affatto.

A proposito, vedo che usi i prezzi Bid Ask nel tuo codice - non funzionano nel tester (o meglio, i prezzi correnti sì)... Non è chiaro come lavori con loro.

 

tutto funziona bene, il tempo nel tester emula perfettamente...

 
xrust >>:

все прекрасно пашет, время в тестере эмулируется отлично...

Funziona anche il codice dell'esempio?

Sì, mi è stato detto qui che non dovrebbe funzionare nemmeno nell'indicatore.

https://www.mql5.com/ru/forum/111497/page539

 

Se l'indicatore è chiamato da un Expert Advisor, può essere simulato. Se appendi semplicemente l'indicatore, allora può essere attraverso una variabile globale.

 
xrust >>:

Ну так скорми ему его через глобальную переменную, если индикатор вызывать из эксперта - то моделируется. если просто вешать индюк, тогда можно через глобалку

E poi c'è un problema di sincronizzazione all'interno del tick - non è sempre possibile garantire che l'indicatore legga i dati dopo che l'EA li scrive - di solito l'EA è solo più lento. Pertanto, abbiamo bisogno di mettere un ritardo nell'indicatore, ma dove ottenerlo - la brava gente lo ha proibito. Ho bisogno di usare il timer API in qualche modo, ma non ho questo codice.

 

Non capisco chi segue chi?
poi fai tutta l'elaborazione nel tuo EA, e passi i valori all'indicatore tramite variabili globali che visualizzerà sullo schermo e scriverà nel buffer...
Chi ha scritto sul file?

 
xrust >>:

Что то я не пойму кто у тебя за кем идет ?
тогда сделай всю обработку в советнике, а индикатору через глобальные переменые передавай значения которые он будет отображать на экране и писать в буфера...
Кто у тебя пишет в файл?

In elettronica, questo si chiama condizione di gara.

L'indicatore e l'Expert Advisor iniziano a calcolare nello stesso momento con l'arrivo del tick e contano in parallelo. L'Expert Advisor scrive nella variabile globale e l'indicatore la legge allo stesso tempo. Poiché questi processi non sono sincronizzati e sono paralleli, è impossibile sapere chi farà prima la lettura o la scrittura. La differenza di tempo è una frazione di secondo e dipende da molti fattori. Ma se l'indicatore leggerà per primo, leggerà i dati precedenti su questo tick. La soluzione in questa situazione è usare il ritardo nell'indicatore, in modo che non sia più avanti dell'Expert Advisor quando accede alla variabile globale.

Non c'è nessun file qui.

Ma fondamentalmente la soluzione è trovata - usare oggetti per disegnare linee e poi non c'è bisogno di indici e la loro presenza in MT4 diventa assolutamente superflua. Ma non parliamo di politica :))

L'unico peccato è che non è raccomandato da nessuna parte nella documentazione perché risolve tutti i problemi di trasferimento di codice da un indicatore e di test.

 
Quindi non riesci a ottenere un flusso solido di zecche?
 
Alderon >>:
То есть, сплошного тикового потока не получить?

L'unico modo per farlo in un indicatore è attraverso lo scambio temporale con una variabile globale. Ma è meglio non preoccuparsi affatto degli indici e fare tutto nell'Expert Advisor attraverso oggetti grafici. Sarà più veloce e più facile. La documentazione a volte dice che gli indici sono convenienti per l'analisi, ma in pratica non lo sono.

Qui c'è un grande articolo su questo https://www.mql5.com/ru/articles/1503/page2

 
Zhunko >>:

Что угодно можно сделать трендовыми линиями.

E come fa l'Expert Advisor a disegnare linee di tendenza in una sottofinestra? - L'Expert Advisor non può aprire da solo delle sottofinestre.

È necessario agganciare un indicatore vuoto da far penzolare a lato?

Motivazione: