마을 사람들을 버는 법을 배우십시오 [에피소드 2] ! - 페이지 157

 
문제는 토핑 사이의 고정 거리를 없애고 동적으로 만들고 반대 라인을 넘을 때 닫히고 (역 신호로)
 
BeerGod :
문제는 토핑 사이의 고정 거리를 없애고 동적으로 만들고 반대 라인을 넘을 때 닫히고 (역 신호로)

ATP 표시기의 판독 값에 따라 동적 채널 너비를 만들었습니다. 지금까지 Avalanche(마틴 뒤집기)와 같은 (뒤집기) 방식에 따라 이 분기의 설정을 사용하여 Ilans와 함께 마이크로 리얼에서 작업합니다. 나는 아직 Ilan에서 그러한 계획을 테스트하지 않았습니다. 나는 볼터가 아니라 OSMA 표시기에 의한 항목이 있습니다.

Ilan의 경우 - 평균의 경우 볼린저 밴드를 따라 시작 항목을 만들 수 있습니다 ...

평균화 채널의 너비를 계산하기 위한 코드, 도달 시 증가된 볼륨에서 수행되는 평균화:

 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 );   // расчет уровня тейка для всех инструментов по заданному значению динамического стопа        
                          
 

감사합니다. 실험해 보겠습니다. 일반적으로 충전하는 것이 합리적이라면 의미가 있습니다.


 
BeerGod :

감사합니다. 실험해 보겠습니다. 일반적으로 충전하는 것이 합리적이라면 의미가 있습니다.


별말씀을요. 틀림없이! 임호!

여기서 우리는 토핑에 대해 이야기하는 것이 아니라 평균에 대해 이야기합니다. 이것은 Ilan과 같은 exp에 대해 생각하는 경우 ... :-)

외부 변수를 최적화하고 실전용 전투 버전을 준비하는 대로 레포트 올리겠습니다!

나는 또한 Bollenger 밴드에 시작 항목을 만들 수 있습니다 ...

 
예, 실제로 처음부터 "Illan"을 작성하기로 결정했습니다. 예, 위험한 거래 이지만 위험은 정당합니다. 지금까지는 Bollenger를 사용하여 진입을 하기로 결정했습니다. 이제 평균을 현명하게 수행해야 시스템이 최소 창고.
 
BeerGod :
예, 실제로 처음부터 "Illan"을 작성하기로 결정했습니다. 예, 위험한 거래이지만 위험은 정당합니다. 지금까지는 Bollenger를 사용하여 진입을 하기로 결정했습니다. 이제 평균을 현명하게 수행해야 시스템이 최소 창고.

내 Avalanche(반전 및 추가)에서 Ilan(포즈의 평균 가격)으로 평균 구성표를 전송하고 옵션을 최적화합니다. 나는 또한 Bollenger에서 시작하는 것을 만들 수 있습니다... 지금은 OSME에서.

코드는 다음과 같습니다.

 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 ); }  
                   }                          
      
 
코드에 감사드립니다. 어쨌든 내 논리에 따라 코드를 다시 작성하겠지만 동적으로 평균을 구하는 실험이 필요합니다. 그러면 기적이 가능합니다.) 시스템에는 잠재력이 있습니다. 예, 이것은 다음 중 하나입니다. 역사의 섹션이지만 평균 거리의 문제일 뿐입니다(정확한 계산에서)
 
그것은 역사에 밝혀졌다? 이제 인용문의 주요 출처로 눈을 돌릴 때가 되었습니까?
 

안녕하세요 마을사람들!!!

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

 
rentik :

안녕하세요 마을사람들!!!

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


프리바!

딸의 탄생을 축하합니다!

잘하셨어요!