МТ4 или МТ5. Какие преимущества и недостатки? - страница 2

 
George Merts:

То есть ?

Я не раз выкладывал свой код, который абсолютно одинаково, безо всяких изменений компилируется и работает как в МТ4 так и в МТ5.

У меня все эксперты - работают на счету МТ4, но тестирую я их в МТ5, поскольку средства для этого там удобнее.

Ты бы (давай на "ты") продемонстрировал, в чем разница языка МТ4 и МТ5. Я бы хоть поглядел.

Разница есть в протоколах посылки торговых приказов, но язык-то тут при чем ? Существует библиотека, которая преобразует эти протоколы так, чтобы эксперты, написанные для МТ4 без проблем переводились на МТ5. Это возможно как раз потому, что MQL4 и MQL5 - один и тот же язык.

Посмотрел в Вашем профиле, порылся поиском и не нашел "не раз выложенный" Вами код. Может ткнете? Интересно же.

Удачи

 

МТ5 и МТ4 нельзя сравнивать. Сравнивая МТ5 и МТ4 мы уходим в прошлое. МТ5 хоть как то, худо-бедно, но можно торговать на бирже. МТ4 всовсем никак, только через дилеров. Работая через форекс дилеров вы соглашаетесь, что вы не имеете никаких прав и вас будут иметь всегда и во все места.

 

Вопрос, советники которые работают с МТ4, тоже работают на МТ5?

 
Taras Vavryn:

Вопрос, советники которые работают с МТ4, тоже работают на МТ5?


нет. метаквоты такую функцию не сделали.

 
Максим Дмитриев:

нет. метаквоты такую функцию не сделали.


А есть возможность код компилировать под МТ5?

 
Taras Vavryn:

А есть возможность код компилировать под МТ5?


нет

 
Максим Дмитриев:

для мт4 язык программирования проще

Кому как

Лично мне вообще никакой разницы.

Могу добавить ,  сам  MQL5   быстрее ,  более развит. 

Приятно , что MetaQuotes  подтянули MQL4  до уровня MQL5, этим самым  божественным  действием  вдохнули в "умирающее тело MT4"  жизнь.

Taras Vavryn:

А есть возможность код компилировать под МТ5?


Максим Дмитриев:

нет

Максим, просто Вы вероятно не в курсе - что такое возможно.

У меня есть проекты ,  где   код написан  на MQL ,  при этом проект компилируется как для MT4 так и для MT5, при этом логика работы  в MT5 и MT4 одинакова.

Если мне нужен код для MT5 ,  просто меняю расширение  у файла  на *.MQ5  , запускаю MT5 и компилирую для MT5 , если код нужен для MT4  меняю расширение на *.MQ4 , загружаю  в MT4 и компилирую для MT4

Активно используется препроцессор #ifdef __MQL5__   #ifdef __MQL4__


пример:

OnInit()
{


#ifdef __MQL5__
   ind_handleMA    = iMA    ( _Symbol,PERIOD_M1,4,0,MODE_EMA,PRICE_CLOSE);
   ind_handleBands = iBands ( _Symbol,PERIOD_M1, 20,0,2,PRICE_CLOSE );
#endif

}


#ifdef __MQL4__
      valuesMA[1]=iMA(NULL,PERIOD_M1,4,0,MODE_EMA,PRICE_CLOSE,1);
#endif
#ifdef __MQL5__
      CopyBuffer(ind_handleMA,0,0,1,valuesMA);
#endif
      MA=NormalizeDouble(valuesMA[1],_Digits);
#ifdef __MQL4__
   return(iBarShift(sy, tf, t, True));
#endif
#ifdef __MQL5__
   return(iBarShiftMQL4(sy, tf, t, True));
#endif
#ifdef __MQL5__
int iBarShiftMQL4(string symbol,
                  int tf,
                  datetime time,
                  bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }
#endif
 
Yuriy Zaytsev:

Кому как

Лично мне вообще никакой разницы.

Тут профи рассуждают о разнице. Вот Вы например, программируете со времён динозавров. У вас стажа-столько не живут, и куева туча языков за плечами. Ясен пень вам разницы никакой, вам парой строчек больше, парой меньше. Пару новых названий выучить.
Новички же сравнивают со своей колоколни. С процесса изучения без опыта. Новичок не собирается кодить мега проекты, в кодинге которых несомненно 5-ка лучше. Новичка на первых порах интересует интуитивное понимание того что он кодит в простых вещах. А в 5-ке я так понял это для них сложнее. Когда много опыта, то естественно нет ничего сложного и непонятного.
Ваш опыт просто уже не даёт поставить себя на место новичка. Плюс эти постоянные доделки и ловля багов на клиентах. Никогда не знаешь так ли всё считается как задумано или нет, руки кривые или баг. Спец проги для исследований и прочего,  над их созданием трудятся тьма люда.
 Сикстильон человеколет делают так чтобы всё было как надо. Естественно мт не для исследований, потому поедъявлять ему схожие требования глупо. Но тем не менее.
Но это уже другая тема. Возможно сужу в силу своей малограмматности в этом деле. 
Выбора всё равно нет, рано или поздно придётся перейти и лучше сразу 5-ку учить. Как ни крути скорости анализа данных растут, растут механизмы по их увеличению. Тех кто отстаёт конкуренция вообще вырубит. А чтобы не отставать нужно усовершенствовать принципиальные подходы в этом деле. И эти новые парадигмы не укладываются в старую простоту при изучении. Растёт сложность и того и другого. При чём скорости выросли в разы больше, чем усложнился язык для новичка.
Более интересен вопрос другой. Произойдёт л когда полномасштабное внедрение мт на реальные биржи. Почти 10 лет прошло. Уже и на тики согласились, и на прочие "уступки" когда клиент не пошёл. Что толку от вывесок-"прошёл аттестацию на бирже", если на бирже он не используется.
 
Sergey Chalyshev:

МТ5 и МТ4 нельзя сравнивать. Сравнивая МТ5 и МТ4 мы уходим в прошлое. МТ5 хоть как то, худо-бедно, но можно торговать на бирже. МТ4 всовсем никак, только через дилеров. Работая через форекс дилеров вы соглашаетесь, что вы не имеете никаких прав и вас будут иметь всегда и во все места.

Это не сравнение терминалов и языков программирования. Кстати, далеко не все дилеры занимаются мошенничеством. С точки зрения программирования, MT4 освоить намного проще, особенно если нет опыта программирования ни в какой системе. 

 
ILNUR777:
Тут профи рассуждают о разнице. Вот Вы например, программируете со времён динозавров. У вас стажа-столько не живут, и куева туча языков за плечами. Ясен пень вам разницы никакой, вам парой строчек больше, парой меньше. Пару новых названий выучить.
Новички же сравнивают со своей колоколни. С процесса изучения без опыта. Новичок не собирается кодить мега проекты, в кодинге которых несомненно 5-ка лучше. Новичка на первых порах интересует интуитивное понимание того что он кодит в простых вещах. А в 5-ке я так понял это для них сложнее. Когда много опыта, то естественно нет ничего сложного и непонятного.
Ваш опыт просто уже не даёт поставить себя на место новичка. Плюс эти постоянные доделки и ловля багов на клиентах. Никогда не знаешь так ли всё считается как задумано или нет, руки кривые или баг. Спец проги для исследований и прочего,  над их созданием трудятся тьма люда.
 Сикстильон человеколет делают так чтобы всё было как надо. Естественно мт не для исследований, потому поедъявлять ему схожие требования глупо. Но тем не менее.
Но это уже другая тема. Возможно сужу в силу своей малограмматности в этом деле. 
Выбора всё равно нет, рано или поздно придётся перейти и лучше сразу 5-ку учить. Как ни крути скорости анализа данных растут, растут механизмы по их увеличению. Тех кто отстаёт конкуренция вообще вырубит. А чтобы не отставать нужно усовершенствовать принципиальные подходы в этом деле. И эти новые парадигмы не укладываются в старую простоту при изучении. Растёт сложность и того и другого. При чём скорости выросли в разы больше, чем усложнился язык для новичка.
Более интересен вопрос другой. Произойдёт л когда полномасштабное внедрение мт на реальные биржи. Почти 10 лет прошло. Уже и на тики согласились, и на прочие "уступки" когда клиент не пошёл. Что толку от вывесок-"прошёл аттестацию на бирже", если на бирже он не используется.

Вот потому,  новичку лучше  ориентироваться на то что будет. В свое время работал инженером  по ремонту ЭВМ, но в тот день, когда я впервые увидел  одноплатную первую МИКРО ЭВМ ,  понял что ремонт такой платы практически не рентабелен и малопродуктивен. Понял , что профессия  специалиста по ремонту ЭВМ вымирающая, и был прав - сменив профессию ,  став программистом. Никто не ищет сгоревшую микросхему  в персональном компьютере, сразу меняют блок.  Поверьте опыту, и некоторым  навыкам  прогноза  подкрепленными реальным жизненным опытом, новичку лучше осваивать   MQL5.