Ottimo EA in backtest! - pagina 109

 

Questa mattina non è così divertente. La demo ha preso e vinto due posizioni. Il conto live ha preso e perso una posizione... le impostazioni di slippage e i default sono gli stessi su entrambi i conti. Questo non è buono.

Anche questo codice mi sta prendendo a calci nel sedere... non so proprio come fargli fare quello che mi serve. Questo è un approccio diverso allo stesso problema.

// We create a histogram of the open price levels and the matches to those levels in the test set

// These loops cycles TotalOMatches thru the OpenHistogramLevels looking for identical price levels and creates histogram of all unique open levels and their associated matches

int ct5=0,i5=NumberOfBars,level=NumberOfBars;

bool levelnotfound=false;

//for(ct5=NumberOfBars;ct5>0;ct5--)

{

// We loop thru the OpenHistogramLevels index looking for the new price level

while(Opens) // We loop thru the new prices

{

if(i5==SIZE) {continue;}//moves past the array zero index

while(OpenHistogramLevels[level]) // We loop thru the Histogram Index

{

if(level==SIZE) {continue;}//moves past the array zero index

// We augment the match values of each level to reflect the highest # of matches

if(OpenHistogramLevels[level] == Opens)//identifies matching price value in OpenHistogramLevels

{

// If we ARE working with a price level which is already in the histogram we...

if(OpenHistogramMatches[level] < TotalOMatches)//compares matches at this level

{

OpenHistogramMatches[level] = TotalOMatches;//increase match value if new value is larger

}

}

else

{

levelnotfound=true;

}

level--;

if(level>SIZE*(-1) || level<0)//this only allows the loop to cycle from 0 to array "SIZE"

{

break;

}

}

if(levelnotfound)// We append the new level to the histogram

{

OpenHistogramLevels=Opens;

levelnotfound=false;

//Print("Levels: ",OpenHistogramLevels," Matches: ",OpenHistogramMatches);

}

i5--;

if(i5>SIZE*(-1) || i5<0)//this only allows the loop to cycle from 0 to array "SIZE"

{

break;

}

}

// Print("Levels: ",OpenHistogramLevels," Matches: ",OpenHistogramMatches);

}
 
Aaragorn:
Questa mattina non è così divertente. La demo ha preso e vinto due posizioni, il conto live ha preso e perso una posizione... le impostazioni di slippage e i default sono gli stessi su entrambi i conti. Questo non è buono.

Ti capisco Aragorn. Mi trovo nella stessa barca. Ho aperto altri due conti demo domenica scorsa, poco prima dell'apertura del mercato. Uno su FXDD, l'altro su IBFX. Entrambi i conti hanno impostazioni identiche fino all'ultimo byte.

A partire da oggi, il conto FXDD è giù e l'IBFX è leggermente in alto.

Anche il mio mini live con IBFX ha scambiato in modo diverso.

Mi chiedo perché fare tutto il lavoro con i test avanti/indietro, modificare il codice, ecc. quando alla fine il conto live si comporta in modo completamente diverso da quello demo.

AZBOfin

 
AZBOfin:
Ti capisco Aragorn. Mi trovo nella stessa barca. Ho aperto altri due conti demo domenica scorsa, poco prima dell'apertura del mercato. Uno su FXDD, l'altro su IBFX. Entrambi i conti hanno impostazioni identiche fino all'ultimo byte.

A partire da oggi, il conto FXDD è in calo e l'IBFX è leggermente in rialzo.

Anche il mio mini live con IBFX ha scambiato in modo diverso.

Mi chiedo perché fare tutto il lavoro con test avanti/indietro, modificare il codice, ecc. quando alla fine il conto live si comporta in modo completamente diverso da quello demo.

AZBOfin

Suppongo che lo facciamo perché la soluzione è nei valori di approssimazione. Non abbiamo davvero altra scelta che approssimare al meglio e usare ciò che abbiamo per fare il lavoro. È un lavoro inpreciso e disordinato al meglio, almeno il meglio che sono stato in grado di fare è così finora.

Per chiunque segua il mio sviluppo della resistenza di supporto, l'ho appena spiegato a qualcun altro su un altro thread... forse questo vi aiuterà a capire i miei obiettivi con il progetto.

https://www.mql5.com/en/forum/175257/page17

Ho appena ridotto il rischio alla metà di quello che era e accidenti se non ha appena vinto una posizione mentre le mie spalle erano girate e messo quasi tutta la perdita dell'ultimo commercio di nuovo nel conto ... se avessi lasciato solo avrei vinto l'altra metà ...

Più lo gestisco e più ricevo il messaggio di non interferire con esso, di lasciarlo andare... ho difficoltà a lasciare il controllo. Ma quasi ogni volta che mi intrometto in questo EA è un errore da parte mia e mi costa.

 

Ok, gli ultimi due giorni sono stati totalmente schifosi sull'euro. Qualcun altro ha avuto una serie di perdite come me di recente? Devo far funzionare il filtro supporto-resistenza.

 
Aaragorn:
Ok, gli ultimi due giorni sono stati totalmente schifosi sull'euro. Qualcun altro ha avuto una serie di perdite come me di recente? Devo far funzionare il filtro di supporto e resistenza.

Farò un po 'di controllo dei danni durante il fine settimana, ma hai ragione, non sembra molto buono. da quando ho iniziato con la tua versione euro questo martedì scorso, sono giù -23 pips con 4 vincenti e 3 perdenti mestieri. ouch.

AZBOfin

PS: ho fatto trading sul conto mini live di IBFX con impostazioni standard

 
AZBOfin:
Farò un po' di controllo dei danni durante il fine settimana, ma hai ragione, non sembra molto buono. da quando ho iniziato con la tua versione in euro lo scorso martedì, sono a -23 pips con 4 trade vincenti e 3 perdenti. ahi.

AZBOfin

PS: ho fatto trading sul conto mini live di IBFX con impostazioni standard

Non so proprio come interpretare queste cose. Ho visto anche il conto demo subire un colpo, ma ha vinto più trade del conto live. Non so come fidarmi di un sistema che fa solo %72 win/loss... sembra che non so quando quel brutto 28% sta per colpire e voglio un sistema di cui mi posso fidare abbastanza per fare leva. Finisco per fare leva giusto in tempo per colpire i pattini con questo.

Quello che voglio sapere e che ancora non so è cosa uccide questo sistema. Quali condizioni di mercato lo minano. Penso che sia il momento di esaminare più da vicino il backtest su quei tempi perdenti e capire cosa c'era nel mercato quando stava perdendo che lo faceva perdere e cosa nel mercato lo fa vincere. Finché non possiamo davvero rispondere a queste domande fondamentali su questo ea, sarà davvero difficile progettare un filtro appropriato. Dobbiamo solo sapere di più su ciò che funziona e non funziona per questo sistema.

Il mio progetto di supporto e resistenza sta progredendo e ho trovato qualcuno con più esperienza di programmazione che è disposto ad assistermi ora. È tutto a posto. Fino ad allora mantenete le dimensioni dei lotti piccole e i rischi bassi se decidete di lasciarlo andare in diretta. Questo è tutto quello che posso pensare al momento. Questo a meno che qualcun altro non voglia postare una dichiarazione che dimostri il contrario. Non tutto è perduto, ma nemmeno tutte le speranze sono realizzate. Sembra il momento per una maggiore persistenza.

 

Ho provato ad acquistare CT, non riesco a farli rispondere alla mia email perché ho avuto una domanda sul loro processo di acquisto, nessun servizio clienti significa nessuna vendita, lo comprerei in un batter d'occhio se potessi avere una risposta...

 

Ok, vedi questo?

Questi sono tutti trade perdenti. Si verificano nella stessa ora. Si verificano quando il CCI permette i trade e la logica dice che c'è un'inversione, quindi entra.

Ho visto questo verificarsi in live trading e demo. Non è solo il backtester che fa questo.

Suggerisco per cominciare di fare un subroutein che permetta solo un trade per barra per cominciare. La logica del programma non è costruita per più di un trade per barra e ovviamente prende dei grossi drawdown a causa di questo.

Non sono esattamente sicuro di come fare, ma questo è un buon punto di partenza. Che ne dite, qualche altro sviluppatore ha una comoda funzione che permette un solo trade per barra?

File:
cyberia.gif  19 kb
 
Aaragorn:
ok vedi questo?

Questi sono tutti trade perdenti. Si verificano nella stessa ora. Si verificano quando il CCI permette i trade e la logica dice che c'è un'inversione, quindi entra.

Ho visto questo accadere nel trading dal vivo e nella demo. Non è solo il backtester che fa questo.

Suggerisco per cominciare di fare un subroutein che permetta solo un trade per barra per cominciare. La logica del programma non è costruita per più di un commercio per barra e ovviamente prende alcuni grandi drawdown a causa di questo.

Non sono esattamente sicuro di come farlo ma è un buon punto di partenza. Che ne dite, qualche altro sviluppatore ha una comoda funzione che permette un solo ordine per barra?

Questa è una grande idea. Ho preso 5 perdite di fila su una barra proprio come quella. Nemmeno le notizie.

Puoi provare a impostare il cci per vendere solo sotto lo 0 e comprare solo sopra lo 0. Puoi provare a togliere quel range tra 50 e -50 dove può comprare e vendere.

ma 1 ordine per barra è geniale

 

osservazioni di questa settimana

Aaragorn:
ok vedi questo?

Questi sono tutti trade perdenti. Si verificano nella stessa ora. Si verificano quando il CCI permette i trade e la logica dice che un'inversione è qui e quindi entra.

Ho visto questo accadere nel live trading e nella demo. Non è solo il backtester che fa questo.

Suggerisco per cominciare di fare un subroutein che permetta solo un trade per barra per cominciare. La logica del programma non è costruita per più di un trade per barra e ovviamente prende dei grossi drawdown a causa di questo.

Non sono esattamente sicuro di come farlo ma è un buon punto di partenza. Che ne dite, qualche altro sviluppatore ha una comoda funzione che permette un solo scambio per barra?

Ho anche notato che E.A non ama scambiare più di una volta in un'ora creando pesanti perdite quando lo fa. Questo E.A, prende a calci il proverbiale ...... ma non nel modo in cui il programmatore intendeva. Ho scoperto che il trading inverso è redditizio non solo durante i tempi disabilitati ma anche durante le ore normali. Il rapporto tra t.p e s/l lo rende tale. Ho sperimentato situazioni questa settimana e la scorsa dove l'E.A vincerà otto trade di fila e poi subirà due perdite (nel mio caso vince per recuperare). Un'altra piccola osservazione che ho trovato e che supporta un'affermazione che David ha fatto un po' di tempo fa riguarda il t.p a cui mira Cyberia. All'inizio CYBERIA (senza mm e con lotti fissi) sembra puntare ad un t.p. di esclusiva. Dopo una settimana il t.p. è salito a 10 e 11 per trade. Non solo, ma il suo tasso di successo è migliorato notevolmente. Non so se questo è possibile, ma se si potesse avere una funzione in cui l'E.A per la prima settimana ha fatto i suoi calcoli ma non ha effettivamente piazzato i trade, e poi ha piazzato i trade dalla seconda settimana in poi (o quando è balzato a 10 tp). Penso che per quelli di voi che devono ancora eseguire l'E.A in un conto live vedreste una grande differenza (meno drawdown, se ce n'è).

Le mie impostazioni standard usando davids e.a su usdjpy sono a 193 dollari di profitto. Data di inizio 16 ottobre (72% di operazioni redditizie). Sono davvero tentato di mettere $5.000 in questo solo per soddisfare la mia curiosità e far muovere le cose. Ma il mio buon senso sta respingendo le mie assurdità. Per ora...

operazioni di decisione inversa per la settimana $1959.24 di profitto (53.8% di redditività). Solo martedì E.A ha preso 600 dollari. Il più grande drawdown che ho visto è di 179 dollari (8 trade di fila). Il NFP dovrebbe essere interessante oggi, si spera che con la volatilità raggiunga i 2,5k$.

Sto prendendo una parte del profitto per ottenere la decisione inversa nel codice. Offro il primo rifiuto ad Aragorn dato che ha fatto un lavoro ammirevole.

Motivazione: