Если бы добавили в МТ4 мультивалютное тестирование и тестирование по реальным тикам, то мне больше ничего и не нужно было бы. Согласны ли вы с таким утверждением? - страница 6

 
Igor Zakharov:

В той или иной форме такое мнение высказывают многие на этом форуме. А вот мне это не совсем понятно. На мой взгляд в пятёрке добавили новых возможностей, при этом возможность кодить по-простому (как в четвёрке) никуда не делась. Пятерка позволяет программировать более сложные вещи, но не обязывает.

PS. Я за чеверку, мне хватало её возможностей :) А привыкать к новому не люблю (не только в программировании).

Насчет недружелюбности к слабым кодерам. Вот недавно возникла задача выбрать один ордер из списка ордеров. Случайно, открыл документацию МТ5 вместо МТ4 (хотя нужно было именно для МТ4), и посмотрел. Там функция OrderSelect имеет один параметр. Я давно не имел дело с ордерами и вообще не понял, как с ней работать. Перешел в документацию МТ4, - сразу разобрался. 

Это только один пример. Хочешь или нет, но пятерка заставляет поднимать уровень знаний и дольше возится. Я не против, но многие тормозят. 

 
Сергей Матвеев:

а если бы добавили мультивалютный тестер в МТ4, нужен вам был бы МТ5?

МТ5 оставляет ощущение сырости в связи с тем, что на нем программисту нужно все выдумывать самому (не беру в расчет встроенную систему классов, я лично в ней не разбирался и не уверен, что много кто её массово использует). Если бы вместе с 5-кой разработчики сразу же поставили продуманную и хорошо документированную библиотеку типа MT4Orders, сняли бы с программистов заботу о синхронизации таймсерий, как это было в МТ4, сделали альтернативный режим учета ордеров "для форекса", в точности как было в МТ4, но уже в виде надстройки над более совершенной системой МТ5, сразу бы учли при разработке нативный режим "хеджа" (а не как что-то, смотрящееся как "костыль" впоследствии) то переход с четверки получился бы у большинства и юзеров и программеров и брокеров легко и непринужденно. Но все как известно происходило несколько не так, в результате чего ещё и МТ4 с его языком конструктивно дорабатывались много раз, что вряд ли планировали разработчики на этапе запуска МТ5

 
Сергей Матвеев:

программисты голосуют за последний вариант, потому что им иногда заказы приходят на программирование в mql5.
поэтому им нужно одновременно владеть двумя языками.

на рынке программистов нет.

С точки зрения ???

начнём с программиста.

Никто и ни чего не понимают  в программировании  на 5ке это значит заказы  у нас.

с точкизрения трейдера.:

Зачем усложнять, если простые команды выполняют сложные функции.

 
Если система уже рассчитана на 22 век то я уже с ней.
 
Uladzimir Izerski:
Если система уже рассчитана на 22 век то я уже с ней.

Правильно, лучше потихоньку перенести по одной вещи, чем бежать сломя голову с целым чемоданом.

 
Vitaly Muzichenko:

Правильно, лучше потихоньку перенести по одной вещи, чем бежать сломя голову с целым чемоданом.

Вы правы

 
Uladzimir Izerski:
А если рассматривать среду программирования для массового потребления, то 4ка в не конкуренции.

Давайте сравним

mql4

void OnTick()
{
 if(условие для buy)
  OrderSend(много параметров);
}

mql5

#include <Trade\Trade.mqh>
CTrade trade;

void OnTick()
{
 if(условие для buy)
  trade.Buy(lot);
}

В чём сложности???

 
Alexey Viktorov:

Давайте сравним

mql4

mql5

В чём сложности???

 OrderSend(много параметров); Открыли документацию, прочитали, поняли. Все.

trade.Buy(lot);   Это что такое?

Откуда? Как с этим работать? Где смотреть, что читать, и у кого узнать про где искать?


ЗЫ. Я понимаю, что есть класс Сtrade и там разные переменные и функции. Но блин, почему это обязательно использовать? Это же обертка. И нужно понимать ООП перед началом использования ордеров. То есть, уже обладать багажом знаний и опыта.

 
Ещё много вопросов появится когда вот это "условие для buy" будет расшифровано в полную последовательность для проверки типовых условий, получения рыночной информации, доступа к индикаторам (включая проверку их синхронизованности с таймсериями) и т.п.
 
Alexey Viktorov:

Давайте сравним

mql4

mql5

В чём сложности???

вы кое что пропустили, я дополню.

mql4

double ma_fast = iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE,1);
double ma_slow = iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,1);
if(ma_fast > ma_slow)
   OrderSend(...);

mql5

#include <Trade\Trade.mqh>
CTrade trade;
int ma_handle_fast = iMA(NULL,0,8,0,MODE_EMA,PRICE_CLOSE);
int na_handle_slow = iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE);
double ma_fast[],ma_slow[];
CopyBuffer(ma_handle_fast,0,1,1,ma_fast);
CopyBuffer(ma_handle_fast,0,1,1,ma_slow);
if(ma_fast[0]>ma_slow[0])   
   trade.Buy(...)
Причина обращения: