Скачать MetaTrader 5

Вопрос к знатокам mql4 и mql5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Igor Kryuchkov
11483
Igor Kryuchkov 2016.10.06 20:05 

Всем привет. Использую постоянно для написания стрелочников шаблон на mql4. Нужно перенести шаблон на mql5, но трудности с изучением. Но очень много трудностей. Пожалуйста помогите перенести шаблон c mql4 на mql5. Там всегда по закрытию свечи сигнал, то есть на новую.

 

#property version   "1.00"
#property strict
#property indicator_chart_window   
#property indicator_buffers 2     
#property indicator_color1 Red    
#property indicator_color2 Blue    

double Buffer[];
double Buffer2[];
int j=0;
int a=0;

int init()
{
   
   SetIndexStyle(0, DRAW_ARROW,0,3);
   SetIndexBuffer(0, Buffer);
   SetIndexStyle(1, DRAW_ARROW,0,3);
   SetIndexBuffer(1, Buffer2);
   SetIndexArrow(1,241);
   SetIndexArrow(0,242);
   return(0);
}



int start()                      
  {

   int i,                          
       Counted_bars;              
   
   Counted_bars=IndicatorCounted(); 
   i=Bars-Counted_bars-1;           
   
   while(i>=0)                
     {
      a=0;
      if(iRSI(NULL, 0,12, PRICE_CLOSE, i+1)>70 &&j!=1)
      {
      Buffer[i] = High[i]+5*Point;
      j=1; 
      a=1;     
      }    
      else
      if(iRSI(NULL, 0,12, PRICE_CLOSE, i+1)<30&&j!=2)
      {
      Buffer2[i] = Low[i]-5*Point;
      j=2;
      a=2;
      } 
       
      i--;                          
     }
     

     if (a==1)
     {
     Alert(Symbol()," ","DOWN");
     a=0;
     }
     
     if (a==2)
     {
     Alert(Symbol()," ","UP");
     a=0;
     }

   return(0);                        
  }
fxsaber
5268
fxsaber 2016.10.06 20:21  
Думаю, поможет.
MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
  • 2016.09.28
  • //www.mql5.com/en/users/marketeer">
  • www.mql5.com
It has been a long time since MetaTrader 5 was released, but MQL products for MetaTrader 4 do still prevail on mql5.com site (both in the codebase, and in the market), and in the Internet in general....
Igor Kryuchkov
11483
Igor Kryuchkov 2016.10.06 20:47  
fxsaber:
Думаю, поможет.
Понял примерно, что к чему но на практике не получилось. 
Stanislav Korotky
18202
Stanislav Korotky 2016.10.07 10:15  
Igor Kryuchkov:
Понял примерно, что к чему но на практике не получилось. 
Пишите про проблемы подробнее.
Igor Kryuchkov
11483
Igor Kryuchkov 2016.10.07 11:25  
Stanislav Korotky:
Пишите про проблемы подробнее.

На примере моего шаблона, как его перенести на мкл 5. Библиотеку я качал

Stanislav Korotky
18202
Stanislav Korotky 2016.10.07 11:56  
Igor Kryuchkov:

На примере моего шаблона, как его перенести на мкл 5. Библиотеку я качал

Вы же не пишете, какие именно проблемы.
Igor Kryuchkov
11483
Igor Kryuchkov 2016.10.07 12:21  
Stanislav Korotky:
Вы же не пишете, какие именно проблемы.

Беру данный шаблон и вставляю в код mql5 и в они инит прописываю 

#define MT4_NEW_EVENT_HANDLERS 

#include <ind4to5.mqh> 


Только одни ошибки. Что не так делаю?

Stanislav Korotky
18202
Stanislav Korotky 2016.10.07 12:27  
Igor Kryuchkov:

Беру данный шаблон и вставляю в код mql5 и в они инит прописываю 

#include <ind4to5.mqh> 


Только одни ошибки. Что не так делаю?

Может я неразборчиво написал ;-), но MT4_NEW_EVENT_HANDLERS нужно использовать, если у вас в исходнике используются новые обработчики (OnInit и пр.), а у вас старые. Так что нужен другой дифайн MT4_OLD_EVENT_HANDLERS.

Кроме того, там написано, что одним инклудником нельзя обойтись, нужно еще кое-что ручками поправить и дописать. Может вам стоит перечитать блогпост? И следующий, кстати, тоже пригодится.

Igor Kryuchkov
11483
Igor Kryuchkov 2016.10.07 12:36  
Stanislav Korotky:

Может я неразборчиво написал ;-), но MT4_NEW_EVENT_HANDLERS нужно использовать, если у вас в исходнике используются новые обработчики (OnInit и пр.), а у вас старые. Так что нужен другой дифайн MT4_OLD_EVENT_HANDLERS.

Кроме того, там написано, что одним инклудником нельзя обойтись, нужно еще кое-что ручками поправить и дописать. Может вам стоит перечитать блогпост? И следующий, кстати, тоже пригодится.

int init()
{
   
   SetIndexStyle(0, DRAW_ARROW,0,3);
   SetIndexBuffer(0, Buffer);
   SetIndexStyle(1, DRAW_ARROW,0,3);
   SetIndexBuffer(1, Buffer2);
   SetIndexArrow(1,241);
   SetIndexArrow(0,242);
   
   #define MT4_OLD_EVENT_HANDLERS 
   #include <ind4to5.mqh> 
   
   return(0);

}

 

 

Так вставил. Ошибок куча, даже не понимаю, что править.  


Stanislav Korotky
18202
Stanislav Korotky 2016.10.07 12:39  
Igor Kryuchkov:
int init()
{
   
   SetIndexStyle(0, DRAW_ARROW,0,3);
   SetIndexBuffer(0, Buffer);
   SetIndexStyle(1, DRAW_ARROW,0,3);
   SetIndexBuffer(1, Buffer2);
   SetIndexArrow(1,241);
   SetIndexArrow(0,242);
   
   #define MT4_OLD_EVENT_HANDLERS 
   #include <ind4to5.mqh> 
   
   return(0);

}

 

 

Так вставил. Ошибок куча, даже не понимаю, что править.  


Гы. Дифайны и инклуды нужно в начале на глобальном уровне вставлять, после property. Сейчас покажу.
ivanivan_11
730
ivanivan_11 2016.10.07 12:39  
Igor Kryuchkov:
int init()
{
   
   SetIndexStyle(0, DRAW_ARROW,0,3);
   SetIndexBuffer(0, Buffer);
   SetIndexStyle(1, DRAW_ARROW,0,3);
   SetIndexBuffer(1, Buffer2);
   SetIndexArrow(1,241);
   SetIndexArrow(0,242);
   
   #define MT4_OLD_EVENT_HANDLERS 
   #include <ind4to5.mqh> 
   
   return(0);

}

 

 

Так вставил. Ошибок куча, даже не понимаю, что править.  


остальные тоже не поймут,пока вы наконец не скопируете ошибки сюда, или пока не дождетесь, что вам переделают индикатор,если вы этого добиваетесь))
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий