Errori, bug, domande - pagina 85

 
Rosh:
È scritto nella sezione Organizzazione dell'accesso ai dati

L'ho provato ora... Nel tester non riesco a caricare la storia, ma nella demo è un gioco da ragazzi...

O forse ho sbagliato.

In generale, è realistico premere start e l'Expert Advisor "mi lascia scaricare non molta storia"?

 
gumgum:

Qui ho provato ora... Non posso caricare la storia in tester, ma in demo...

Non potevamo pensare che qualcuno potesse travisare gli insegnamenti di MQL5 in questo modo. Considerando ciò che dice la guida del terminale, cos'altro è necessario?


 
Rosh:

Non potevamo pensare che qualcuno potesse travisare gli insegnamenti di MQL5 in questo modo. Considerando quello che dice la guida del terminale, cos'altro è necessario?


Probabilmente non mi sono espresso bene.

Tutti i dati vengono scaricati, è tutto lì.

Ho testato dal 2010.01.01 a oggi (H1).

C'è una linea simile nel mio Expert Advisor:

Print("Самая первая дата по символу-периоду на данный момент =",
         (datetime)SeriesInfoInteger(Symbol(),0,SERIES_FIRSTDATE));

Il log dice " Prima data per carattere-periodo finora = 2009.01.02 00:00:00".

Ho chiesto come renderlo più basso del 2009.01.02 00:00:00.

Ho avuto una risposta:

Nonho bisogno di tutta la storia:

1 Il tester assicura il caricamento di almeno 100 barre del periodo testato prima della data di inizio del test.

2 Il tester caricherà la storia almeno dall'inizio dell'anno precedente dalla data di inizio del test.

Se seleziona un periodo di tempo mensile, le verranno forniti 8 anni di dati storici. Se selezionate un lasso di tempo settimanale, otterrete 2 anni. Basta non usare il timeframe corrente quando si analizzano i segnali, ma specificare esplicitamente il timeframe di cui si ha bisogno.

Monthly one richiede molto tempo perché carica tutta la storia, ma a cosa mi serve tutta la storia?

 

gumgum:

Monthly impiega molto tempo a caricare perché carica tutta la storia, e perché dovrei aver bisogno di tutta la storia...

Tutta la storia

Quindi scaricatela sul terminale quanto volete (anche dal 1993 all'Eurasia), e poi il tester non vi chiederà nemmeno la profondità della storia.

Se stai testando su agenti esterni, allora sì, i dati saranno sincronizzati (se non è la profondità giusta).

La barra iniziale

Dal 2009.01.02 a H1 c'è una quantità enorme di dati ridondanti (ok, non ridondanti, ma ci sono quasi 9 000 barre orarie). Perché di più?

 

Come si dovrebbe procedere, conoscendo il numero id di una posizione, per selezionarla?

   HistorySelectByPosition(position_id);
   PositionSelect(HistoryDealGetString(HistoryDealGetTicket(0),DEAL_SYMBOL));

Non si può semplicemente fare una funzione per selezionare una posizione in base al suo id ??????

Документация по MQL5: Торговые функции / PositionSelect
Документация по MQL5: Торговые функции / PositionSelect
  • www.mql5.com
Торговые функции / PositionSelect - Документация по MQL5
 
Urain:

Voglio dire, quanti problemi si dovrebbero fare per selezionare un numero di posizione conoscendone l'id?

Non si può semplicemente fare una funzione per selezionare una posizione in base al suo id ??????

Oh, è un miracolo, si è scoperto che si possono sovraccaricare le funzioni predefinite.

bool PositionSelect(long position_id)
  {
   if(HistorySelectByPosition(position_id))
     return(PositionSelect(HistoryDealGetString(HistoryDealGetTicket(0),DEAL_SYMBOL)));
   else return(false);  
  }

o è un bug?

Ho controllato che tutto funzioni, mi chiedo se questa funzione non scomparirà in futuro?

L'ho corretto con una variante più sicura.

 
Interesting:

Tutta la storia

Beh, caricalo nel terminale per tutto il tempo che ti serve (almeno dal 1993 a Eura), e poi il tester non ti chiederà nemmeno la profondità della storia.

Se i test saranno fatti su agenti esterni, allora sì, i dati saranno sincronizzati (se non risultano essere la giusta profondità).

La barra iniziale

Dal 2009.01.02 a H1 c'è una quantità enorme di dati ridondanti (ok, non ridondanti, ma ci sono quasi 9 000 barre orarie). Perché di più?


L'intera storia è caricata! Ne ho bisogno per raccogliere statistiche per l'apertura dei Pesci.
 
Urain:

Oh meraviglia, si scopre che è possibile sovraccaricare le funzioni predefinite.

o è un bug?

Ho controllato che tutto funzioni, mi chiedo se questa funzione scomparirà in futuro?

L'ho corretto con una variante più sicura.

Non credo. L'overloading delle funzioni standard è meglio non farlo direttamente, ma attraverso la loro dichiarazione nelle classi...
 
gumgum:
La storia è tutta scaricata! Ne ho bisogno per raccogliere statistiche per l'apertura di pizicioni.

9.000 ore di bar non sono una statistica?

PS

Allora al momento c'è solo un rimedio - nei parametri dell'EA aggiungiamo l'indicazione della data, quando fare trading, e portiamo l'inizio del test alla profondità desiderata (con questo approccio finché non ci sono abbastanza barre per l'analisi, il lavoro non inizia)...

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Interesting:

9.000 ore di bar non sono una statistica?

PS

Allora al momento c'è solo un rimedio - nei parametri dell'Expert Advisor aggiungiamo l'indicazione della data da cui fare trading, e posticipiamo l'inizio del test, diciamo, a una profondità desiderata (con questo approccio, finché non c'è un numero sufficiente di barre per l'analisi, il lavoro non inizia)...

Ogni ora e ogni giorno. Ecco come faccio io. Un'altra via d'uscita è la creazione di file di dati (cosa che sto facendo ora).