Gogetter EA - pagina 14

 

Ecco i file .gif che vanno con i file .htm del post precedente...

Inoltre mi è stato chiesto un file di installazione della build 188 prima di oggi...

Ho cercato quel numero di build ma non lo vedo... non ricordo di aver fatto una build 188 forse l'ho fatto ma dovrò scavare per trovarlo... non so cosa ci sia di così speciale che qualcuno mi chieda quella particolare build.....che sarebbe stata una versione molto precoce di questi se ne avessi fatta una....

Continuerò a cercare...

File:
ggl3-01.gif  6 kb
ggs3wrsi.gif  9 kb
 

Ho dimenticato di dire che sto eseguendo il GGS3 nel grafico 1H e il GGL3.01 nel grafico 30M.

Ho avuto qualcuno che si è offerto volontario che se avessi potuto fornirgli un .exe di installazione per la build 188 del terminale di Metatrader 4, mi avrebbe fatto guadagnare tempo. Ho fatto i miei test nella build 195 e non ho una build 188 per il terminale... qualcun altro ne ha una da condividere?

 

Indovina qual è la differenza tra questi due test?

Impostazioni? no

EA? no

Deposito iniziale? no

Intervalli di date? no

Coppia di valute? no

Hai cliccato su ricalcola prima di ogni operazione? sì

L'unica differenza è che quello redditizio è stato fatto subito dopo la riapertura del mercato domenica. E quello che non era redditizio è stato fatto subito dopo la chiusura del mercato venerdì.

Quindi qualcuno mi dice perché il back tester dovrebbe preoccuparsi se il mercato è aperto o meno quando testa un intervallo di date che è interamente memorizzato nel centro storico?

 
Maji:
Provate quanto segue:

int handle;

int init()

{

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');

return(0);

}

int deinit()

{

FileClose(handle);

return(0);

}

Start()

{

.....

FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //declare them as variables and then insert them in the file write routine

[/PHP]

Also, remember to put the routine where it is updated once every bar not every tick. Now you got enough ammo, and figure out the rest

Good luck.

ok Ho ottenuto questo lontano....

[PHP]int handle; //print to file

//+------------------------------------------------------------------+

//|funzione di inizializzazione esperto |

//+------------------------------------------------------------------+

int init()

{

BarCount = Bars;

if (EachTickMode) Current = 0; altrimenti Current = 1;

handle=FileOpen(EAName+"_"+Symbol()+".txt", FILE_CSV|FILE_WRITE, ';');//stampa su file

return(0);

}

//+------------------------------------------------------------------+

//| funzione di deinizializzazione esperta |

//+------------------------------------------------------------------+

int deinit()

{

FileClose(handle);//stampa su file

return(0);

}

//+------------------------------------------------------------------+

//| funzione di avvio esperto |

//+------------------------------------------------------------------+

int start()

{

Non so come/dove completare questa direzione...

...." FileWrite(handle, TimeToStr(CurTime(),TIME_DATE|TIME_SECONDS), iOpen... ); //dichiararle come variabili e poi inserirle nella routine di scrittura del file"

 

Maji ha detto: ...metti la routine dove viene aggiornata una volta ogni barra e non ogni tick.

Qualcuno può mostrarmi dov'è? Nonostante le mie occasionali manie di competenza, non ho davvero idea su questo.

 

Mi dispiace, ma non ho tempo per pasticciare con il tuo codice in questo momento. Dovresti inserire la linea che scrive l'ora, l'apertura ecc. proprio dove il tuo sistema si aggiorna sulla nuova barra. Per ora, perché non inserisci semplicemente quella linea prima di return(0) nel tuo ciclo iniziale. Per quanto riguarda come costruire il comando filewrite, dovrai capirlo da solo, ti ho dato abbastanza munizioni per farlo

Perché non cominci semplicemente a testare in avanti il tuo sistema, e in questo modo puoi confrontarlo con il tuo backtest ogni giorno e vedere come funziona?

Buona fortuna.

 
Maji:
Mi dispiace, ma non ho tempo per pasticciare con il tuo codice in questo momento. Dovresti inserire la linea che scrive l'ora, l'apertura ecc. proprio dove il tuo sistema aggiorna sulla nuova barra. Per ora, perché non inserisci semplicemente quella linea prima di return(0) nel tuo ciclo iniziale. Per quanto riguarda come costruire il comando filewrite, dovrai capirlo da solo, ti ho dato abbastanza munizioni per farlo

Perché non cominci semplicemente a testare il tuo sistema in avanti, e in questo modo puoi controllarlo con il tuo backtest ogni giorno e vedere come funziona?

Buona fortuna.

Riconosco che hai altre priorità, ecco perché non te lo stavo chiedendo, comunque l'indizio aiuta almeno per il posizionamento della linea. Grazie

Sto testando in avanti. Cioè lo stavo facendo fino a quando il mio conto demo è esploso durante il fine settimana del Labor Day, non è scaduto, è solo stato chiuso insieme a tutti gli altri miei conti demo. Stamattina ho dovuto iniziarne uno nuovo da capo... non ho idea del perché siano stati tutti cancellati. Non sono stato io. Qualche anamolie interbancaria suppongo.

 

Diciamo, per amor di discussione, che riesco a farlo e dimostro che non sta usando gli stessi dati ogni volta, nonostante mi sia stato detto di farlo, o che non sta elaborando i dati allo stesso modo o altro, allora cosa?

Ho altri test di strategia che non sembrano usare gli stessi intervalli di date o gli interi intervalli di date quando gli dico di farlo. cosa posso fare io o chiunque altro? Penso che sia sicuro assumere che altre persone abbiano irregolarità simili, ma cosa si può fare?

A questo punto non mi sembra proprio un tester di strategia. Più che altro è un teaser di strategie, perché non c'è modo di controllare o stabilizzare la sua compilazione/elaborazione. Elabora solo intervalli di date parziali quando esistono file di dati completi per fare l'intero intervallo specificato. Non sembra essere coerente al 100%. Non saprei cosa fare per ripararlo anche se provassi le sue incongruenze. Si comporta più come una roulette che come uno strumento di test di precisione.

 

post inutile

 

ecco il mio skitoma...non riesco a capire perché nel file include di cui sopra https://www.mql5.com/en/forum/general

il compilatore possa trovare queste funzioni...(quando aggiungo questo file include in un EA e prima di chiamare queste funzioni.... ottengo questi errori che mi dicono che almeno il compilatore VEDE queste 5 funzioni....

La funzione "StoreHighsAndLows" non è referenziata e sarà rimossa dal file exp

La funzione "GetPastEquity" non è referenziata e sarà rimossa dal file exp

La funzione "StoreAccountEquity" non è referenziata e sarà rimossa da exp-file

La funzione "CountTrades" non è referenziata e sarà rimossa da exp-file

La funzione "CloseOrder" non è referenziata e sarà rimossa dal file exp

ma non vede affatto la funzione IncreaseLots().

È come se non esistesse....

come è strutturata la funzione IncreaseLots() diversamente da qualsiasi altra funzione che può vedere.

Dichiara la funzione, poi ha

{

blah

blah

blah

return();

}

cos'altro deve avere una funzione? Questo è tutto quello che hanno gli altri!!!!

Quando chiamo la funzione IncreaseLots() dall'EA ottengo l'errore...funzione non definita...come se non ci fosse...ma c'è, proprio lì!!!! Perché il tutto è invisibile al compilatore?

Motivazione: