Kutsal Kase'nin Peşinde...

 

İyi günler...ya da iyi geceler. Burada bir manyak danışman üzerinde çalışıyorum. Henüz yayınlamayacağım, henüz kesinleşmedi, ama kesinlikle yayınlayacağım ... ÜCRETSİZ. Güncel yardıma ihtiyacı var. Soru namba minibüsü - otomatik optimizasyon nasıl yapılır ... 8-16 parametre diyelim? Sitede parlak bir nokta gibi görünen otomatik optimizasyon hakkında bir makale ... sadece çalışmıyor ... orada, mevcut 4 parametre optimuma ayarlanabilir ve bir şekilde her şey beceriksizce çalışır. SEVGİLİ KİM, SİZİNLE ÖZEL İLETİŞİME GEÇEBİLİRSİNİZ. İkinci soru, pek çok hindinin her türlü manyak tarafından düzenlendiği, ancak kayda değer bir şey gözlenmediğidir. Ya yeniden çizilir, sonra yavaşlar, sonra genel olarak bir tür gösteriye katılırım. Hayır, "bana bir subomega göstergesi verin, dünyayı tersine çevireyim" demiyorum. Danışmandaki stratejimin anlamı, 8 göstergeden ve biraz filtrelenmiş olandan gelen grup sinyalinin yüzdesidir. Yani, standart bir koleksiyonun göstergeleri var, bireylerle deney yapmak istiyorum... Genel olarak, kolektif zihin kazanabilir.

 
Spesifik olalım. Ne, dedikleri gibi, yoldaş cherchez la (veya le, peki, en azından les)? Göstergeler? hangi - onların şaftı. Ayrıca, karakterleri çok çeşitlidir.
 
Pekala, spesifik olalım. Başlangıç olarak, Stokastik'i aldım - en hızlısı, sonra OsMy'den bir filtreyle seyreltdim ... peki, sonra başladı - HiLo, Aligator, Mashki, CCI. Onlardan öyle oldu... Ama tüm sinyallerin yüzdelerine çevrilirken, bazı insanlar görmezden geliniyor. Optimizasyona dayalı önceliklerin belirlenmesi gerektiği açıktır. Ancak diğer yöne gidebilirsiniz - az çok yeterli bir hindi (birkaç hindi gidin) sinyal çıkışı 0 ve 1 ile yığına itmek için BURADA o zaman iyi bir fikir olacaktır. Bu aşamada, günlük 1.85 ve 50 pozisyonluk bir matematiksel beklenti ile yüzde birkaçlık bir düşüş elde ediyorum. Bana göre hiç de kötü değil. Ama şu var ki - bir an var ve eğer doğruysa, o zaman kural olarak, uzmanın acımasızca yanıldığı günde 2 an (ve tarihten herhangi bir gün). Bu yüzden mümkün olduğunca bu tür anları filtrelemek istedim. Zig-Zag, yeniden çizilmeyen ve daha hızlı çalışmayan bir tür akım olabilir. Bence bir yerlerde bir yerde bir şey gördüm ... ama ne yazık ki, o zaman ihanet etmedim ama şimdi bulamıyorum. Veya işte bir başkası - Ekstrapolatör ... Yaralanacaksınız ... ama bu canavar yeniden çiziliyor ... İşte nasıl olunur?
 
     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 ; }

Ve hesaplıyoruz

   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" ) ; }
 
Bu formatta bir göstergeye ihtiyacımız var... Evet, bir düzine parametrenin otomatik optimizasyonunu unutmayın... O da bir problem...
 

Her şeyden önce, "zor" yanılgıya düştüğü piyasanın durumunun mümkün olduğu kadar açık bir şekilde resmileştirilmesi gerekir. Ek olarak, yinelenen göstergeleri hariç tutmak önemlidir - aynı arabalar ve arabaların özü olan bir timsah.

Aynı zamanda, otomatik optimizasyonu başlangıçta daha basit bir şeye yönlendirmeniz gerekir. Gerçek şu ki, optimizasyon ve aynı zamanda otomatik optimizasyon oldukça tartışmalı bir fenomendir ve çoğu zaman "yaşam" tarafından doğrulama gerektirir. Ek olarak, test geçmişini hizalamak için 10 parametreli optimizasyon bir şekilde uygundur. Sistemin dışarıdan yardım almadan net bir şekilde girebilmesi ve en önemlisi kar ile çıkabilmesi için öncelikle bu göstergelerle uğraşmanız gerektiğini düşünüyorum.

Bu elbette IMHO - sizin kaseniz ve genel olarak herkesin bir dur ve al (varsa) veya sadece resmi bir çıkışa sahip olması gerekir, kendi iç ticaret ilkelerine göre ve tarihte basit (veya aynı GA) bir seçim değil .