Errori, bug, domande - pagina 82

 
gumgum:

Sto inserendo un test dal 2010.01.01 ad oggi. Ho emesso la data della prima barra 2009.01.02.

Come posso fare in modo che la prima barra disponibile sia ad esempio 2006.01.02?

2006.01.02, perché non 2010.01.01?

E cosa sappiamo della serialità degli array?

 
Interesting:

2006.01.02, perché non 2010.01.01?

E cosa sappiamo della serializzazione degli array?

Voglio essere sicuro che quando si fanno i test, i dati storici siano sufficienti. Come si può fare?

Possiamo permettere nel codice di commerciare da una certa data e scegliere un periodo di prova più lungo, ma altrimenti?

 
gumgum:

Voglio assicurarmi che durante i test ci siano abbastanza dati storici. Come si può fare?

Posso permettere nel codice di commerciare da una certa data e scegliere un periodo di prova più lungo, ma altrimenti?


Quando inizializzi, controlla se la cronologia è disponibile sul server e sul tuo. Se la cronologia deve essere caricata, fallo immediatamente (nel blocco di inizializzazione)...

E la serialità (la sua assenza) nella domanda data mostrerà da dove contare la barra 0...

 

Cari colleghi e sviluppatori di lingue, potreste spiegare la seguente situazione?

Ci sono due strutture (senior e junior), il costruttore di senior è chiamato da start(),

il costruttore di junior è chiamato dal costruttore della struttura senior.

Come passare una variabile dalla struttura senior al costruttore della struttura junior ??????????

struct Ml
  {
   int               a;
   int               b;
   void Ml()
     {
      if(f)a=1; else a=2; // ?????????????????????????????      
      if(F)b=2; else b=3; // ?????????????????????????????        
     };
   void ~Ml(){};
   void m(){};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct St
  {
   bool              f;  // ?????????????????????
   bool              F;  // ?????????????????????
   Ml               x[];
   void St(){f=true; F=false; ArrayResize(x,1); x[0].m();};  // ?????????????????????
   void ~St(){};
   int          mult(int i){ArrayResize(x,i+1);return(x[i].a*x[0].b);};
   int           add(int i){ArrayResize(x,i+1);return(x[i].a+x[0].b);};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   St x[];
   ArrayResize(x,2);

   int Mult=x[1].mult(10);
   int Add=x[1].add(10);

   Print("x[1].mult(10)=",x[1].mult(10),"  x[1].add(10)=",x[1].add(10));
  }
//+------------------------------------------------------------------+
 
Interesting:

Quando inizializzi, controlla se la cronologia è disponibile sul server e sul tuo. Se hai bisogno di caricare la cronologia, fallo immediatamente (nel blocco di inizializzazione)...

E la serialità (la sua assenza) in questa domanda mostrerà da dove contare 0 bar...

controllare https://www.mql5.com/ru/docs/series/seriesinfointeger come questo ? Come caricare (ficcare il naso nella direzione giusta)?
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
Документация по MQL5: Доступ к таймсериям и индикаторам / SeriesInfoInteger
  • www.mql5.com
Доступ к таймсериям и индикаторам / SeriesInfoInteger - Документация по MQL5
 
gumgum:

Voglio assicurarmi che durante i test ci siano abbastanza dati storici. Come si può fare?

Posso permettere nel codice di commerciare da una certa data e scegliere un periodo di prova più lungo, ma altrimenti?

1. Il tester fornisce un carico di almeno 100 barre del lasso di tempo che viene testato prima della data di inizio del test.

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

Se seleziona un periodo mensile, le verranno forniti 8 anni di storia. 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.

 
stringo:

1 Il tester si assicura che almeno 100 barre del lasso di tempo in esame siano caricate 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 mensile, le verranno forniti 8 anni di storia. 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.

Mettiamola così:

In attesa di.... Sono ancora al 3,3%, né qui né là:

 
Urain:

Cari colleghi e sviluppatori di lingue, potreste spiegare la seguente situazione?

ci sono due strutture (senior e junior), il costruttore di senior è chiamato da start(),

il costruttore di junior è chiamato dal costruttore della struttura senior.

Come passare una variabile dalla struttura senior al costruttore della struttura junior ??????????



Penso che un esempio di vita reale sarebbe più comprensibile:

Quando appare una nuova posizione, viene creato un nuovo oggetto, che include un array dinamico di puntatori alle offerte.

Poiché nella situazione iniziale, la posizione ha un solo affare, i suoi dati sono scritti nella struttura appropriata durante l'inizializzazione dell'oggetto,

ma il costruttore della struttura riceve il numero del biglietto dall'oggetto posizione.

E non è chiaro come passare questo biglietto?

Alla dichiarazione della variabile globale non ci sono problemi,

si seleziona la posizione, si scrive il biglietto e si costruisce l'oggetto,

La struttura è progettata nell'oggetto e tutti ottengono lo stesso biglietto a livello globale,

sia i deal che le posizioni (perché il deal di prima apertura nel ticket è uguale all'id della posizione),

ma quando si cerca di rimuovere la dichiarazione globale dei biglietti, iniziano i problemi.

 
gumgum:

Mettiamola così:

Sto aspettando.... Il 3,3% delle volte, nessuna via d'accesso, nessuna via d'uscita:

Scaricare i dati? Cosa c'è nel registro dei test?
 
stringo:
Caricamento dei dati? Cosa c'è nel registro dei test?

Al momento il 5,6%

2010.08.06 13:08:52 Core 1 EURUSD,Daily: la storia inizia dal 2001.01.01 00:00
2010.08.06 13:08:52 Core 1 EURUSD,Daily: cache della storia riservata per 2411 barre stimate
2010.08.06 13:08:52 Core 1 EURUSD: contiene 3208261 record M1 di inizio dati dal 2001.01.01 00:01 al 2009.12.31 18:59
2010.08.06 13:05:58 para.06 13:05:58 Core 1 para=EURUSD
2010.08.06 13:05:58 Core 1 delta=0.10
2010.08.06 13:05:58 Core 1 fc=0.19
2010.08.06 13:05:58 Core 1 M=11
2010.08.06 13:05:58 Core 1 dis=0.11
2010.08.06 13:05:58 Core 1 EURUSD,Monthly: testing of experts\slivarobot.ex5 from 2010.01.01 00:00 to 2010.03.31 00:00 started with inputs:
2010.06.08.06 13:05:58 Core 1 EURUSD,Monthly: 1 minutes OHLC ticks generating
2010.08.06 13:05:58 Core 1 EURUSD,Monthly: history begins since 2001.01.01 00:00
2010.08.06 13:05:58 Core 1 EURUSD,Monthly: history cache reserved for estimated 120 bars
2010.08.06 13:05:58 Core 1 EURUSD: contains 3208261 M1 records of beginning data from 2001.01.01 00:01 to 2009.12.31 18:59
2010.08.06 13:03:13 Core 1 EURUSD: cronologia sincronizzata dal 1993.05.13 al 2010.08.05
2010.08.06 13:03:13 Core 1 EURUSD: caricati 27 byte di dati storici da sincronizzare
2010.08.06 13:03:11 Core 1 EURUSD: simbolo sincronizzato. 3304 byte di informazioni sui simboli ricevuti.
2010.08.06 13:03:11 Core 1 Performance: 31
2010.08.06 13:03:11 Core 1 39 Kb di dati di inizializzazione totali ricevuti
2010.08.06 13:03:11 Core 1 Inizializzato con successo
2010.08.06 13:03:11 Core 1 Deposito iniziale 10000.00 USD
2010.08.06 13:03:11 Core 1 File esperto aggiunto: Libraries\BSCAI.ex5. 3277 byte caricati
2010.08.06 13:03:11 Core 1 File esperto aggiunto: Libraries\PNNOCHL(slivarobot).ex5. 13083 byte caricati
2010.08.06 13:03:11 Core 1 File esperto aggiunto: Experts\slivarobot.ex5. 3598 byte caricati
2010.08.06 13:03:11 Core 1 275 byte di simboli selezionati caricati
2010.08.06 13:03:11 Core 1 7178 byte di parametri tester caricati
2010.08.06 13:03:11 Core 1 3780 byte di informazioni sul gruppo caricati
2010.08.06 13:03:11 Core 1 3124 byte di informazioni sul conto caricati
2010.08.06 13:03:11 Core 1 Sincronizzazione comune completata
2010.06.08.06 13:03:07 Tester EURUSD,Monthly: test di experts\slivarobot.ex5 da 2010.01.01 00:00 a 2010.03.31 00:00 da avviare
2010.08.06 13:03:07 Core 1 Autorizzato (build agente 302)
2010.08.06 13:03:07 Core 1 Connesso
2010.08.06 13:03:06 Core 1 Connessione a 127.0.0.1:3000
2010.08.06 13:03:06 Core 1 Processo agente avviato