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;}
Y calcula...
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");}
En primer lugar, es necesario formalizar lo más claramente posible las condiciones del mercado en las que es "difícil" cometer errores. Además, es importante excluir los indicadores repetitivos - los mismos limpiaparabrisas y el caimán, que es la esencia de los limpiaparabrisas.
Al mismo tiempo, debería ejecutar inicialmente la auto-optimización en algo más sencillo. El hecho es que la optimización, y con ella la autooptimización, es un fenómeno bastante controvertido y que, en la mayoría de los casos, requiere un control de "vida". Además, la optimización de 10 parámetros para suavizar el historial de pruebas es un ajuste en cierto modo. Creo que primero debe lidiar con estos indicadores, por lo que el sistema podría entrar fácilmente sin ayuda externa, y lo más importante, los beneficios.
Esto es, por supuesto, IMHO - su grial, y cualquiera en general debe tener una parada y tomar (si hay), o simplemente una salida formalizada, basada en sus principios de negociación interna, en lugar de un simple (o el mismo GA) la selección en la historia.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Buenas tardes... o noches, a todos. Estoy trabajando en un EA maníaco aquí. No lo voy a publicar todavía, aún no está terminado, pero seguro que lo publicaré... GRATIS. Sólo necesito ayuda. Pregunta nemba van - cómo hacer auto-optimización ... decir 8-16 napametrov? Artículo sobre la auto-optimización, que se cierne sobre el sitio ... no es que no funciona ... allí a 4 parámetros se puede poner en el óptimo, y cómo esquiva todo funciona. En general, tal vez alguien va a impulsar Chago de sus propios desarrollos? MI QUERIDA KIM, VALDRÍA LA PENA REFERIRSE A TI EN PARTICULAR. Si tengo una buena idea, puede que intente dibujar alguna en el mercado, pero no tengo ninguna buena. A veces se sobredimensiona, a veces se ralentiza, a veces no muestra nada que merezca la pena. No estoy diciendo "dame un indicador subomega y cambiaré el mundo". La esencia de mi estrategia en el Asesor Experto es la relación porcentual de una señal de grupo de 8 indicadores y una poco filtrada. Así que tengo indicadores de colección estándar y quiero experimentar con indicadores individuales. En general, tal vez la mente colectiva gane.