Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 185

 
Vikon:

Ciao.

Sto cercando di convertire in cinque, ma ancora non capisco la logica della sintassi.

Come convertire double i= iHigh(Symbol(),0,1); da indicatore quattro a mql5,

Non posso ancora dare alcuna idea.

Grazie

double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);
 
pronych:
double i[]; CopyHigh(Symbol(),PERIOD_CURRENT,0,1,i);

No, non si può fare come mql4, non si può dare un valore alto all'allarme

double i= iHigh(Symbol(),0,1);

Allarme (i);

E mi offre, come ho capito, un array di barre int con valori massimi.

Ecco il problema nella mia comprensione, come tradurre queste due stringhe, che sono chiare a qualsiasi programmatore di livello, in mql5

 
Vikon:

No, non si può fare come mql4, non si può dare un valore alto all'allarme

double i= iHigh(Symbol(),0,1);

Allarme (i);

E mi offre, come ho capito, un array di barre int con valori massimi.

Questa è la difficoltà nella mia comprensione, come tradurre queste due stringhe, che sono comprensibili a qualsiasi programmatore di livello, in mql5

Questo è dall'aiuto
int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   int              start_pos,        // откуда начнем 
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

Tutto correttamente ti è stato consigliato, ma se la barra nell'avviso non è zero, devi copiare 2 buffer (o quanti ne devi applicare).

double i[];
ArraySetAsSeries(i,true); // массив как таймсерия
CopyHigh(Symbol(),PERIOD_CURRENT,0,2,i);
Alert(i[1]);
 
lewvik:
Questo è dall'aiuto

Tutto correttamente consigliato, solo se la barra sull'avviso non è zero è necessario copiare 2 buffer (o quanti è necessario applicare)

Funziona bene. Grazie

 

Ciao!

Domanda sugli indicatori, qui voglio scrivere un indicatore MACD che userà quattro timeframes MACD su qualsiasi timeframes per questo uso l'handle dell'indicatore MACD che è in OnInit e in Start le funzioni di copia e sequenziamento dell'array.

Quindi le mie domande sono:

Quante maniglie dovrei dichiarare quattro (per ogni periodo di tempo) o una.

Se uno, che possibilità c'è di cambiare i parametri durante l'esecuzione del codice per quattro timeframes.

Forse un handle può essere arrotolato in una funzione e chiamato nel codice per i tempi dati

 
Mi chiedo se c'è un articolo da qualche parte come "le ragioni più comuni della lentezza di EA"? Sto cercando di capire perché l'EA nel tester vola all'inizio, ma più va avanti, più diventa lento. Non è allo stadio di sviluppo per essere così critico (la velocità è sufficiente per lo sviluppo di meccanismi e strumenti di base). Ma è ancora scomodo che non ha senso prendere più di una settimana, perché dopo la velocità tende a zero.
 
Lone_Irbis:
Mi chiedo se c'è un articolo da qualche parte come "le ragioni più comuni della lentezza di EA"? Sto cercando di capire perché l'EA nel tester vola all'inizio, ma più va avanti, più diventa lento. Non è allo stadio di sviluppo per essere così critico (la velocità è sufficiente per lo sviluppo di meccanismi e strumenti di base). Ma è ancora sconveniente che non ha senso prendere segmenti più lunghi di una settimana, perché dopo di che la velocità tende già a zero.
Molto probabilmente utilizza indicatori con calcolo dell'intera storia, che aumenta alla fine del test.
 
Lone_Irbis:
Mi chiedo se c'è un articolo da qualche parte come "le ragioni più comuni della lentezza di EA"? Sto cercando di capire perché l'EA nel tester vola all'inizio, ma più va avanti, più diventa lento. Non è allo stadio di sviluppo per essere così critico (la velocità è sufficiente per lo sviluppo di meccanismi e strumenti di base). Ma è ancora sconveniente che non ha senso prendere segmenti più lunghi di una settimana, perché dopo di che la velocità tende già a zero.
In alternativa: dividete il periodo di prova in due ed eseguitelo nel tester separatamente. In questo modo possiamo determinare se ci sono solo meno segnali all'ingresso per il periodo specificato.
 
zfs:
Molto probabilmente utilizza indicatori con calcolo dell'intera storia, che aumenta alla fine del test.

Finora non usa nessun indicatore esterno. Ma esegue molti calcoli basati sulla storia, sì. Tuttavia sembra esserci un limite al numero massimo di candele analizzate, e se la ragione è loro, non è chiaro perché rallenta gradualmente, invece di rallentare dall'inizio (sembra che l'intervallo sia sempre preso dal momento presente).

 
Lone_Irbis:

Finora non usa nessun indicatore esterno. Ma esegue molti calcoli basati sulla storia, sì. Tuttavia, sembra esserci un limite al numero massimo di candele analizzate, e se questa è la ragione, non è chiaro perché rallenterebbe gradualmente, invece di rallentare dall'inizio (sembra che il segmento sia sempre preso dal momento presente).

E "un bel po' di calcoli basati sulla storia" si aggiungono a una matrice dinamica?
Motivazione: