StH11v=iStochastic(NULL, TF1, stK, stP, stD,MODE_SMA,0,MODE_MAIN,0); StH1pr1v=iStochastic(NULL, TF1, stK, stP, stD,MODE_SMA,0,MODE_SIGNAL,0); StH41v=iStochastic(NULL, TF2, stK, stP, stD,MODE_SMA,0,MODE_MAIN,0); StH4pr1v=iStochastic(NULL, TF2, stK, stP, stD,MODE_SMA,0,MODE_SIGNAL,0); StD11v=iStochastic(NULL, TF3, stK, stP, stD,MODE_SMA,0,MODE_MAIN,0); StD1pr1v=iStochastic(NULL, TF3, stK, stP, stD,MODE_SMA,0,MODE_SIGNAL,0); if ( StH11v<25 && StH1pr1v<25 && StH11v> StH1pr1v){ Stx1TF1x= S; Stx1TF1y=0;} if ( StH11v>75 && StH1pr1v>75 && StH11v< StH1pr1v){ Stx1TF1y= S; Stx1TF1x=0;} if ( StH41v<25 && StH4pr1v<25 && StH41v> StH4pr1v){ Stx1TF2x= S; Stx1TF2y=0;} if ( StH41v>75 && StH4pr1v>75 && StH41v< StH4pr1v){ Stx1TF2y= S; Stx1TF2x=0;} if ( StD11v<25 && StD1pr1v<25 && StD11v> StD1pr1v){ Stx1TF3x= S; Stx1TF3y=0;} if ( StD11v>75 && StD1pr1v>75 && StD11v< StD1pr1v){ Stx1TF3y= S; Stx1TF3x=0;} if ( StH11v>25 && StH1pr1v>25 && StH11v> StH1pr1v){ Stx1TF1x=0; Stx1TF1y=0;} if ( StH11v<75 && StH1pr1v<75 && StH11v< StH1pr1v){ Stx1TF1y=0; Stx1TF1x=0;} if ( StH41v>25 && StH4pr1v>25 && StH41v> StH4pr1v){ Stx1TF2x=0; Stx1TF2y=0;} if ( StH41v<75 && StH4pr1v<75 && StH41v< StH4pr1v){ Stx1TF2y=0; Stx1TF2x=0;} if ( StD11v>25 && StD1pr1v>25 && StD11v> StD1pr1v){ Stx1TF3x=0; Stx1TF3y=0;} if ( StD11v<75 && StD1pr1v<75 && StD11v< StD1pr1v){ Stx1TF3y=0; Stx1TF3x=0;}
OSH1=iOsMA(NULL, TF1, W, H, C,PRICE_CLOSE,0); OSH4=iOsMA(NULL, TF2, W, H, C,PRICE_CLOSE,0); OSD1=iOsMA(NULL, TF3, W, H, C,PRICE_CLOSE,0); if ( OSH1<- OS){ OSTF1x= O; OSTF1y=0;} if ( OSH1> OS) { OSTF1x=0; OSTF1y= O;} if ( OSH4<- OS){ OSTF2x= O; OSTF2y=0;} if ( OSH4> OS) { OSTF2x=0; OSTF2y= O;} if ( OSD1<- OS){ OSTF3x= O; OSTF3y=0;} if ( OSD1> OS) { OSTF3x=0; OSTF3y= O;}
double sigyH1=iLowest (NULL, TF1,MODE_CLOSE,3,0); double sigyH4=iLowest (NULL, TF2,MODE_CLOSE,3,0); double sigyD1=iLowest (NULL, TF2,MODE_CLOSE,3,0); double sigxH1=iHighest(NULL, TF1,MODE_CLOSE,3,0); double sigxH4=iHighest(NULL, TF2,MODE_CLOSE,3,0); double sigxD1=iHighest(NULL, TF3,MODE_CLOSE,3,0); if ( sigyH1==1){ SigYTF1= I; SigXTF1=0;} if ( sigyH4==1){ SigYTF2= I; SigXTF2=0;} if ( sigyD1==1){ SigYTF3= I; SigXTF3=0;} if ( sigxH1==1){ SigYTF1=0; SigXTF1= I;} if ( sigxH4==1){ SigYTF2=0; SigXTF2= I;} if ( sigxD1==1){ SigYTF3=0; SigXTF3= I;}
double Gator1H1=iAlligator(NULL, TF1,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORJAW,0); double Gator1H4=iAlligator(NULL, TF2,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORJAW,0); double Gator1D1=iAlligator(NULL, TF3,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORJAW,0); double Gator2H1=iAlligator(NULL, TF1,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORTEETH,0); double Gator2H4=iAlligator(NULL, TF2,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORTEETH,0); double Gator2D1=iAlligator(NULL, TF3,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORTEETH,0); double Gator3H1=iAlligator(NULL, TF1,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORLIPS,0); double Gator3H4=iAlligator(NULL, TF2,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORLIPS,0); double Gator3D1=iAlligator(NULL, TF3,13,8,8,5,5,3,MODE_SMMA,PRICE_WEIGHTED, MODE_GATORLIPS,0); if ( Gator3H1> Gator1H1+ shirina){ GatorX1= G; GatorY1=0;} if ( Gator3H4> Gator1H4+ shirina){ GatorX2= G; GatorY2=0;} if ( Gator3D1> Gator1D1+ shirina){ GatorX3= G; GatorY3=0;} if ( Gator1H1> Gator3H1+ shirina){ GatorX1=0; GatorY1= G;} if ( Gator1H4> Gator3H4+ shirina){ GatorX2=0; GatorY2= G;} if ( Gator1D1> Gator3D1+ shirina){ GatorX3=0; GatorY3= G;}
double MACD1H1=iMACD(NULL, TF1, F_EMA, S_EMA, SMA,PRICE_WEIGHTED,MODE_MAIN,0); double MACD1H4=iMACD(NULL, TF2, F_EMA, S_EMA, SMA,PRICE_WEIGHTED,MODE_MAIN,0); double MACD1D1=iMACD(NULL, TF3, F_EMA, S_EMA, SMA,PRICE_WEIGHTED,MODE_MAIN,0); double MACD2H1=iMACD(NULL, TF1, F_EMA, S_EMA, SMA,PRICE_WEIGHTED,MODE_SIGNAL,0); double MACD2H4=iMACD(NULL, TF2, F_EMA, S_EMA, SMA,PRICE_WEIGHTED,MODE_SIGNAL,0); double MACD2D1=iMACD(NULL, TF3, F_EMA, S_EMA, SMA,PRICE_WEIGHTED,MODE_SIGNAL,0); double MACD3H1=iMACD(NULL, TF1, S_EMA*2, F_EMA*2, SMA*2,PRICE_WEIGHTED,MODE_MAIN,0); double MACD3H4=iMACD(NULL, TF2, S_EMA*2, F_EMA*2, SMA*2,PRICE_WEIGHTED,MODE_MAIN,0); double MACD3D1=iMACD(NULL, TF3, S_EMA*2, F_EMA*2, SMA*2,PRICE_WEIGHTED,MODE_MAIN,0); double MACD4H1=iMACD(NULL, TF1, S_EMA*2, F_EMA*2, SMA*2,PRICE_WEIGHTED,MODE_SIGNAL,0); double MACD4H4=iMACD(NULL, TF2, S_EMA*2, F_EMA*2, SMA*2,PRICE_WEIGHTED,MODE_SIGNAL,0); double MACD4D1=iMACD(NULL, TF3, S_EMA*2, F_EMA*2, SMA*2,PRICE_WEIGHTED,MODE_SIGNAL,0); if(( MACD1H1< MACD2H1)&&( MACD2H1>0)&&( MACD3H1< MACD4H1)&&( MACD4H1>0)){ MACDy1= M; MACDx1=0;} if(( MACD1H4< MACD2H4)&&( MACD2H4>0)&&( MACD3H4< MACD4H4)&&( MACD4H4>0)){ MACDy2= M; MACDx2=0;} if(( MACD1D1< MACD2D1)&&( MACD2D1>0)&&( MACD3D1< MACD4D1)&&( MACD4D1>0)){ MACDy3= M; MACDx3=0;} if(( MACD1H1> MACD2H1)&&( MACD2H1<0)&&( MACD3H1> MACD4H1)&&( MACD4H1<0)){ MACDy1=0; MACDx1= M;} if(( MACD1H4> MACD2H4)&&( MACD2H4<0)&&( MACD3H4> MACD4H4)&&( MACD4H4<0)){ MACDy2=0; MACDx2= M;} if(( MACD1D1> MACD2D1)&&( MACD2D1<0)&&( MACD3D1> MACD4D1)&&( MACD4D1<0)){ MACDy3=0; MACDx3= M;}
double CCIH1=iCCI(NULL, TF1, CCI,PRICE_CLOSE,0); double CCIH4=iCCI(NULL, TF1, CCI,PRICE_CLOSE,0); double CCID1=iCCI(NULL, TF1, CCI,PRICE_CLOSE,0); if( CCIH1>120){ CCIx1= CC; CCIy1=0;} if( CCIH4>120){ CCIx2= CC; CCIy2=0;} if( CCID1>120){ CCIx3= CC; CCIy3=0;} if( CCIH1<-120){ CCIx1=0; CCIy1= CC;} if( CCIH4<-120){ CCIx2=0; CCIy2= CC;} if( CCID1<-120){ CCIx3=0; CCIy3= CC;}
E calcolare...
double resultz1 = ( Stx1TF1x + Stx1TF2x + Stx1TF3x + OSTF1x + OSTF2x + OSTF3x + SigXTF1 + SigXTF2 + SigXTF3 + GatorX1 + GatorX2 + GatorX3 + MACDx1 + MACDx2 + MACDx3 + CCIx1 + CCIx2 + CCIx3) * 5.5555555555555555555555555555556; double resultz2 = ( Stx1TF1y + Stx1TF2y + Stx1TF3y + OSTF1y + OSTF2y + OSTF3y + SigYTF1 + SigYTF2 + SigYTF3 + GatorY1 + GatorY2 + GatorY3 + MACDy1 + MACDy2 + MACDy3 + CCIy1 + CCIy2 + CCIy3) * 5.5555555555555555555555555555556; if ( resultz1< Skill && resultz2< Skill) { Signal=0; Comment("КУРИМ");} if ( resultz1> Skill) { Signal=1; Comment("Неплохо бы BUY");} if ( resultz2> Skill) { Signal=-1;Comment("Неплохо бы SELL");} if ( resultz1> SkillMAX) { Signal=2; Comment("АФИГЕННО BUY");} if ( resultz1> SkillMAX) { Signal=-2; Comment("ФАИГЕННО SELL");}
Prima di tutto, è necessario formalizzare il più chiaramente possibile le condizioni di mercato in cui è "difficile" commettere errori. Inoltre, è importante escludere gli indicatori ripetitivi - gli stessi tergicristalli e l'alligatore, che è l'essenza dei tergicristalli.
Allo stesso tempo, dovreste inizialmente eseguire l'auto-ottimizzazione su qualcosa di più semplice. Il fatto è che l'ottimizzazione, e con essa l'auto-ottimizzazione, è un fenomeno piuttosto controverso e il più delle volte richiede una verifica della "vita". Inoltre, ottimizzare su 10 parametri per allineare la storia dei test è un adattamento in un certo senso. Penso che si dovrebbe prima affrontare questi indicatori, in modo che il sistema potrebbe facilmente entrare senza aiuto esterno, e soprattutto, profitti.
Questo è naturalmente IMHO - il tuo graal, e qualsiasi in generale dovrebbe avere uno stop and take (se presente), o solo un'uscita formalizzata, basata sui suoi principi interni di trading, piuttosto che una semplice (o la stessa GA) selezione sulla storia.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Pomeriggio... o notte, gente. Sto lavorando su un EA maniacale qui. Non lo posterò ancora, non è ancora finito, ma lo posterò di sicuro... GRATIS. Ho solo bisogno di aiuto. Domanda namba van - come fare auto-ottimizzazione ... diciamo 8-16 napametrov? Articolo su auto-ottimizzazione, che incombe grande sul sito ... non che non funziona ... ci a 4 parametri possono essere messi sul ottimale, e come dodgy tutto funziona. In generale, forse qualcuno sarà prompt Chago dei loro sviluppi? MIA CARA KIM, VARREBBE LA PENA DI RIFERIRSI A TE IN PARTICOLARE. Se ho una buona idea, potrei provare a disegnarne qualcuna sul mercato, ma non ne ho di buone. A volte sovraccarica, a volte rallenta, a volte non mostra nulla di utile. Non sto dicendo "datemi un indicatore subomega e cambierò il mondo". L'essenza della mia strategia nell'Expert Advisor è il rapporto percentuale di un segnale di gruppo di 8 indicatori e uno poco filtrato. Quindi ho indicatori di raccolta standard e voglio sperimentare con indicatori individuali. In generale, forse la mente collettiva vincerà.