Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 722

 
SemenTalonov:

Valore restituito se nessuna barra è stata trovata nel momento specificato. Seexact=false iBarShift restituisce l'indice della barra più vicina con tempo di apertura inferiore a quello specificato (time_open<time). Se tale barra non viene trovata (nessuna storia prima del tempo specificato), la funzione restituisce -1.

Ma abbiamo la storia, è un fatto. Tutto avviene al più recente (0-esima barra per serie temporale).

La serie temporale è pronta quando vi si accede?
 
Artyom Trishkin:
La serie temporale è pronta quando la affronti?

Non può essere pronta?

 
SemenTalonov:

Potrebbe essere impreparata?

 
I commenti non pertinenti a questo argomento sono stati spostati in "Caratteristiche del linguaggio mql5, complessità e tecniche".
 
Sincronizzazione dei dati del terminale e dei dati del server

Se OnTick() o OnCalculate() non riesce a ottenere tutti i dati richiesti, abbandona il gestore dell'evento, aspettandosi di ottenere l'accesso ai dati quando il gestore viene chiamato la prossima volta.


Si presenta così

 
Sapete se c'è uno script o un indicatore sul sito web che mostra il livello di pareggio per due indicatori? Per esempio, ho una griglia di ordini, il prezzo è a 1,2255 e ho un sacco di ordini aperti, ma ho bisogno di trovare il livello di breakeven di due ordini di vendita, livello di breakeven per due ordini di vendita, per 1,3400, che è vincente e per 1,2150, che è meno. Qui, ho bisogno di trovare il livello di pareggio tra di loro. C'è uno script che dovrebbe aiutarmi a indicare 2 o 3 ordini pendenti e il livello 0 sarà mostrato sul grafico con la considerazione dei lotti, Martingale, se c'è?
 
Io scrivo così:
void OnTick()
{
   double raznica=Close[30000];
   Alert(raznica);
}


C'è un errore nel tester:



Perché?

 
multiplicator:
Io scrivo così:

C'è un errore nel tester:

Perché?

Perché non c'è nessuna barra con indice 30000 sul grafico e nel terminale

 
Vladimir Pastushak:

Perché non c'è la barra 30000 sul grafico e nel terminale

Allora come faccio a testarlo?

l'EA, quando parte, deve elaborare 30.000 minuti precedenti.


Sto testando un EA per il 2018.

Al lancio, dovrebbe guardare tutti i verbali del mese precedente (questo risulta essere l'ultimo mese del 2017),
e usarli per calcolare il coefficiente di dispersione.

Ci sono fino a 30.000 minuti.


Può prendere i prossimi? L'EA può "guardare nel futuro"?
Ho bisogno di calcolare la varianza, quindi non mi interessa se ci sono quelli successivi o quelli precedenti.
 
multiplicator:
l'EA può "vedere nel futuro"?

non può.

usare iBars() per vedere la storia disponibile

SZZ: Se non mi sbaglio, nel tester, quando si avvia l'Expert Advisor sono disponibili 1000 barre, poi man mano che si generano nuovi dati il numero di barre aumenta. Il tester modella la storia di tutti i TF a cui è indirizzato, cioè, se si è eseguito il test su H1 e durante il test si è acceduto ai dati in TF M1, allora quando si avvia sarà disponibile per 1000 barre su H1, e quindi 60 * 1000 = 60.000 barre M1

avete bisogno di leggere articoli come questosu https://www.mql5.com/ru/articles/1511

Strategy Tester: режимы моделирования при тестировании торговых стратегий
Strategy Tester: режимы моделирования при тестировании торговых стратегий
  • www.mql5.com
Многие программы технического анализа позволяют проводить тестирование торговых стратегий на исторических данных. В большинстве случае тестирование идет по уже сформированным данным, без попыток моделирования движения внутри ценового бара. Получается быстро, но недостаточно точно. Для качественного тестирования торговой стратегии важно выбрать...