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 calcular...
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");}
Antes de mais nada, é necessário formalizar o mais claramente possível as condições de mercado sob as quais é "difícil" cometer erros. Além disso, é importante excluir os indicadores repetitivos - os mesmos limpadores e o jacaré, que é a essência dos limpadores.
Ao mesmo tempo, você deve inicialmente executar a auto-optimização em algo mais simples. O fato é que a otimização, e com ela a auto-optimização, é um fenômeno bastante controverso e, na maioria das vezes, requer um controle de "vida". Além disso, a otimização em 10 parâmetros para alinhar o histórico de testes é um ajuste de certa forma. Acho que você deveria lidar primeiro com estes indicadores, para que o sistema pudesse entrar facilmente sem ajuda externa e, o mais importante, lucrar.
Isto é claro IMHO - seu graal, e qualquer em geral deve ter uma parada e tomar (se houver), ou apenas uma saída formalizada, baseada em seus princípios comerciais internos, ao invés de uma simples (ou a mesma AG) seleção sobre a história.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Boa tarde...ou noite, a todos. Estou trabalhando em uma EA maníaca aqui. Não vou postar ainda, só que ainda não está terminado, mas vou postar com certeza...de graça. Eu só preciso de ajuda. Pergunta namba van - como fazer otimização automática ... digamos 8-16 napametrov? Artigo sobre a auto-optimização, que é grande no site ... não que não funcione ... aí podem ser colocados 4 parâmetros no ótimo, e como tudo funciona. Em geral, talvez alguém irá provocar Chago de seus próprios desenvolvimentos? MINHA QUERIDA KIM, VALERIA A PENA REFERIR-SE A VOCÊ EM PARTICULAR. Se eu tiver uma boa idéia, posso tentar desenhar algumas delas no mercado, mas não tenho nenhuma boa. Às vezes, ele se sobrepuja, às vezes se abranda, às vezes não mostra nada que valha a pena. Não estou dizendo "me dê um indicador de subomega e eu mudarei o mundo". A essência da minha estratégia no Expert Advisor é a relação percentual de um sinal de grupo de 8 indicadores e um pequeno sinal filtrado. Portanto, tenho indicadores de coleta padrão e quero experimentar com indicadores individuais. Em geral, talvez a mente coletiva vença.