Al post precedente, ottimizzazione del MACD Sample Expert Advisor standard
LL 0 Tester 10:30:03 log precedenti puliti LL 0 Tester 10:30:03 MetaTester 5 build 540 (11 Nov 2011) RI 0 Server 10:30:03 MetaTester 5 avviato su 127.0.0.1 IL 0 127.0.0.1 10:30:03 login (build 540) GD 0 Rete 10:30:03 1260 byte di informazioni sugli ingressi ottimizzati caricati HO 0 Rete 10:30:03 3256 byte di parametri di input caricati QK 0 Tester 10:30:03 file esperto aggiunto: Experts\Examples\MACD\MACD Sample.ex5. 36097 byte caricati IS 0 Tester 10:30:03 inizializzato con successo LJ 0 Rete 10:30:03 39 Kb di dati di inizializzazione totali ricevuti LM 0 Tester 10:30:03 Intel Core2 Duo E8400 @ 3.00GHz, 2047 MB DD 0 Tester 10:30:03 ottimizzazione passaggio 218680882202 avviato MP 2Simboli 10:30:03 nessun prezzo per il simbolo USDCHF OJ 2 Simboli 10:30:03 nessun prezzo per il simbolo USDCHF:30:03 nessun prezzo per il simbolo USDCHF IS 2 Symbols 10:30:03 nessun prezzo per il simbolo USDCHF KM 2 Symbols 10:30:03 nessun prezzo per il simbolo USDCHF EF 2 Simboli 10:30:03 nessun prezzo per il simbolo USDCHF GP 2 Simboli 10:30:03 nessun prezzo per il simbolo USDCHF GJ 0 Tester 10:30:05 218680882202 : superato entro 2434 ms MN 0 Tester 10:30:05 pass 396972489131 iniziato KK 2 Symbols 10: 0530:05 nessun prezzo per il simbolo USDCHF ID 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF ON 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF MH 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF CQ 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF QK 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF PD 0 Tester 10:30:08 396972489131 : passato entro 2309 ms QR 0 Tester 10:30:08 passaggio di ottimizzazione 1009545839445 iniziato NE 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF DO 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF JI 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF PR 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF FL 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF LE 2 Simboli 10:30:08 nessun prezzo per il simbolo USDCHF LL 0 Tester 10:30:10 1009545839445 : superato entro 2590 ms LD 0 Tester 10:30:10 pass 328139732768 iniziato KP 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF QJ 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF GS 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF MM 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF CF 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF IP 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF PJ 0 Tester 10:30:13 328139732768 : passato entro 2465 ms FN 0 Tester 10:30:13 ottimizzazione passaggio 415346893128 iniziato RK 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF DD 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF NN 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF PH 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF JQ 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF LK 2 Simboli 10:30:13 nessun prezzo per il simbolo USDCHF KD 0 Tester 10:30:15 415346893128 : superato entro 2278 ms PR 0 Tester 10:30:15 ottimizzazione passaggio 20121173742 iniziato NF 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF DO 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF RI 2 Symbols 10:30:15 nessun prezzo per il simbolo USDCHF HR 2 Symbols 10:30:15 nessun prezzo per il simbolo USDCHF FL 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF LF 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF FL 0 Tester 10:30:17 20121173742 : passato entro 2309 ms ND 0 Tester 10:30:17 nessun prezzo per il simbolo USDCHF 751721102576 iniziato JP 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF DJ 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF ND 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF HM 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF RG 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF LQ 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF FJ 0 Tester 10:30:20 751721102576 : passato entro 2480 ms RL 0 Tester 10:30:20 ottimizzazione pass 1037041429641 iniziato HK 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF RE 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF DN 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF NH 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF PR 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF JK 2 Simboli 10:30:20 nessun prezzo per il simbolo USDCHF EF 0 Tester 10:30:24 1037041429641 : superato entro 4508 ms QR 0 Tester 10:30:24 pass 1231731063044 iniziato LF 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF FO 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF PI 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF JR 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF DL 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF NF 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF IQ 0 Tester 10:30:26 cancella l'esecuzione expert DH 2 Tester 10:30:26 OnTick cancellato CD 3 Tester 10:30:26 fermato sull'82% dell'intervallo di prova ON 3 Tester 10:30:26 tester fermato fuori KF 0 Tester 10:30:26 agente di prova spento
Loky: Assolutamente no, finché non ci sono eventi ontick indipendenti per diverse coppie e c'è un legame con il grafico, non ha senso scrivere un EA multicurrency.
Se solo il TS sta facendo pips entro 2-3 spreads, non di più.
Loky: In nessun modo, finché non ci sono eventi ontick indipendenti per le diverse coppie e il binding al grafico - non ha senso scrivere un EA multicurrency
Quindi, gli eventi indipendenti, sia su tick di diverse coppie, sia su qualsiasi barra sono già stati implementati e gentilmente forniti da Konstantin Gruzdev (Lizar) - l'articolo. È una soluzione eccellente e funziona molto bene. Controllato)))
tol64: Quindi gli eventi indipendenti, sia su tick di diverse coppie, sia su qualsiasi barra è già stato implementato e gentilmente fornito da Konstantin Gruzdev (Lizar) - articolo. È una soluzione eccellente e funziona molto bene. Testato.)))
Abbiamo bisogno di una funzionalità completa, non solo per le zecche.
Ma il problema principale della multicurrency non è che il linguaggio stesso (il concetto stesso di MQL) non permette di organizzare l'elaborazione di più thread all'interno del programma.
Inoltre la "filosofia" di creare multicurrency è alla ricerca di qualche modello-concetto astratto.
A mio parere, alcune strategie di monocurrency possono essere paragonate a scolari che hanno completato l'istruzione primaria, e alcune a scolari che hanno finito la scuola e sono pronti per essere iscritti al college. Per quanto riguarda gli adulti, secondo me, continuando questa analogia, possiamo supporre che al momento si stanno preparando per andare a scuola e tutto è ancora davanti a loro.
Naturalmente, molto è già stato fatto nel campo dello sviluppo multicurrency, sia dagli sviluppatori che dagli appassionati come Konstantin. Direi addirittura che in questo momento abbiamo fatto un salto evolutivo da una cellula "non vivente" al livello degli organismi unicellulari. Ma è qui che inizia il percorso più lungo e interessante - il percorso di sviluppo degli organismi biolagici complessi.
tol64: Quindi, gli eventi indipendenti, come per i tick di diverse coppie, e per qualsiasi barra, sono già stati implementati, e gentilmente forniti da Konstantin Gruzdev (Lizar) - articolo. È una soluzione eccellente e funziona molto bene. Controllato)))
Niente di chiaro in questa implementazione. Interessante la corretta formulazione del problema nel post precedente.
"Il linguaggio stesso (il concetto stesso di MQL) non permette di organizzare l'elaborazione di più thread all'interno di un programma"
Una volta che la funzione OnChartEvent() viene avviata per l'esecuzione e mentre il codice per elaborare l'evento di arrivo di un nuovo tick di una delle coppie viene eseguito, tutte le altre coppie con i propri eventi onTick avranno un riposo!
Puoi essere specifico su cosa manca in questa implementazione?
1. un buon tentativo di risolvere uno dei problemi principali della creazione di una stampella multipla. Il risultato di questo tentativo non può più essere chiamato una stampella, ma piuttosto una protesi ad alta tecnologia. Nonostante tutti i suoi vantaggi, questa soluzione non elimina tutti i problemi.
Al momento, per implementare (per un'implementazione NORMALE) la multicurrency in Expert Advisors richiede
a) modifica parametrica del gestore OnTick - aggiunta di un parametro che descrive un simbolo su cui il tick è arrivato
b) Modifica parametrica del gestore OnTrade - ci sono molte opzioni per questo.
c) Organizzare il multi-threading non in un terminale specifico o in un grafico specifico, ma in un Expert Advisor specifico. Per multithreading intendo la situazione in cui in una specifica EA diversi gestori di eventi o diversi blocchi di codice possono essere eseguiti allo stesso tempo.
2. Il multithreading non è solo un problema dei montanti, ma per loro è uno degli scogli principali. Finché non sarà implementato, anche le ottime soluzioni "alternative" saranno solo stampelle.
PS
Per quanto riguarda gli eventi standard implementati in MQL5 - ho già scritto una volta che questo insieme di eventi è il minimo consentito, e gli sviluppatori dovrebbero pensare ad implementare eventi aggiuntivi (sotto forma di gestori specifici o utilizzando la libreria standard). Per esempio, l'apparizione di una nuova barra può essere implementata come un gestore standard OnNewBar (eventualmente con parametri - simbolo e periodo).
Al post precedente, ottimizzazione del MACD Sample Expert Advisor standard
LL 0 Tester 10:30:03 log precedenti puliti
LL 0 Tester 10:30:03 MetaTester 5 build 540 (11 Nov 2011)
RI 0 Server 10:30:03 MetaTester 5 avviato su 127.0.0.1
IL 0 127.0.0.1 10:30:03 login (build 540)
GD 0 Rete 10:30:03 1260 byte di informazioni sugli ingressi ottimizzati caricati
HO 0 Rete 10:30:03 3256 byte di parametri di input caricati
QK 0 Tester 10:30:03 file esperto aggiunto: Experts\Examples\MACD\MACD Sample.ex5. 36097 byte caricati
IS 0 Tester 10:30:03 inizializzato con successo
LJ 0 Rete 10:30:03 39 Kb di dati di inizializzazione totali ricevuti
LM 0 Tester 10:30:03 Intel Core2 Duo E8400 @ 3.00GHz, 2047 MB
DD 0 Tester 10:30:03 ottimizzazione passaggio 218680882202 avviato
MP 2Simboli 10:30:03 nessun prezzo per il simbolo USDCHF
OJ 2 Simboli 10:30:03 nessun prezzo per il simbolo USDCHF:30:03 nessun prezzo per il simbolo USDCHF
IS 2 Symbols 10:30:03 nessun prezzo per il simbolo USDCHF
KM 2 Symbols 10:30:03 nessun prezzo per il simbolo USDCHF
EF 2 Simboli 10:30:03 nessun prezzo per il simbolo USDCHF
GP 2 Simboli 10:30:03 nessun prezzo per il simbolo USDCHF
GJ 0 Tester 10:30:05 218680882202 : superato entro 2434 ms
MN 0 Tester 10:30:05 pass 396972489131 iniziato
KK 2 Symbols 10: 0530:05 nessun prezzo per il simbolo USDCHF
ID 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF
ON 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF
MH 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF
CQ 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF
QK 2 Symbols 10:30:05 nessun prezzo per il simbolo USDCHF
PD 0 Tester 10:30:08 396972489131 : passato entro 2309 ms
QR 0 Tester 10:30:08 passaggio di ottimizzazione 1009545839445 iniziato
NE 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF
DO 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF
JI 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF
PR 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF
FL 2 Symbols 10:30:08 nessun prezzo per il simbolo USDCHF
LE 2 Simboli 10:30:08 nessun prezzo per il simbolo USDCHF
LL 0 Tester 10:30:10 1009545839445 : superato entro 2590 ms
LD 0 Tester 10:30:10 pass 328139732768 iniziato
KP 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF
QJ 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF
GS 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF
MM 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF
CF 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF
IP 2 Symbols 10:30:10 nessun prezzo per il simbolo USDCHF
PJ 0 Tester 10:30:13 328139732768 : passato entro 2465 ms
FN 0 Tester 10:30:13 ottimizzazione passaggio 415346893128 iniziato
RK 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF
DD 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF
NN 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF
PH 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF
JQ 2 Symbols 10:30:13 nessun prezzo per il simbolo USDCHF
LK 2 Simboli 10:30:13 nessun prezzo per il simbolo USDCHF
KD 0 Tester 10:30:15 415346893128 : superato entro 2278 ms
PR 0 Tester 10:30:15 ottimizzazione passaggio 20121173742 iniziato
NF 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF
DO 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF
RI 2 Symbols 10:30:15 nessun prezzo per il simbolo USDCHF
HR 2 Symbols 10:30:15 nessun prezzo per il simbolo USDCHF
FL 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF
LF 2 Simboli 10:30:15 nessun prezzo per il simbolo USDCHF
FL 0 Tester 10:30:17 20121173742 : passato entro 2309 ms
ND 0 Tester 10:30:17 nessun prezzo per il simbolo USDCHF 751721102576 iniziato
JP 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF
DJ 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF
ND 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF
HM 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF
RG 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF
LQ 2 Symbols 10:30:17 nessun prezzo per il simbolo USDCHF
FJ 0 Tester 10:30:20 751721102576 : passato entro 2480 ms
RL 0 Tester 10:30:20 ottimizzazione pass 1037041429641 iniziato
HK 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF
RE 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF
DN 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF
NH 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF
PR 2 Symbols 10:30:20 nessun prezzo per il simbolo USDCHF
JK 2 Simboli 10:30:20 nessun prezzo per il simbolo USDCHF
EF 0 Tester 10:30:24 1037041429641 : superato entro 4508 ms
QR 0 Tester 10:30:24 pass 1231731063044 iniziato
LF 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF
FO 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF
PI 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF
JR 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF
DL 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF
NF 2 Symbols 10:30:24 nessun prezzo per il simbolo USDCHF
IQ 0 Tester 10:30:26 cancella l'esecuzione expert
DH 2 Tester 10:30:26 OnTick cancellato
CD 3 Tester 10:30:26 fermato sull'82% dell'intervallo di prova
ON 3 Tester 10:30:26 tester fermato fuori
KF 0 Tester 10:30:26 agente di prova spento
Ditemi come scrivere multicurrency, il mio multicurrency mostra risultati diversi a seconda di quale coppia metterlo nel tester.
Tale problema in onTick, e nella funzione onTimer, e hanno anche differenze
significa che testando solo 1 coppia ottengo un sacco di varianti, e non posso ottimizzare
Assolutamente no, finché non ci sono eventi ontick indipendenti per diverse coppie e c'è un legame con il grafico, non ha senso scrivere un EA multicurrency.
In nessun modo, finché non ci sono eventi ontick indipendenti per le diverse coppie e il binding al grafico - non ha senso scrivere un EA multicurrency
Quindi gli eventi indipendenti, sia su tick di diverse coppie, sia su qualsiasi barra è già stato implementato e gentilmente fornito da Konstantin Gruzdev (Lizar) - articolo. È una soluzione eccellente e funziona molto bene. Testato.)))
Abbiamo bisogno di una funzionalità completa, non solo per le zecche.
Ma il problema principale della multicurrency non è che il linguaggio stesso (il concetto stesso di MQL) non permette di organizzare l'elaborazione di più thread all'interno del programma.
Inoltre la "filosofia" di creare multicurrency è alla ricerca di qualche modello-concetto astratto.
A mio parere, alcune strategie di monocurrency possono essere paragonate a scolari che hanno completato l'istruzione primaria, e alcune a scolari che hanno finito la scuola e sono pronti per essere iscritti al college. Per quanto riguarda gli adulti, secondo me, continuando questa analogia, possiamo supporre che al momento si stanno preparando per andare a scuola e tutto è ancora davanti a loro.
Naturalmente, molto è già stato fatto nel campo dello sviluppo multicurrency, sia dagli sviluppatori che dagli appassionati come Konstantin. Direi addirittura che in questo momento abbiamo fatto un salto evolutivo da una cellula "non vivente" al livello degli organismi unicellulari. Ma è qui che inizia il percorso più lungo e interessante - il percorso di sviluppo degli organismi biolagici complessi.
Quindi, gli eventi indipendenti, come per i tick di diverse coppie, e per qualsiasi barra, sono già stati implementati, e gentilmente forniti da Konstantin Gruzdev (Lizar) - articolo. È una soluzione eccellente e funziona molto bene. Controllato)))
Niente di chiaro in questa implementazione. Interessante la corretta formulazione del problema nel post precedente.
"Il linguaggio stesso (il concetto stesso di MQL) non permette di organizzare l'elaborazione di più thread all'interno di un programma"
Una volta che la funzione OnChartEvent() viene avviata per l'esecuzione e mentre il codice per elaborare l'evento di arrivo di un nuovo tick di una delle coppie viene eseguito, tutte le altre coppie con i propri eventi onTick avranno un riposo!
Non manca nulla di specifico in questa implementazione.
Puoi essere specifico su cosa manca in questa implementazione?
Interessante ha formulato correttamente il problema in un post precedente.
L'implementazione del multithreading in MQL5 è una questione di tempo. Questo non è più un problema.
Lizar:
L'implementazione del multithreading in MQL5 è una questione di tempo. Non è più un problema.
Puoi essere specifico su cosa manca in questa implementazione?
1. un buon tentativo di risolvere uno dei problemi principali della creazione di una stampella multipla. Il risultato di questo tentativo non può più essere chiamato una stampella, ma piuttosto una protesi ad alta tecnologia. Nonostante tutti i suoi vantaggi, questa soluzione non elimina tutti i problemi.
Al momento, per implementare (per un'implementazione NORMALE) la multicurrency in Expert Advisors richiede
a) modifica parametrica del gestore OnTick - aggiunta di un parametro che descrive un simbolo su cui il tick è arrivato
b) Modifica parametrica del gestore OnTrade - ci sono molte opzioni per questo.
c) Organizzare il multi-threading non in un terminale specifico o in un grafico specifico, ma in un Expert Advisor specifico. Per multithreading intendo la situazione in cui in una specifica EA diversi gestori di eventi o diversi blocchi di codice possono essere eseguiti allo stesso tempo.
2. Il multithreading non è solo un problema dei montanti, ma per loro è uno degli scogli principali. Finché non sarà implementato, anche le ottime soluzioni "alternative" saranno solo stampelle.
PS
Per quanto riguarda gli eventi standard implementati in MQL5 - ho già scritto una volta che questo insieme di eventi è il minimo consentito, e gli sviluppatori dovrebbero pensare ad implementare eventi aggiuntivi (sotto forma di gestori specifici o utilizzando la libreria standard). Per esempio, l'apparizione di una nuova barra può essere implementata come un gestore standard OnNewBar (eventualmente con parametri - simbolo e periodo).