# Компиляция индикаторов и экспертов под новые билды MetaTrader 4

Раздел: Язык программирования MQL4
Автор темы: Veles-tm
Создана: 2013-07-29 19:38
Ответов: 4184 | Просмотров: 825524
Страница 116 из 210
Источник: https://forexsystemru.com/threads/72646/page-116

---

## amarlboro — 2015-02-01 14:27

Может есть у кого?

## andron19600 — 2015-02-02 23:49

Подправьте сов. под новый билд.

## gince — 2015-02-03 00:14

> Цитата (andron19600):
> Подправьте сов. под новый билд.

Сами ошибки поправил, осталось разобраться с переменными, ребята помогите товарищу, а я пошел уже стать. Завтра рано подьем.

## Inquiring — 2015-02-03 00:52

Уважаемые знатоки! Угадайте, что в черном ящике и покажите всем. Очень интересная штука.

## gince — 2015-02-03 12:25

> Цитата (Inquiring):
> Уважаемые знатоки! Угадайте, что в черном ящике и покажите всем. Очень интересная штука.

for(int i=limit-1; i>=0; i--)    
     {           
           double MAUP1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_HIGH,i); 
           double BB_UP = iBands(NULL,0,BPeriod,Std,0,PRICE_HIGH,MODE_UPPER,i);
           double MA_HIGH = iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,i);  
           
           double MADN1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_LOW,i); 
           double BB_DN = iBands(NULL,0,BPeriod,Std,0,PRICE_LOW ,MODE_LOWER,i);
           double MA_LOW = iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,i);  
           
       
          if (MAUP1>BB_UP) {ExtMapBuffer1=MAUP1+Dist2*Point; BB_UP=EMPTY_VALUE ;}     
          else if (MAUP1<BB_UP) {ExtMapBuffer1=BB_UP ; MAUP1=EMPTY_VALUE ;}
//--------------------------------------------------------------------             
           
                      
            
         if( MADN1 >0.0 ) 
         {
          if ( MADN1<BB_DN)  {ExtMapBuffer2=MADN1-Dist2*Point; BB_DN=EMPTY_VALUE ;}                        
          else if (MADN1>BB_DN) { ExtMapBuffer2=BB_DN ; MADN1=EMPTY_VALUE ; }
         }
       
         if (MADN1 ==0.0 ) { ExtMapBuffer2=BB_DN; MADN1=EMPTY_VALUE ;} 
}

## ZIKILO — 2015-02-03 17:46

> Цитата (andron19600):
> Подправьте сов. под новый билд.

А нет случайно сетов к разным парам? :)

## borman777 — 2015-02-03 18:21

> Цитата (Inquiring):
> Уважаемые знатоки! Угадайте, что в черном ящике и покажите всем. Очень интересная штука.

чем же так интересен энтот продукт;)

## Inquiring — 2015-02-03 19:47

> Цитата (gince):
> for(int i=limit-1; i>=0; i--)
>      {
>            double MAUP1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_HIGH,i);
>            double BB_UP = iBands(NULL,0,BPeriod,Std,0,PRICE_HIGH,MODE_UPPER,i);
>            double MA_HIGH = iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,i);
>
>            double MADN1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_LOW,i);
>            double BB_DN = iBands(NULL,0,BPeriod,Std,0,PRICE_LOW ,MODE_LOWER,i);
>            double MA_LOW = iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,i);
>
>
>           if (MAUP1>BB_UP) {ExtMapBuffer1=MAUP1+Dist2*Point; BB_UP=EMPTY_VALUE ;}
>           else if (MAUP1<BB_UP) {ExtMapBuffer1=BB_UP ; MAUP1=EMPTY_VALUE ;}
> //--------------------------------------------------------------------
>
>
>
>          if( MADN1 >0.0 )
>          {
>           if ( MADN1<BB_DN)  {ExtMapBuffer2=MADN1-Dist2*Point; BB_DN=EMPTY_VALUE ;}
>           else if (MADN1>BB_DN) { ExtMapBuffer2=BB_DN ; MADN1=EMPTY_VALUE ; }
>          }
>
>          if (MADN1 ==0.0 ) { ExtMapBuffer2=BB_DN; MADN1=EMPTY_VALUE ;}
> }

Благодарствую. На 30-минутках показывает очень неплохие результаты с дополнительными фильтрами.

## Inquiring — 2015-02-03 19:48

> Цитата (borman777):
> чем же так интересен энтот продукт;)

Не рисует

## jenzo — 2015-02-03 19:52

> Цитата (Inquiring):
> Не рисует

есть с алертом?

## Inquiring — 2015-02-03 20:13

> Цитата (gince):
> for(int i=limit-1; i>=0; i--)
>      {
>            double MAUP1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_HIGH,i);
>            double BB_UP = iBands(NULL,0,BPeriod,Std,0,PRICE_HIGH,MODE_UPPER,i);
>            double MA_HIGH = iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,i);
>
>            double MADN1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_LOW,i);
>            double BB_DN = iBands(NULL,0,BPeriod,Std,0,PRICE_LOW ,MODE_LOWER,i);
>            double MA_LOW = iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,i);
>
>
>           if (MAUP1>BB_UP) {ExtMapBuffer1=MAUP1+Dist2*Point; BB_UP=EMPTY_VALUE ;}
>           else if (MAUP1<BB_UP) {ExtMapBuffer1=BB_UP ; MAUP1=EMPTY_VALUE ;}
> //--------------------------------------------------------------------
>
>
>
>          if( MADN1 >0.0 )
>          {
>           if ( MADN1<BB_DN)  {ExtMapBuffer2=MADN1-Dist2*Point; BB_DN=EMPTY_VALUE ;}
>           else if (MADN1>BB_DN) { ExtMapBuffer2=BB_DN ; MADN1=EMPTY_VALUE ; }
>          }
>
>          if (MADN1 ==0.0 ) { ExtMapBuffer2=BB_DN; MADN1=EMPTY_VALUE ;}
> }

Ознакомьте со всем списком, пожалуйста, а то картинка без стрелочек какая-то неполная.

## gince — 2015-02-03 20:22

> Цитата (Inquiring):
> Ознакомьте со всем списком, пожалуйста, а то картинка без стрелочек какая-то неполная.

Стрелки перерисовывается.

## Inquiring — 2015-02-03 21:11

> Цитата (gince):
> Стрелки перерисовывается.

так мы их профильтруем. может, дадите тему для работы?

## gince — 2015-02-03 21:19

> Цитата (Inquiring):
> так мы их профильтруем. может, дадите тему для работы?

ловите
//+------------------------------------------------------------------+
//|                                                    MA_BBands.mq4 |
//|                   Copyright 2005-2014, MetaQuotes Software Corp. |
//|                                              http://www.mql4.com |
//|                                        E-MAIL:40468962@qq.com    |
//+------------------------------------------------------------------+
#property copyright   "2005-2014, MetaQuotes Software Corp."
#property link        "http://www.mql4.com"

#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 White
#property indicator_color2 White
#property indicator_color3 Blue
#property indicator_color4 Red
#property indicator_color5 Yellow

#property  indicator_width1  2
#property  indicator_width2  2
#property  indicator_width3  1
#property  indicator_width4  1
#property  indicator_width5  1

extern int MoveShift = 12;
extern int MAPeriod = 9 ;
extern int OsMA = 3 ; 
extern int Dist2 = 20 ;
//-------------------------

extern double Std = 0.4 ; //0.5
extern int BPeriod = 20 ;

//-------------------------

double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
//-------------------

int init()
  {
  
   IndicatorBuffers(5);
  
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,ExtMapBuffer2);
   
   SetIndexStyle(2,DRAW_ARROW);
   SetIndexArrow(2,233);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexEmptyValue(2,0.0);
   
   SetIndexStyle(3,DRAW_ARROW);
   SetIndexArrow(3,234);
   SetIndexBuffer(3,ExtMapBuffer4);
   SetIndexEmptyValue(3,0.0);
   
   SetIndexStyle(4,DRAW_LINE);
   SetIndexBuffer(4,ExtMapBuffer5);   

   
   return(0);
  }
//----------------------------------------
 
int deinit()
  {return(0);}
//---------------------------------------- 
int start()
  { 
  Comment( " MA_BBands_USDJPY_M5" );  
    int counted_bars=IndicatorCounted();    
    if(counted_bars<0) return(-1); 
    if(counted_bars>0) counted_bars--;
    int limit=Bars-counted_bars;   
    double OsMA_Now, OsMA_Pre; 
    
    for(int i=limit-1; i>=0; i--)    
     {           
           double MAUP1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_HIGH,i); 
           double BB_UP = iBands(NULL,0,BPeriod,Std,0,PRICE_HIGH,MODE_UPPER,i);
           double MA_HIGH = iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,i);  
           
           double MADN1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_LOW,i); 
           double BB_DN = iBands(NULL,0,BPeriod,Std,0,PRICE_LOW ,MODE_LOWER,i);
           double MA_LOW = iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,i);  
           
       
          if (MAUP1>BB_UP) {ExtMapBuffer1=MAUP1+Dist2*Point; BB_UP=EMPTY_VALUE ;}     
          else if (MAUP1<BB_UP) {ExtMapBuffer1=BB_UP ; MAUP1=EMPTY_VALUE ;}
//--------------------------------------------------------------------             
           
                      
            
         if( MADN1 >0.0 ) 
         {
          if ( MADN1<BB_DN)  {ExtMapBuffer2=MADN1-Dist2*Point; BB_DN=EMPTY_VALUE ;}                        
          else if (MADN1>BB_DN) { ExtMapBuffer2=BB_DN ; MADN1=EMPTY_VALUE ; }
         }
       
         if (MADN1 ==0.0 ) { ExtMapBuffer2=BB_DN; MADN1=EMPTY_VALUE ;}          
//------------------------------------------------------------       
       OsMA_Now = iOsMA(NULL,0,5,9,OsMA,PRICE_CLOSE,i) ;
       OsMA_Pre = iOsMA(NULL,0,5,9,OsMA,PRICE_CLOSE,i+1) ;

//-------------------
        if((OsMA_Now>0 && OsMA_Pre<0)&&(MA_LOW < ExtMapBuffer2) && (Low < ExtMapBuffer2) ) 
       {
        ExtMapBuffer3[i+1] = Low-30*Point;
       }
              
       if((OsMA_Now<0 && OsMA_Pre>0) && (MA_HIGH > ExtMapBuffer1) && (High > ExtMapBuffer1) ) 
       {
        ExtMapBuffer4[i+1] = High+30*Point;
       }  
       
       
       ExtMapBuffer5 = (ExtMapBuffer1 +ExtMapBuffer2)/2.0 ;
        
     } 
     
   return(0);
   RefreshRates(); 
   
  } 
//--------------------------------

## Inquiring — 2015-02-03 21:28

> Цитата (borman777):
> чем же так интересен энтот продукт;)

вообще-то немного рисует, но с фильтрами все равно неплохо

## gince — 2015-02-03 21:33

Обыкновенный ББ с двумя МА(хай и лов)

## Inquiring — 2015-02-03 21:51

> Цитата (gince):
> ловите
> //+------------------------------------------------------------------+
> //|                                                    MA_BBands.mq4 |
> //|                   Copyright 2005-2014, MetaQuotes Software Corp. |
> //|                                              http://www.mql4.com |
> //|                                        E-MAIL:40468962@qq.com    |
> //+------------------------------------------------------------------+
> #property copyright   "2005-2014, MetaQuotes Software Corp."
> #property link        "http://www.mql4.com"
>
> #property indicator_chart_window
> #property indicator_buffers 5
> #property indicator_color1 White
> #property indicator_color2 White
> #property indicator_color3 Blue
> #property indicator_color4 Red
> #property indicator_color5 Yellow
>
> #property  indicator_width1  2
> #property  indicator_width2  2
> #property  indicator_width3  1
> #property  indicator_width4  1
> #property  indicator_width5  1
>
>
> extern int MoveShift = 12;
> extern int MAPeriod = 9 ;
> extern int OsMA = 3 ;
> extern int Dist2 = 20 ;
> //-------------------------
>
> extern double Std = 0.4 ; //0.5
> extern int BPeriod = 20 ;
>
>
> //-------------------------
>
> double ExtMapBuffer1[];
> double ExtMapBuffer2[];
> double ExtMapBuffer3[];
> double ExtMapBuffer4[];
> double ExtMapBuffer5[];
> //-------------------
>
> int init()
>   {
>
>    IndicatorBuffers(5);
>
>    SetIndexStyle(0,DRAW_LINE);
>    SetIndexBuffer(0,ExtMapBuffer1);
>
>    SetIndexStyle(1,DRAW_LINE);
>    SetIndexBuffer(1,ExtMapBuffer2);
>
>    SetIndexStyle(2,DRAW_ARROW);
>    SetIndexArrow(2,233);
>    SetIndexBuffer(2,ExtMapBuffer3);
>    SetIndexEmptyValue(2,0.0);
>
>    SetIndexStyle(3,DRAW_ARROW);
>    SetIndexArrow(3,234);
>    SetIndexBuffer(3,ExtMapBuffer4);
>    SetIndexEmptyValue(3,0.0);
>
>    SetIndexStyle(4,DRAW_LINE);
>    SetIndexBuffer(4,ExtMapBuffer5);
>
>
>    return(0);
>   }
> //----------------------------------------
>
> int deinit()
>   {return(0);}
> //----------------------------------------
> int start()
>   {
>   Comment( " MA_BBands_USDJPY_M5" );
>     int counted_bars=IndicatorCounted();
>     if(counted_bars<0) return(-1);
>     if(counted_bars>0) counted_bars--;
>     int limit=Bars-counted_bars;
>     double OsMA_Now, OsMA_Pre;
>
>     for(int i=limit-1; i>=0; i--)
>      {
>            double MAUP1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_HIGH,i);
>            double BB_UP = iBands(NULL,0,BPeriod,Std,0,PRICE_HIGH,MODE_UPPER,i);
>            double MA_HIGH = iMA(NULL,0,4,0,MODE_LWMA,PRICE_HIGH,i);
>
>            double MADN1 = iMA(NULL,0,MAPeriod,-MoveShift,MODE_SMA,PRICE_LOW,i);
>            double BB_DN = iBands(NULL,0,BPeriod,Std,0,PRICE_LOW ,MODE_LOWER,i);
>            double MA_LOW = iMA(NULL,0,4,0,MODE_LWMA,PRICE_LOW,i);
>
>
>           if (MAUP1>BB_UP) {ExtMapBuffer1=MAUP1+Dist2*Point; BB_UP=EMPTY_VALUE ;}
>           else if (MAUP1<BB_UP) {ExtMapBuffer1=BB_UP ; MAUP1=EMPTY_VALUE ;}
> //--------------------------------------------------------------------
>
>
>
>          if( MADN1 >0.0 )
>          {
>           if ( MADN1<BB_DN)  {ExtMapBuffer2=MADN1-Dist2*Point; BB_DN=EMPTY_VALUE ;}
>           else if (MADN1>BB_DN) { ExtMapBuffer2=BB_DN ; MADN1=EMPTY_VALUE ; }
>          }
>
>          if (MADN1 ==0.0 ) { ExtMapBuffer2=BB_DN; MADN1=EMPTY_VALUE ;}
> //------------------------------------------------------------
>        OsMA_Now = iOsMA(NULL,0,5,9,OsMA,PRICE_CLOSE,i) ;
>        OsMA_Pre = iOsMA(NULL,0,5,9,OsMA,PRICE_CLOSE,i+1) ;
>
> //-------------------
>         if((OsMA_Now>0 && OsMA_Pre<0)&&(MA_LOW < ExtMapBuffer2) && (Low < ExtMapBuffer2) )
>        {
>         ExtMapBuffer3[i+1] = Low-30*Point;
>        }
>
>        if((OsMA_Now<0 && OsMA_Pre>0) && (MA_HIGH > ExtMapBuffer1) && (High > ExtMapBuffer1) )
>        {
>         ExtMapBuffer4[i+1] = High+30*Point;
>        }
>
>
>        ExtMapBuffer5 = (ExtMapBuffer1 +ExtMapBuffer2)/2.0 ;
>
>      }
>
>    return(0);
>    RefreshRates();
>
>   }
> //--------------------------------
>
> 

спасибо. пример фильтра

## gince — 2015-02-03 22:07

> Цитата (Inquiring):
> спасибо. пример фильтра

профитов вам

## andron19600 — 2015-02-04 00:35

> Цитата (ZIKILO):
> А нет случайно сетов к разным парам? :)

 Он завязан на EURUSD M30.

## Bukin — 2015-02-04 09:54

Скомпилируйте пожалуйста в mg4, если возможно ...

---

Следующая страница: https://forexsystemru.com/threads/72646/page-117
