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

  • Автор темы Автор темы Veles-tm
  • Дата начала Дата начала

lexlex5

Интересующийся
Не ставятся на график.

Уважаемые Спецы!
Подправьте, пожалуйста под новый билд - при компиляции индикаторы выдают ошибки.
спасибо.
 

Вложения

wuk

Прохожий
Привет! Ребята, после обновления на 745 билд не переносится на график и компилируется с кучей ошибок...Заранее благодарен!
 

Вложения

Alekcc

Почетный гражданин

Вложения

DomovenokBrest

♔♕♖♗♘♙

Вложения

سيرجي كيروف

Местный знаток

Вложения

  • InstaTrader.png
    InstaTrader.png
    58,5 КБ · Просмотры: 125

AlexeyVik

Программист mql4 mql5
Блин-ну скажите кто-нибудь почему на реале не работает советник
Потому, что сов так сделан
При инициализации заполняется два массива
Код:
Expand Collapse Copy
int init(){
   t0=Time[0];
   t1=Time[0];

   sum[2012-1999]=D'2012.03.28 02:00:00';win[2012-1999]=D'2012.10.31 03:00:00';
   sum[2011-1999]=D'2011.03.29 02:00:00';win[2011-1999]=D'2011.10.25 03:00:00';
   sum[2010-1999]=D'2010.03.30 02:00:00';win[2010-1999]=D'2010.10.26 03:00:00';
   sum[2009-1999]=D'2009.03.29 02:00:00';win[2009-1999]=D'2009.10.25 03:00:00';
   sum[2008-1999]=D'2008.03.30 02:00:00';win[2008-1999]=D'2008.10.26 03:00:00';
   sum[2007-1999]=D'2007.03.25 02:00:00';win[2007-1999]=D'2007.10.28 03:00:00';
   sum[2006-1999]=D'2006.03.26 02:00:00';win[2006-1999]=D'2006.10.29 03:00:00';
   sum[2005-1999]=D'2005.03.27 02:00:00';win[2005-1999]=D'2005.10.30 03:00:00';
   sum[2004-1999]=D'2004.03.28 02:00:00';win[2004-1999]=D'2004.10.31 03:00:00';
   sum[2003-1999]=D'2003.03.30 02:00:00';win[2003-1999]=D'2003.10.26 03:00:00';
   sum[2002-1999]=D'2002.03.31 02:00:00';win[2002-1999]=D'2002.10.27 03:00:00';
   sum[2001-1999]=D'2001.03.25 02:00:00';win[2001-1999]=D'2001.10.28 03:00:00';
   sum[2000-1999]=D'2000.03.26 02:00:00';win[2000-1999]=D'2000.10.29 03:00:00';
   sum[1999-1999]=D'1999.03.28 02:00:00';win[1999-1999]=D'1999.10.31 03:00:00';

   dg=Digits;
   if(dg==3 || dg==5){pt=Point*10;mt=10;}else{pt=Point;mt=1;}
   return(0);
}
а потом этот массив обрабатывается и результат возвращается как фильтр
Код:
Expand Collapse Copy
//-----------ФИЛЬТР ВРЕМЕНИ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

int checktime(){
   if(TimeCurrent()<win[TimeYear(TimeCurrent())-1999] && TimeCurrent()>sum[TimeYear(TimeCurrent())-1999])gmtshift=summergmtshift;
   else gmtshift=wintergmtshift;
   
   string l_time="";
   string svrdate = Year()+"."+Month()+"."+Day();

   if(mondayfilter){
      nmondayhour=mondayhour+(gmtshift);if(nmondayhour>23)nmondayhour=nmondayhour-24;
      if(nmondayhour<10)imondayhour="0"+nmondayhour;
      if(nmondayhour>9)imondayhour=nmondayhour;
      if(mondayminute<10)imondayminute="0"+mondayminute;
      if(mondayminute>9)imondayminute=mondayminute;
      tmonday=StrToTime(svrdate+" "+imondayhour+":"+imondayminute);
   }
   if(weekfilter){
      nstarthour=starthour+(gmtshift);if(nstarthour>23)nstarthour=nstarthour-24;
      if(nstarthour<10)istarthour="0"+nstarthour;
      if(nstarthour>9)istarthour=nstarthour;
      if(startminute<10)istartminute="0"+startminute;
      if(startminute>9)istartminute=startminute;
      tstart=StrToTime(svrdate+" "+istarthour+":"+istartminute);

      nendhour=endhour+(gmtshift);if(nendhour>23)nendhour=nendhour-24;
      if(endhour<10)iendhour="0"+nendhour;
      if(endhour>9)iendhour=nendhour;
      if(endminute<10)iendminute="0"+endminute;
      if(endminute>9)iendminute=endminute;
      tend=StrToTime(svrdate+" "+iendhour+":"+iendminute);
   }
   if(fridayfilter){
      nfridayhour=fridayhour+(gmtshift);if(nfridayhour>23)nfridayhour=nfridayhour-24;
      if(nfridayhour<10)ifridayhour="0"+nfridayhour;
      if(nfridayhour>9)ifridayhour=nfridayhour;
      if(fridayminute<10)ifridayminute="0"+fridayminute;
      if(fridayminute>9)ifridayminute=fridayminute;
      tfriday=StrToTime(svrdate+" "+ifridayhour+":"+ifridayminute);
   }
   if(nstarthour>nendhour && TimeCurrent()<tstart && TimeCurrent()>tend)l_time="DONT TRADE";else l_time="TRADE";
   //Comment("\nCurrentTime = "+TimeCurrent(),"\ntstart = "+tstart,"\ntend = "+tend,"\nTimeFilter = "+l_time);
   if((weekfilter && ((nstarthour<=nendhour && (TimeCurrent()<tstart || TimeCurrent()>tend)) || (nstarthour>nendhour && TimeCurrent()<tstart && TimeCurrent()>tend)))
   || (tradesunday==false && DayOfWeek()==0) || (fridayfilter && DayOfWeek()==5 && TimeCurrent()>tfriday) || (mondayfilter && DayOfWeek()==1 && TimeCurrent()<tmonday))return(0);
   return(1);
}
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Извини, глубже вникать мне лениво. Может кто по этой подсказке разберётся и поможет.
 

lexshur

Новичок форума
Здравствуйте.Помогите пожалуйста скомпилировать индик. Нормально не компилируется выдаёт 6 ошибок попробуйте пожалуйста исправить плиз.
 

lexshur

Новичок форума
В попыхах забыл вставить индюк. Извините ещё новичок в этом.
 
Последнее редактирование:

Who has viewed this thread (Total: 2) Посмотреть

Верх