[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 355

 
FelixFX :



그러나 배열은 7차원이어야 합니까?

 for (g= 0 ;g<= 100000 ;g++){

for (a= 0 ;a<= 100 ;a++){

for (b= 0 ;b<= 100 ;b++){ 

jaw_val1= iMA ( NULL , 0 , a, b, MODE_SMMA , PRICE_MEDIAN , g);

if (jaw_val1<=Close[g]) continue ;

for (c= 0 ;c<= 100 ;c++){

for (d= 0 ;d<= 100 ;d++){

jaw_val2= iMA ( NULL , 0 , c, d, MODE_SMMA , PRICE_MEDIAN , g); 

if (jaw_val2<=Close[g]) continue ;

for (e= 0 ;e<= 100 ;e++){

for (f= 0 ;f<= 100 ;f++){

jaw_val3= iMA ( NULL , 0 , f, e, MODE_SMMA , PRICE_MEDIAN , g); 

if (jaw_val3>Close[g]) sum=sum+(High[g]-Low[g]); 

}}}}}}}   
조명 최적화.
 
마지막 프랙탈의 최대값을 요청하는 방법을 알려주시겠습니까?
 
nadya :
마지막 프랙탈의 최대값을 요청하는 방법을 알려주시겠습니까?

이 페이지의 중간.
 
Roman. :

이 페이지의 중간.
감사해요!
 
PostMessageA를 사용하여 EA를 끄는 방법은 무엇입니까? (전문가 고문 버튼을 누르십시오)
 
nadya :
마지막 프랙탈의 최대값을 요청하는 방법을 알려주시겠습니까?
마지막 프랙탈은 유일한 프랙탈입니다. 그리고 그것이 유일한 것이라면 그것은 최대값과 최소값 모두입니다. 다른 것과 비교할 것이 없습니다.
 
serler2 :
PostMessageA를 사용하여 EA를 끄는 방법은 무엇입니까? (전문가 고문 버튼을 누르십시오)

도서관.

다음과 같이 추가:

 // 5. Функция включения/отключения эксперта.
void ExpertEnabled( bool bSwitch) // TRUE - включить эксперт, FALSE - отключить эксперт.
 {
   if (bSwitch) { if (! IsExpertEnabled ()) ServiceSetExperts();} // Если требуется разрешить работу эксперта. Разрешаем работу экспертов, если она была запрещена.
   else { if ( IsExpertEnabled ()) ServiceSetExperts();} // Если требуется запретить работу эксперта. Запрещаем работу экспертов, если она была разрешена.
 }
 
splxgf :
조명 최적화.


고맙습니다! 하지만

(g=0;g<=100000;g++){

수행할 작업의 조건에 따라 마지막 주기여야 합니다.

 
FelixFX :


고맙습니다! 하지만

(g=0;g<=100000;g++){

수행할 작업의 조건에 따라 마지막 주기여야 합니다.

귀하의 예제 코드에는 그러한 종속성이 없습니다. 다른 예제가 있을 것이고, 다른 솔루션이 있을 것입니다. 이것이 바로 최적화인 이유입니다.

 

안녕하세요!

나는 독학이며 이것이 프로그래밍의 첫 번째 단계입니다.

나는 교육적이고 실용적인 목적을 위한 지표를 만듭니다.

Expert Advisors에서는 거래 기준을 설정할 때 이미 만들어진 지표를 참조하는 것이 더 편리합니다.

이 표시기에서는 여러 표시기(컴파일됨)를 결합하려고 합니다.

그러나 어떻게 든 작동하지 않습니다. 터미널이 멈추고 올바르게 렌더링되지 않습니다.

내가 무엇을 잘못하고 있지? 도와주세요, 제발.

발언, 비판, 수정, 권장 사항은 허용되지만 조롱은 허용되지 않습니다(에이스는 태어나지 않고 ... 모두가 이 길을 갔습니다).

액세스되는 표시기는 사용자가 정의합니다. 모든 것이 정상입니다. 올바르게 작동합니다.

설명이 필요한 경우 답변할 준비가 되었습니다.

 /**********************************************************/
// Иникатор ME_Proboy_F5_Complex_v3.mq4
// Комплексный индикатор включающий в себя анализ
// - Нахождение сигнала пробоя линии построенной по Frac5-5;
// - Выставление ордеров;
// - Времени жизни ордеров;
// - Cрабатывание ордера;
// - Срабатывание стопа;   
// - Срабатывание профита; 
//
// Данный индикатор отображает значение ордеров (Buy, Sell) как графически,  
// 
//-----         
// 2.period_Teni  - определяет за какой период будет расчитываться средняя тень. 
//-----         
// 4.min_order - минимально допустимое расстояние от экстремума свечи до ордера  
//               в пунктах.  
// 5.koef_R     =    1.5;  
//-----         
#property indicator_separate_window 

#property indicator_buffers       8          
#property indicator_color1        Blue  
#property indicator_color2        DeepPink
#property indicator_color3        Blue
#property indicator_color4        DeepPink 
#property indicator_color5        LightPink    
#property indicator_color6        LightPink  
#property indicator_color7        LightGreen  
#property indicator_color8        LightGreen  

#property indicator_maximum   4          //верхнее ограничение шкалы отдельного окна индикатора 
#property indicator_minimum - 4          //нижнее ограничение шкалы отдельного окна индикатора 
#property indicator_level1 0.0          //горизонтальный уровень N в отдельном окне индикатора, где N от 1 до 8 
#property indicator_levelcolor Silver // цвет горизонтальных уровней индикатора 
#property indicator_levelwidth 1        //толщина горизонтальных уровней индикатора 


// -------------------- Для обращения к индикатору пробоя фрактала 5 ----------------
extern    int        T_Life_CDL        =   0 ;                         // Ограничительная область в 5 ть свечек                                                               
extern    bool       Img_UP_DW         =  true;                       // Рисовать или нет линии по понижающимся верхним фракталам
extern    color      Color_UP_D        =   Lime ;                       // Цвет линий по верхним фракталам                                                                
extern    bool       Img_DW_UP         =  true;                       // Рисовать или нет линии по повышающимся нижним фракталам
extern    color      Color_DW_UP       =   DeepPink ;                       // Цвет линий по нижним фракталам
// -------------------- Для обращения к индикатору конвертов ----------------
extern    int        mode_MA           =   1 ;         //усреднение                
extern    int        price_MA          =   0 ;         //цена для расчёта МА
extern    double      period_MA         =   120 ;
extern    double      period_ATR        =   12 ; 
extern    double      k_step_ATR        =   1.0 ;      
// -------------------- Для обращения к индикатору уровня ордера ---------------- 
extern    int         period_Teni       =   12 ;
//extern  int        period_ATR        =  12;  
extern    double      min_order         =   0 ;   
extern    double      koef_R            =   1.5 ;  
extern    bool        text              =  false; 
extern    int         T_Life_ORD        =   2 ;
//--------------------------------------------
         double      spred;
         int         O_Buy,
                   O_Sel,
                   D_Buy,
                   D_Sel,
                   S_Buy,
                   S_Sel,
                   P_Buy,
                   P_Sel;
//-------------------------------------------------------------------

double Order_Buy[]; 
double Order_Sel[];
double Deal_Buy[]; 
double Deal_Sel[];
double Stop_Buy[];
double Stop_Sel[];
double Profit_Buy[];
double Profit_Sel[]; 

//+===========================================================================+ 
int init()  
   { 
     SetIndexBuffer ( 0 , Order_Buy); 
     SetIndexStyle   ( 0 , DRAW_HISTOGRAM , STYLE_SOLID , 2 ); 
     SetIndexLabel   ( 0 , "Ордер Buy" );
     //-----         
     SetIndexBuffer ( 1 , Order_Sel);  
     SetIndexStyle   ( 1 , DRAW_HISTOGRAM , STYLE_SOLID , 2 ); 
     SetIndexLabel   ( 1 , "Ордер Sell" );
     
     SetIndexBuffer ( 2 , Deal_Buy); 
     SetIndexStyle   ( 2 , DRAW_HISTOGRAM , STYLE_SOLID , 4 ); 
     SetIndexLabel   ( 2 , "Покупка" );
     //-----         
     SetIndexBuffer ( 3 , Deal_Sel);  
     SetIndexStyle   ( 3 , DRAW_HISTOGRAM , STYLE_SOLID , 4 ); 
     SetIndexLabel   ( 3 , "Продажа" );
     
     SetIndexBuffer ( 4 , Stop_Buy); 
     SetIndexStyle   ( 4 , DRAW_HISTOGRAM , STYLE_SOLID , 6 ); 
     SetIndexLabel   ( 4 , "Стоп Buy" );
     //-----         
     SetIndexBuffer ( 5 , Stop_Sel);  
     SetIndexStyle   ( 5 , DRAW_HISTOGRAM , STYLE_SOLID , 6 ); 
     SetIndexLabel   ( 5 , "Стоп Sell" );
     
     SetIndexBuffer ( 6 , Profit_Buy);  
     SetIndexStyle   ( 6 , DRAW_HISTOGRAM , STYLE_SOLID , 6 ); 
     SetIndexLabel   ( 6 , "Профит Buy" );
     
     SetIndexBuffer ( 7 , Profit_Sel);  
     SetIndexStyle   ( 7 , DRAW_HISTOGRAM , STYLE_SOLID , 6 ); 
     SetIndexLabel   ( 7 , "Профит Sell" );
     IndicatorShortName ( "Сделка ПРОБОЙ 5" );
     
     spred= MarketInfo ( NULL ,MODE_SPREAD);
     
     IndicatorDigits ( Digits );
     if ( Digits <= 3 ) double K = 0.01 ; else K = 0.0001 ; 
     
     // double Pink_Level=Pink_Level * K;
    
     return ( 0 ); 
   } 
//+===========================================================================+ 
int start(){

     int i,Counted_bars;     
    Counted_bars = Bars - IndicatorCounted ();
             
     for (i = Counted_bars- 1 ; i>= 0 ;i++){
    
            Order_Buy[i] = 0 ; 
            Order_Sel[i] = 0 ;
            Deal_Buy[i]  = 0 ; 
            Deal_Sel[i]  = 0 ;
            Stop_Buy[i]  = 0 ;
            Stop_Sel[i]  = 0 ;
            Profit_Buy[i]= 0 ;
            Profit_Sel[i]= 0 ;   
//----------------получаем пробой 5 фракталов              
       double proboy_5_UP = iCustom ( NULL , 0 , "ME_Proboy_F5_For_EX" ,T_Life_CDL ,Img_UP_DW, Lime , Img_DW_UP, DeepPink , 0 ,i);  
       double proboy_5_DW = iCustom ( NULL , 0 , "ME_Proboy_F5_For_EX" ,T_Life_CDL ,Img_UP_DW, Lime , Img_DW_UP, DeepPink , 1 ,i);
//----------------если пробой есть,то выставляем ордер       
       int n;
       
         if (proboy_5_UP== 1 ){
         
           double Buy= iCustom ( NULL , 0 , "ME_Order_ATR_For_EX" ,period_Teni,period_ATR,min_order,koef_R,text, 0 ,i);
           int     num_Buy=i;
           double Buy_Stop= iCustom ( NULL , 0 , "ME_Order_ATR_For_EX" ,period_Teni,period_ATR,min_order,koef_R,text, 2 ,i);
           double Buy_Profit= iCustom ( NULL , 0 , "ME_Order_ATR_For_EX" ,period_Teni,period_ATR,min_order,koef_R,text, 4 ,i);
          
          O_Buy= 1 ; 
       
//---------------проверяем время жизни        
         if (O_Buy== 1 && Buy<=High[i]+spred && num_Buy >=i-T_Life_ORD+ 1 ){
            Buy= 0 ;
            Buy_Stop= 0 ;  
            Buy_Profit= 0 ; 
         }
         if (O_Buy== 1 && Buy<=High[i]+spred) D_Buy= 3 ;
         if (D_Buy== 3 && Buy_Stop>=Low[i]) S_Buy= 2 ;
         if (D_Buy== 3 && S_Buy!= 2 && Buy_Profit<=High[i]) P_Buy= 2 ;
       }
      
//----------------если пробой есть,то выставляем ордер           
       if (proboy_5_DW==- 1 ){
           double Sel= iCustom ( NULL , 0 , "ME_Order_ATR_For_EX" ,period_Teni,period_ATR,min_order,koef_R,text, 1 ,i);
           int     num_Sel=i;
           double Sel_Stop= iCustom ( NULL , 0 , "ME_Order_ATR_For_EX" ,period_Teni,period_ATR,min_order,koef_R,text, 3 ,i);
           double Sel_Profit= iCustom ( NULL , 0 , "ME_Order_ATR_For_EX" ,period_Teni,period_ATR,min_order,koef_R,text, 5 ,i);
          O_Sel=- 1 ; 
        
       
//---------------проверяем время жизни           
           if (Sel==- 1 && Sel<=High[i]+spred && num_Sel >=i-T_Life_ORD+ 1 ){
            Sel= 0 ;
            Sel_Stop= 0 ;  
            Sel_Profit= 0 ; 
          }
           if (Sel==- 1 && Sel<=High[i]+spred) D_Sel=- 3 ;
           if (D_Sel==- 3 && Sel_Stop<=High[i]) S_Sel=- 2 ;
           if (Sel==- 1 && S_Sel!=- 2 &&Sel_Profit>=Low[i]) P_Sel=- 2 ;
      
      
   
   
   
  
//=========================================== Вывод результатов ============================================
            Order_Buy[i] = O_Buy; 
            Order_Sel[i] = O_Sel;
            Deal_Buy[i]  = D_Buy; 
            Deal_Sel[i]  = D_Sel;
            Stop_Buy[i]  = S_Buy;
            Stop_Sel[i]  = S_Sel;
            Profit_Buy[i]= P_Buy;
            Profit_Sel[i]= P_Sel; 
            
         }
         
       }
       return ( 0 );       
}
           
          

참여와 도움에 미리 감사드립니다. Olga를 존경합니다.