Perché il mio EA continua a dare profitti negativi durante il back testing? - pagina 2 12345 Nuovo commento [Eliminato] 2013.01.31 16:52 #11 deVries: Ho riscritto il tuo codice e provato un test, vedi anche le impostazioniNon con i migliori backtestdata ma se lo fai bene può essere redditizioRapporto del tester di strategiaRSI_strategia_cyxstudioAlpariUK-Demo - Micro+Classic (Build 451)SimboloEURUSD (Euro contro Dollaro USA)PeriodoQuotidiano (D1) 2010.10.01 00:00 - 2013.01.29 00:00 (2010.10.01 - 2013.01.30)ModelloOgni tick (il metodo più preciso basato su tutti i timeframe minimi disponibili)ParametriRSIPeriod=3; UpperBound=90; LowerBound=5; MASlowPeriod=200; MAFastPeriod=5; Lots=0.1; StopLoss=60; TakeProfit=120; TrailingStop=40; MagicNumber=54333; CommentEA="strategia RSI"; Slippage.Pips=3;Bars in test1603Ticks modellati40187739Qualità della modellazionen/aErrori di grafici non corrispondenti2062601Deposito iniziale3000.00Profitto netto totale967.18Utile lordo2226.34Perdita lorda-1259.16Fattore di profitto1.77Guadagno previsto13.62Drawdown assoluto107.10Dispersione massima327.47 (7.99%)Prelievo relativo7.99% (327.47)Totale operazioni71Posizioni corte (vinto %)66 (69.70%)Posizioni lunghe (% won)5 (80.00%)Operazioni con profitto (% del totale)50 (70.42%)Operazioni in perdita (% del totale)21 (29.58%)Il più grandeprofitto120.07operazione in perdita-60.00Mediadi profitto44.53commercio in perdita-59.96Massimovittorie consecutive (profitto in denaro)8 (424.26)perdite consecutive (perdita in denaro)3 (-179.93)Massimoprofitto consecutivo (conteggio delle vittorie)424.26 (8)perdita consecutiva (conteggio delle perdite)-179.93 (3)Mediavittorie consecutive4perdite consecutive2 Ho scritto almeno 7-10 volte in modi diversi e non ha eseguito alcuna posizione o ha fatto profitti negativi... come hai fatto ???? Tjipke de Vries 2013.01.31 16:56 #12 RaptorUK: Questo mi fa pensare che ci sia qualcosa che non va. if (BUYS<1 && CurrentRSI < LowerBound && pAsk > MA200) { //Condition to execute buy entry Ticket = OrderSend(Symbol(), OP_BUY,...... // LowerBound=5 if (SELLS<1 && CurrentRSI > UpperBound && pBid > MA200) { //Condition to execute sell entry Ticket = OrderSend(Symbol(), OP_SELL, Lots,...... // UpperBound=90 Normalmente sì, ma in questo caso no, è fatto con l'impostazionechecyxstudio ha scelto per RSI [Eliminato] 2013.01.31 16:57 #13 deVries: Ho riscritto il tuo codice e provato un test, vedi anche le impostazioniNon con i migliori backtestdata ma se lo fai bene può essere redditizioRapporto del tester di strategiaRSI_strategia_cyxstudioAlpariUK-Demo - Micro+Classic (Build 451)SimboloEURUSD (Euro contro Dollaro USA)PeriodoQuotidiano (D1) 2010.10.01 00:00 - 2013.01.29 00:00 (2010.10.01 - 2013.01.30)ModelloOgni tick (il metodo più preciso basato su tutti i timeframe minimi disponibili)ParametriRSIPeriod=3; UpperBound=90; LowerBound=5; MASlowPeriod=200; MAFastPeriod=5; Lots=0.1; StopLoss=60; TakeProfit=120; TrailingStop=40; MagicNumber=54333; CommentEA="strategia RSI"; Slippage.Pips=3;Bars in test1603Ticks modellati40187739Qualità della modellazionen/aErrori di grafici non corrispondenti2062601Deposito iniziale3000.00Profitto netto totale967.18Utile lordo2226.34Perdita lorda-1259.16Fattore di profitto1.77Guadagno previsto13.62Drawdown assoluto107.10Dispersione massima327.47 (7.99%)Prelievo relativo7.99% (327.47)Totale operazioni71Posizioni corte (vinto %)66 (69.70%)Posizioni lunghe (% won)5 (80.00%)Operazioni con profitto (% del totale)50 (70.42%)Operazioni in perdita (% del totale)21 (29.58%)Il più grandeprofitto120.07operazione in perdita-60.00Mediadi profitto44.53commercio in perdita-59.96Massimovittorie consecutive (profitto in denaro)8 (424.26)perdite consecutive (perdita in denaro)3 (-179.93)Massimoprofitto consecutivo (conteggio delle vittorie)424.26 (8)perdita consecutiva (conteggio delle perdite)-179.93 (3)Mediavittorie consecutive4perdite consecutive2 Mi faresti dare un'occhiata al tuo codice? Ho bisogno di studiarlo e imparare dai miei errori. Simon Gniadkowski 2013.01.31 17:06 #14 deVries: Normalmente sì, ma in questo caso no, è fatto con l'impostazionechecyxstudio ha scelto per RSI Ah OK, se puoi spiegarlo allora non c'è motivo di preoccuparsi ;-) Tjipke de Vries 2013.01.31 17:09 #15 Con UpperBound 90 e LowerBound 10Rapporto del tester di strategiaRSI_strategia_cyxstudioAlpariUK-Demo - Micro+Classic (Build 451)SimboloEURUSD (Euro contro Dollaro USA)PeriodoQuotidiano (D1) 2010.10.01 00:00 - 2013.01.29 00:00 (2010.10.01 - 2013.01.30)ModelloOgni tick (il metodo più preciso basato su tutti i timeframe minimi disponibili)ParametriRSIPeriod=3; UpperBound=90; LowerBound=10; MASlowPeriod=200; MAFastPeriod=5; Lots=0.1; StopLoss=60; TakeProfit=120; TrailingStop=40; MagicNumber=54333; CommentEA="strategia RSI"; Slippage.Pips=3;Bars in test1603Ticks modellati40187739Qualità della modellazionen/aErrori di grafici non corrispondenti2062601Deposito iniziale3000.00Profitto netto totale782.62Utile lordo3062.38Perdita lorda-2279.76Fattore di profitto1.34Payoff previsto7.38Drawdown assoluto106.90Dispersione massima400.70 (9.90%)Prelievo relativo9.90% (400.70)Totale operazioni106Posizioni corte (vinto %)66 (69.70%)Posizioni lunghe (% won)40 (55.00%)Operazioni con profitto (% del totale)68 (64.15%)Operazioni in perdita (% del totale)38 (35.85%)Il più grandeprofitto120.07operazione in perdita-60.12Mediadi profitto45.04commercio in perdita-59.99Massimovittorie consecutive (profitto in denaro)8 (425.96)perdite consecutive (perdita in denaro)4 (-240.12)Massimoprofitto consecutivo (conteggio delle vittorie)490.51 (6)perdita consecutiva (conteggio delle perdite)-240.12 (4)Mediavittorie consecutive3perdite consecutive2Come si presenta Why does my EA Programmatore come partner Il tester nella nuova Tjipke de Vries 2013.01.31 17:25 #16 cyxstudio: Mi faresti dare un'occhiata al tuo codice? Ho bisogno di studiarlo e imparare dai miei errori.Questo è l'inizio.....Dai il tuo commento ..... su ciò che è diverso dal tuo finora...//+------------------------------------------------------------------+ //| RSI_strategy_cyxstudio.mq4 | //| Copyright 2013, Tjipke de Vries | //| https://forum.mql4.com/53695/ | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" extern int RSIPeriod = 3; //number of periods for RSI extern double UpperBound = 90; //set upper bound value for RSI extern double LowerBound = 5; //set lower bound value for RSI extern int MASlowPeriod = 200; extern int MAFastPeriod = 5; extern double Lots = 0.1; extern double StopLoss = 60; //Set the stop loss level extern double TakeProfit = 120; //Set the take profit level extern double TrailingStop = 40; //extra settings for OrderSend extern int MagicNumber = 54333; extern string CommentEA = "RSI strategy"; extern int Slippage.Pips = 3; int BUYS=1,SELLS=1; //++++ These are adjusted for 5 digit brokers. int pips2points; // slippage 3 pips 3=points 30=points double pips2dbl; // Stoploss 15 pips 0.015 0.0150 int Digits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips) //--- //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- if(Digits % 2 == 1) // DE30=1/JPY=3/EURUSD=5 forum.mql4.com/43064#515262 {pips2dbl = Point*10; pips2points = 10; Digits.pips = 1;} else {pips2dbl = Point; pips2points = 1; Digits.pips = 0;} // OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int Ticket; double SL,TP; int Total; double pAsk = MarketInfo(Symbol(), MODE_ASK); double pBid = MarketInfo(Symbol(), MODE_BID); double MA200 = iMA(NULL, 1440, MASlowPeriod, 0,MODE_SMA,PRICE_CLOSE, 0); //200 day Moving Average double MA5 = iMA(NULL, 1440, MAFastPeriod, 0,MODE_SMA,PRICE_CLOSE, 0); // 5 day Moving Average double CurrentRSI = iRSI (NULL, 1440, RSIPeriod,PRICE_CLOSE ,0); if(Bars<100) { Print("bars less than 100"); return(0); } if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ", AccountFreeMargin()); return(0); } if(OrdersTotal()<1) { BUYS=0; SELLS=0; } Poi dai un'occhiata a https://www.mql5.com/en/forum/139654 e prova a fare un ciclo di conto alla rovescia controllando le transazioni [Eliminato] 2013.01.31 17:36 #17 deVries: Questo è l'inizio.....Dai il tuo commento ..... su ciò che è diverso dal tuo finora...Poi dai un'occhiata a https://www.mql5.com/en/forum/139654 e prova a fare un ciclo che conti alla rovescia controllando i trade Non è completo...Sto cercando di riempire il resto e testarlo ora ...a proposito, perché dovresti usare quando un semplice Ask può restituire lo stesso valore?double pAsk = MarketInfo(Symbol(), MODE_ASK); Simon Gniadkowski 2013.01.31 17:38 #18 cyxstudio: Non è completo...Sto cercando di riempire il resto e testarlo ora...A proposito, perché dovresti usare quando un semplice Ask può restituire lo stesso valore? Ask può essere scaduto, la chiamata sopra sarà attuale senza la necessità di chiamare RefreshRates() [Eliminato] 2013.01.31 17:43 #19 Inoltre gli int BUYS=1,SELLS=1; dovrebbero essere indicatori se una posizione è stata aperta, giusto?Ho aggiunto i miei script e quando l'ho testato con strategy tester per 20 giorni ... non è successo nulla, nessun trade è stato eseguito Dannato Martin Errori, bug, domande Consigliere Ivan - il Tjipke de Vries 2013.01.31 18:02 #20 cyxstudio:Inoltre gli int BUYS=1,SELLS=1; dovrebbero essere indicatori se una posizione è stata aperta, giusto?Ho aggiunto i miei script e quando l'ho testato con strategy tester per 20 giorni ... non è successo nulla, nessun trade è stato eseguito quando si avvia la Metatrader l'EA deve scoprire se c'è un trade apertoFaccio solo il conto alla rovescia per controllare i trade se c'è un tradeSe lo imposto all'inizio su uno e OrdersTotal() >0 allora lo faccio controllare le compravendite if(.......> || .......> ){fare il ciclo.... EA per ogni coppia Qualsiasi domanda da principiante, L'EA non funziona su 12345 Nuovo commento
Ho riscritto il tuo codice e provato un test, vedi anche le impostazioni
Non con i migliori backtestdata ma se lo fai bene può essere redditizio
Ho scritto almeno 7-10 volte in modi diversi e non ha eseguito alcuna posizione o ha fatto profitti negativi... come hai fatto ????
Questo mi fa pensare che ci sia qualcosa che non va.
Ho riscritto il tuo codice e provato un test, vedi anche le impostazioni
Non con i migliori backtestdata ma se lo fai bene può essere redditizio
Mi faresti dare un'occhiata al tuo codice? Ho bisogno di studiarlo e imparare dai miei errori.
Normalmente sì, ma in questo caso no, è fatto con l'impostazionechecyxstudio ha scelto per RSI
Con UpperBound 90 e LowerBound 10
Come si presenta
Mi faresti dare un'occhiata al tuo codice? Ho bisogno di studiarlo e imparare dai miei errori.
Questo è l'inizio.....
Dai il tuo commento ..... su ciò che è diverso dal tuo finora...
Poi dai un'occhiata a https://www.mql5.com/en/forum/139654 e prova a fare un ciclo di conto alla rovescia controllando le transazioni
Questo è l'inizio.....
Dai il tuo commento ..... su ciò che è diverso dal tuo finora...
Poi dai un'occhiata a https://www.mql5.com/en/forum/139654 e prova a fare un ciclo che conti alla rovescia controllando i trade
Non è completo...
Sto cercando di riempire il resto e testarlo ora ...
a proposito, perché dovresti usare quando un semplice Ask può restituire lo stesso valore?
Non è completo...
Sto cercando di riempire il resto e testarlo ora...
A proposito, perché dovresti usare quando un semplice Ask può restituire lo stesso valore?
Inoltre gli int BUYS=1,SELLS=1; dovrebbero essere indicatori se una posizione è stata aperta, giusto?
Ho aggiunto i miei script e quando l'ho testato con strategy tester per 20 giorni ... non è successo nulla, nessun trade è stato eseguito
Inoltre gli int BUYS=1,SELLS=1; dovrebbero essere indicatori se una posizione è stata aperta, giusto?
Ho aggiunto i miei script e quando l'ho testato con strategy tester per 20 giorni ... non è successo nulla, nessun trade è stato eseguito
quando si avvia la Metatrader l'EA deve scoprire se c'è un trade aperto
Faccio solo il conto alla rovescia per controllare i trade se c'è un trade
Se lo imposto all'inizio su uno e OrdersTotal() >0 allora lo faccio controllare le compravendite if(.......> || .......> ){fare il ciclo....