Domande per principianti in MQL5. I professionisti non passano.

 

Ho deciso di creare un argomento simile a quello esistente sul forum 4, c'è una traccia popolare). Se si ripete, uccidetelo senza rimpianti.

Naturalmente il tema non è solo per divertimento. Ho lottato volontariamente per entrare in MQL5 e alcune domande sono apparse subito:

1) l'ambito delle strutture è lo stesso di quello delle variabili semplici?

2) StrutturaMqlRates. Voglio trovare gli ultimi 10 estremi e quindi non so di quanti dati di prezzo avrò bisogno. Devo copiare tutti i dati disponibili? Non consuma risorse?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 
Figar0:

1) L'ambito delle strutture è lo stesso delle sole variabili?

Le strutture sono uno dei tipi di dati (tipi di dati compositi). Quindi è meglio parlare di variabili di tipo struttura. Le regole sull'ambito si applicano ugualmente alle variabili di tipo semplice e di tipo struttura. Finora non ho visto alcuna eccezione.

Figar0:

2) StrutturaMqlRates. Voglio trovare gli ultimi 10 estremi e quindi non so di quanti dati di prezzo avrò bisogno. Devo copiare tutti i dati disponibili? Non consuma risorse?

:) Tutto dipende dal livello di extremum. Se si cerca un estremo su tutto il periodo di osservazione, non c'è modo di ottenere 10 elementi anche se "per copiare tutti i dati disponibili".

In realtà, non è sempre necessario usare la struttura predefinitaMqlRates. In molti casi, è sufficiente creare la propria struttura "leggera" (per esempio, high-low) e lavorare con variabili di quel tipo. Non posso dire nulla sul consumo di risorse, perché non sono interessato a questa domanda (faccio a meno di usare la strutturaMqlRates).

 

Un altro dei miei approcci a MQL5: ho deciso di usare le sue capacità per ottimizzare gli Expert Advisors dato che MT4 mi permette di ottimizzarli entro 24 ore, e le capacità dei processori multicore e degli agenti sono così dissimili... Tuttavia, prima di preoccuparmi di ricodificare i "veri" Expert Advisors, ho deciso di controllare cosa otterrò. Ho scritto un semplice Expert Advisor con perseptron ala AI Reshetov, nemmeno indicatori da inserire, ma differenze di prezzi di chiusura. lo ottimizzo da prezzi aperti H4, un anno fa. i core della CPU sono caricati, e gli agenti sembrano funzionare, e la nuvola si muove, ma....Più lento che in MT4 molte volte semplicemente Perché è tutto così triste????

Знакомство с MQL5: написание простого советника и индикатора
Знакомство с MQL5: написание простого советника и индикатора
  • 2010.03.16
  • Denis Zyatkevich
  • www.mql5.com
В этой статье проведен краткий обзор языка MQL5, приведен пример написания советника и индикатора. Данная статья ориентирована как на читателей, знакомых с программированием на языке MQL4, так и на тех, кто только начинает знакомство с программированием торговых систем и индикаторов.
 
Figar0:

Un altro dei miei approcci a MQL5: ho deciso di usare le sue capacità per ottimizzare gli Expert Advisors dato che MT4 mi permette di ottimizzarli entro 24 ore, e le capacità dei processori multicore e degli agenti sono così dissimili... Tuttavia, prima di preoccuparmi di ricodificare i "veri" Expert Advisors, ho deciso di controllare cosa otterrò. Ho scritto un semplice Expert Advisor con perseptron ala AI Reshetov, nemmeno indicatori da inserire, ma differenze di prezzi di chiusura. lo ottimizzo da prezzi aperti H4, un anno fa. i core della CPU sono caricati, e gli agenti sembrano funzionare, e la nuvola si muove, ma....Più lento che in MT4 molte volte semplicemente Perché è tutto così triste????

Da qualche parte c'è un errore logico nel codice. Non credo che MT5 sia più lento di MT4.
 
Figar0:

Un altro dei miei approcci a MQL5: ho deciso di usare le sue capacità per ottimizzare gli Expert Advisors dato che MT4 mi permette di ottimizzarli entro 24 ore, e le capacità dei processori multicore e degli agenti sono così dissimili... Tuttavia, prima di preoccuparmi di ricodificare i "veri" Expert Advisors, ho deciso di controllare cosa otterrò. Ho scritto un semplice Expert Advisor con perseptron ala AI Reshetov, nemmeno indicatori da inserire, ma differenze di prezzi di chiusura. lo ottimizzo da prezzi aperti H4, un anno fa. i core della CPU sono caricati, e gli agenti sembrano funzionare, e la nuvola si muove, ma.... :Più lento di MT4 molte volte Soloperché tutto è così triste????

Probabilmente perché i file MQ4 e MQ5 non sono allegati.

Ci sono dei programmatori qui. È improprio fare queste domande senza allegare il codice sorgente.

 
Renat:

Probabilmente perché i file MQ4 e MQ5 non sono allegati.

Ci sono dei programmatori qui. Non è bene fare queste domande senza il codice sorgente allegato.

Sono lontano dal pensare che il mio codice sia un modello di perfezione, l'ho scritto in 20 minuti, e solo per controllare, inoltre, dato che in MQ5 sono ancora un maiale nelle arance), ma penso che non ci sia niente di così terribile per le prestazioni. Ecco qui.
File:
First.mq5  19 kb
 
e MQ4?
 

Renat:
 MQ4?

E in MQ4 ho appena preso ArtificialIntelligence.mq4 e l'ho allegato per sicurezza, ovviamente non sono identici, ma richiedono quasi lo stesso tempo, almeno semplicemente per la loro semplicità. Ma ecco cosa abbiamo:

Su 8 core in MT5 (disabilitato tutti gli agenti):

2011/11/11 15:01:07 PM Statistiche locali 13371 compiti (100%), remoto 0 compiti (0%), cloud 0 compiti (0%)
2011.11.11 15:01:07 Statistiche passate in 1 ora 07 minuti 51 secondi

Totale: 4071/13371=0,3044 sec per passaggio.

Su un nucleo in MT4:

2011.11.11 15:17:40 Ci sono stati 6345 passaggi fatti durante l'ottimizzazione
2011 11/11/11 15:17:40 ArtificialIntelligence: ottimizzazione fermata, 2103 record della cache sono stati usati, 2103 record della cache respinti
2011.11.11 15:17:12 ArtificialIntelligence: ottimizzazione iniziata

Totale: 28/6345=0.0044129 sec per passaggio.

Due ordini di grandezza. Sono entrambi genetici, prezzi aperti EURUSD H4, intervallo dal 1.01.11 a oggi, computer singolo, Win7 x64. Cosa rallenta così tanto l'ottimizzazione in MT5? Ho un errore così critico lì????

 
Figar0:

Due ordini di . Entrambi sono genetici, entrambi sono prezzi di apertura EURUSD H4, intervallo 1.01.11 ad oggi, stesso computer, Win7 x64. Cosa sta rallentando così tanto l'ottimizzazione in MT5? Ho un errore così critico lì????

Qual è il tipo di simulazione, 1 o 2?


 
Rosh:

Che tipo di modellazione, 1 o 2?

" Solo prezzi di apertura", il secondo deve essere
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

Credo di cominciare a capire cosa sta succedendo qui:

2011.11.11 16:11:37 Core 1 EURUSD,H4: 1271227 ticks (1344 barre) generati entro 1326 ms (barre totali nella storia 2904, tempo totale 1372 ms)

Perché ci sono così tante zecche ai prezzi di apertura? Inoltre, se metto il modello "OHLC su M1", succede la stessa cosa:

2011.11.11 16:15:48 Core 1 EURUSD,H4: 1271227 ticks (1344 barre) generati entro 2075 ms (totale barre nella storia 2904, tempo totale 2106 ms)

Ho ricontrollato 10 volte e con il primo e il secondo tipo di build (dalla foto di Rosh) il numero di tick non cambia..... Imho non va bene, o sto facendo qualcosa di sbagliato?

Costruire 527.

Z.I. ha testato tutte le zecche:

2011/11/11 16:24:55 Core 1 EURUSD,H4: 18578763 ticks (1344 barre) generati entro 24819 ms (barre totali nella storia 2904, tempo totale 25319 ms)

Con il modello "tutti i tick" ci sono solo 14 volte più tick che con il modello "prezzi aperti" su H4. O sono pazzo, o uno dei due ... Quindi il modello "prezzo di apertura" non esiste?