köylüler kazanmayı öğrenin [Bölüm 2]! - sayfa 157

 
İşin aslı şu ki, doldurmak ve onları dinamik hale getirmek ile karşı çizgiyi geçerken (ters sinyal ile) kapama arasındaki sabit mesafeden kurtulmak istiyorum.
 
BeerGod :
İşin aslı şu ki, doldurmak ve onları dinamik hale getirmek ile karşı çizgiyi geçerken (ters sinyal ile) kapama arasındaki sabit mesafeden kurtulmak istiyorum.

ATP göstergesinin okumalarına bağlı olarak dinamik bir kanal genişliği yaptım. Şimdiye kadar Avalanche (flipping martin) gibi bir (çevirme) şemaya göre, bu daldan ayarlarla Ilans ile birlikte mikro-gerçek üzerinde çalışıyorum. Ilan'da henüz BÖYLE bir planı test etmedim. Bir cıvatayla değil, OSMA göstergesiyle bir girişim var.

Ilan için - ortalama, Bollinger bantları boyunca bir başlangıç girişi yapabilirsiniz ...

Artan hacimlerde hangi ortalamanın gerçekleştirildiğine ulaşıldığında ortalama alma kanalının genişliğini hesaplama kodu:

 extern int Period_ATR = 30 ;       // значение АТР для расчета динамического канала
extern double Mul_TP = 4.0 ;       // множитель целевой  прибыли в единицах волатильности (АТР)
extern double Mul_Sl = 0.8 ;       // множитель защитной  остановки с последующим производством усреднения позиции при ее сработке уже 
                                   // увеличенным лотом в единицах волатильности (АТР)
... 
//-----------------------------------------------------расчет динамического канала----------------------------    
     if ( Symbol () == "GBPJPY" || Symbol () == "EURJPY" || Symbol () == "USDJPY" || Symbol () == "CHFJPY" ||   Symbol () == "NZDJPY" 
        ||   Symbol () == "USDRUR" ) 
         {                 
           channel = ( iATR ( Symbol (), PERIOD_D1 ,Period_ATR, 1 )* 1000 )*Mul_Sl;                 
           StopLossPips = NormalizeDouble (channel, 0 );                                                                                                         
         }       
     else
         {                 
           channel = 10 * ( iATR ( Symbol (), PERIOD_D1 ,Period_ATR, 1 )* 10000 / 3 )*Mul_Sl;                 
           StopLossPips = NormalizeDouble (channel, 0 );                                                                                                         
         }               
          
     if ( Symbol () == "XAGUSD" )   // || Symbol() == "EURGBP")   StopLossPips = StopLoss;    // т.к. волатильность (по АТР) другая (выше)
         {                 
           channel = ( iATR ( Symbol (), PERIOD_D1 ,Period_ATR, 1 )* 100 )*Mul_Sl;                 
           StopLossPips = NormalizeDouble (channel, 0 );                                                                                                         
         }       
     if ( Symbol () == "XAUUSD" )   // || Symbol() == "XAUUSD" || Symbol() == "EURGBP")   StopLossPips = StopLoss;    // т.к. волатильность (по АТР) другая (выше)
         {                 
           channel = ( iATR ( Symbol (), PERIOD_D1 ,Period_ATR, 1 )* 100 )*Mul_Sl;   // Большая волатильность, поэтому умножение на 10.              
           StopLossPips = NormalizeDouble (channel, 0 );                                                                                                         
         }             
       
     TakeProfitPips= NormalizeDouble (StopLossPips*Mul_TP, 0 );   // расчет уровня тейка для всех инструментов по заданному значению динамического стопа        
                          
 

Teşekkürler, deneyeceğim. Genel olarak, doldurmanın makul olup olmadığı bir anlam vardır.


 
BeerGod :

Teşekkürler, deneyeceğim. Genel olarak, doldurmanın makul olup olmadığı bir anlam vardır.


Benim için zevkti. Kesinlikle! BENİM NACİZANE FİKRİME GÖRE!

Burada doldurmadan değil, ortalamadan bahsediyoruz - bu, Ilan benzeri deneyimler hakkında düşünürseniz ... :-)

Dış değişkenleri optimize edip gerçek hayat için bir savaş versiyonu hazırlar hazırlamaz bir rapor yayınlayacağım!

Ayrıca Bollenger bantlarına bir başlangıç girişi yapabilirim...

 
Evet, aslında "Illan"ımı sıfırdan yazmaya karar verdim, evet, riskli ticaret , ancak risk haklı, şimdiye kadar Bollenger'ı kullanarak giriş yapmaya karar verdim, şimdi ortalamanın akıllıca yapılması gerekiyor, böylece sistem uzak durur. asgari depo.
 
BeerGod :
Evet, aslında "Illan"ımı sıfırdan yazmaya karar verdim, evet, riskli ticaret, ancak risk haklı, şimdiye kadar Bollenger'ı kullanarak girişi yapmaya karar verdim, şimdi ortalama almanın akıllıca yapılması gerekiyor, böylece sistem uzak durur. asgari depo.

Avalanche'ımdaki (geri alma ve tamamlama) ortalama şemalarını bire bir Ilan'a (pozların ortalama fiyatını alarak) aktaracağım ve seçenekleri optimize edeceğim. Bollenger'da da bir başlangıç yapabilirim... Şimdilik OSME'de.

Kod şöyle:

 extern int Max_Iteration = 36 ;     // Максимальное количество итераций (ордеров) в мартине 
extern int k = 2 ;                 // с какой итерации тралим
extern int VAR_MM = 0 ;             // используемый вариант MM в соотв-ии:
                                   // 0 = множитель с числами ФИБО; 
                                   // 1 - по Илану в соответствие с LotExponent 
                                   // 2 - классический мартин - удвоение предыдущего объема
                                   // 3 - мн по ар-ой прогрессии 
                                   // 4 - мартин по схеме домножения предпредыдущего объёма на 2, т.е. 1,2,3,4,6,8,12,16,24,32
extern double LotExponent = 1.1 ;   // на сколько умножать стартовый лот в степени - схема по Илану          
....
 if (Iteration <= Max_Iteration && VAR_MM == 0 )                  
               // Последующие лоты открываются по множителю в соответствие с числами ФИБО           
               switch (Iteration)                                   // Заголовок switch 
                   {                                               // Начало тела switch                  
                     case 1 : Lots_New = lastLots * 1 ; lots = lastLots; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New ); break ; //расчет нового объема       
                     case 2 : Lots_New = lots * 2 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;   
                     case 3 : Lots_New = lots * 3 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;      
                     case 4 : Lots_New = lots * 5 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;  
                     case 5 : Lots_New = lots * 8 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;     
                     case 6 : Lots_New = lots * 13 ;   Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;      
                     case 7 : Lots_New = lots * 21 ;   Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;     
                 ...
                     case 19 : Lots_New = lots * 6765 ; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;                                                   
                     case 20 : Lots_New = lots * 10946 ; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;                           
                     default : Lots_New = lots * 17711 ; {Iteration = 0 ; Print ( "Выход за пределы. Iteration = " , Iteration, " Lots_New = " , Lots_New ); }                      
                   }                                     // Конец тела switch      
                    
           if (Iteration <= Max_Iteration && VAR_MM == 1 )
               //Последующие лоты открываются по ИЛАНУ через экспоненту: iLots = NormalizeDouble(Lots * MathPow(LotExponent, NumOfTrades), lotdecimal);
               switch (Iteration)                         // Заголовок switch 
                   {                                     // Начало тела switch    
                   // case 0 : Lots_New = lots;  Print("старт, Lots_New = ", Lots_New );break; // СТАРТ                
                     case 1 : Lots_New = lastLots * 1 ; lots = lastLots; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New ); break ; //расчет нового объема                                                                                                                        
                     // расчет последующих объемов, открываемых позиций, начиная с объема ПЕРВОЙ-case 1
                     default : Lots_New = lots * MathPow (LotExponent, Iteration); Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);                                                                    
                   }                                   // Конец тела switch  
                
           if (Iteration <= Max_Iteration && VAR_MM == 2 ) // Последующие лоты открываются в соответствие с классическим мартином - удвоение           
               switch (Iteration)                       // Заголовок switch 
                   {                                   // Начало тела switch                       
                     case 1 : Lots_New = lastLots * 1 ; lots = lastLots; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New ); break ; //расчет нового объема       
                     case 2 : Lots_New = lots * 2 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;   
                     case 3 : Lots_New = lots * 4 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;      
                ...                                                    
                     case 16 : Lots_New = Lots * 32768 ; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;
                     case 17 : Lots_New = Lots * 65536 ; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;                                                                  
                     default : Lots_New = lots * 65536 ; {Iteration = 0 ; Print ( "Выход за пределы. Iteration = " , Iteration, " Lots_New = " , Lots_New ); }                      
                   }                          
                   
         if (Iteration <= Max_Iteration && VAR_MM == 3 ) // Последующие лоты открываются в соответствие с членами ар прогрессии           
               switch (Iteration)                       // Заголовок switch 
                     {                                 // Начало тела switch         
                     case 1 : Lots_New = lastLots * 1 ; lots = lastLots; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New ); break ; //расчет нового объема            
                     case 2 : Lots_New = lots * 3 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New );   break ;   
                     case 3 : Lots_New = lots * 5 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New );   break ;      
                     case 4 : Lots_New = lots * 7 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New );   break ;  
                     case 5 : Lots_New = lots * 9 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New );   break ;     
                ...
                     
                     case 57 : Lots_New = lots * 113 ;   Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New );   break ; 
                     case 58 : Lots_New = lots * 115 ;   Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New );   break ;        
                     default : Lots_New = lots * 117 ;  {Iteration = 0 ; Print ( "Выход за пределы. Iteration = " , Iteration, " Lots_New = " , Lots_New ); }                       
                   }                                   // Конец тела switch                                                      
              
               if (Iteration <= Max_Iteration && VAR_MM == 4 ) // мартин по схеме домножения предпредыдущего объёма на 2, т.е. 1,2,3,4,6,8,12,16,24,32             
               switch (Iteration)                       // Заголовок switch 
                   {                                   // Начало тела switch                       
                     case 1 : Lots_New = lastLots * 1 ; lots = lastLots; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New ); break ; //расчет нового объема       
                     case 2 : Lots_New = lots * 2 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;   
                     case 3 : Lots_New = lots * 3 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;      
                     case 4 : Lots_New = lots * 4 ;     Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;  
                   ...  
                    
                     case 31 : Lots_New = lots * 49152 ; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;
                     case 32 : Lots_New = lots * 65536 ; Print ( "Iteration = " , Iteration, " Lots_New = " , Lots_New);   break ;
                     default : Lots_New = lots * 98304 ;{Iteration = 0 ; Print ( "Выход за пределы. Iteration = " , Iteration, " Lots_New = " , Lots_New ); }  
                   }                          
      
 
Kodlar için teşekkürler, beni düşündürüyorlar, yine de kodu kendi mantığıma göre yeniden yazacağım, dinamik olarak ortalama alma ile denemem gerekiyor, o zaman mucizeler mümkün) Sistemin potansiyeli var ... Evet, bu onlardan biri tarihin bölümleri, ancak bu yalnızca ortalama mesafe meselesi (doğru hesaplamada)
 
Tarihe mi çıkıyor? Belki de alıntıların birincil kaynaklarına dönmenin zamanı gelmiştir?
 
 
rentik :

MERHABA köylüler!!!

https://www.mql5.com/ru/forum/142073/page2


Özel!

Kızınızın doğumu için tebrikler!

Aferin!