
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
человеку наврали, что 4 и 5 это одинаковые языки. он проверил, что это не так. а потом его еще и обосрали. )))
Этот код как раз опровергает утверждение что "МТ4 и МТ5 - это абсолютно одинаковый язык"
В некоторых мелких нюансах, но если сразу учитывать разницу, то вполне хватает
#include <Trade_MQL5.mqh>
#else
#include <Trade_MQL4.mqh>
#endif
CTrade trade;
с одноименными функциями и вполне дальше можно писать один код не заморачиваясь на некоторые отличия.
Например в Trade_MQL5.mqh
class CTrade
{
public:
CTrade(){};
~CTrade(){};
// Информация по ордеру
int Orders_Total() { return( PositionsTotal() ); }
string Order_Symbol() { return( PositionGetString(POSITION_SYMBOL) ); }
int Order_Ticket() { return( (int)PositionGetInteger(POSITION_TICKET) ); }
int Order_Type() { return( (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE) ); }
double Order_OpenPrice() { return( (double)PositionGetDouble(POSITION_PRICE_OPEN) ); }
double Order_Lots() { return( (double)PositionGetDouble(POSITION_VOLUME) ); }
double Order_StopLoss() { return( (double)PositionGetDouble(POSITION_SL) ); }
double Order_TakeProfit() { return( (double)PositionGetDouble(POSITION_TP) ); }
double Order_Profit() { return( (double)PositionGetDouble(POSITION_PROFIT) ); }
double Order_Swap() { return( (double)PositionGetDouble(POSITION_SWAP) );}
double Order_Commission() { return( (double)PositionGetDouble(POSITION_COMMISSION) ); }
int Order_MagicNumber() { return( (int)PositionGetInteger(POSITION_MAGIC) ); }
bool Order_Select(const int cnt){ return( PositionSelect( PositionGetSymbol(cnt) ) ); }
};
и в Trade_MQL4.mqh
class CTrade
{
public:
CTrade(){};
~CTrade(){}
// Информация по ордеру
int Orders_Total() { return( OrdersTotal() ); }
string Order_Symbol() { return( OrderSymbol() ); }
int Order_Ticket() { return( OrderTicket() ); }
int Order_Type() { return( OrderType() ); }
double Order_OpenPrice() { return( OrderOpenPrice() ); }
double Order_Lots() { return( OrderLots() ); }
double Order_StopLoss() { return( OrderStopLoss() ); }
double Order_TakeProfit() { return( OrderTakeProfit() ); }
double Order_Profit() { return( OrderProfit() ); }
double Order_Swap() { return( OrderSwap() );}
double Order_Commission() { return( OrderCommission() ); }
int Order_MagicNumber() { return( OrderMagicNumber() ); }
bool Order_Select(const int cnt){ return( OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES) ); }
};
и по коду в дальнейшем использую trade.функция(); все проблем ни каких.
Подключаю данный Class в начале скрипта и спокойно пишу.
Например:
{
if( !trade.Order_Select(cnt) ) continue;
if( trade.Order_Type()!=ORDER_TYPE_BUY && trade.Order_Type()!=ORDER_TYPE_SELL ) continue;
if( trade.Order_MagicNumber()!= 111 ) continue;
switch( trade.Order_Type() )
{
case ORDER_TYPE_BUY:
break;
case ORDER_TYPE_SELL:
break;
}
}
P.S. Код конечно моего класса подрезан, но сам принцип думаю понятен.
человеку наврали, что 4 и 5 это одинаковые языки. он проверил, что это не так. а потом его еще и обосрали. )))
Нет, просто "человек" пришел сюда продвигать глупости.
Ему очень хочется.
Господа, вы занимаетесь очень технической темой алготрейдинга.
Пользуйтесь рациональными оценками и смотрите как минимум на год вперед.
Обоснований у МТ5 огромное количество, а топящие за МТ4 выступают откровенно как вредители, раз за разом вытаскивая застарелые мифы в попытках поддержать свою мысль "провалились! ну вот же, я пишу - провалились! присоединяйтесь к моей позиции! ну провалитесь же все равно".
У нас даже некоторые ангажированные СМИ по 5 лет умудрялись писать про "ну счас точно их скинут, вот конкурент есть, вот еще один". Прошло много лет, все конкуренты провалились, все стало ясно и теперь они отказались от постоянной вставки между строк мысли "счас провалятся".
Для разбирающихся в теме нет рациональных и технических причин выбирать Метатрейдер 4. И даже очередной посыл "в МТ4 торговые условия лучше" натянут от безысходности.
Так что хватит пытаться обсуждать мифы, вытаскиваемые троллями.
он имел ввиду эти ветки
https://www.mql5.com/ru/forum/6343
https://www.mql5.com/ru/forum/160587
эти ветки как раз говорят о том, что если даже рассматривать последний год, то новички MQL5 активней новичков MQL4 на 30%. И это не смотря на то, что пользователи, использующие МТ4 пока все еще в большинстве в виду банальных отсутствия знаний, инерции и лени.
А вот что я имел ввиду:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Одна из причин почему брокеры не любят МТ5
Renat Fatkhullin, 2017.11.21 13:33
Ты можешь дать удочку в руки страждущего (дали), ты можешь привести лошадь к водопою (привели), но ты не можешь гарантированно побороть (боролись, боремся и будем бороться) массовый пофигизм и иррациональную лень.
И ведь самое смешное, чтобы админу брокера закачать детальную историю (например, с MetaQuotes-Demo и любого другого сервера), нужно потратить пару минут простейших операций. Даже данных готовить не надо.
Так что вспоминаем про "в очередной раз закупили дорогующее оборудование на завод, бросили полураспакованное в цеху, где работяги стали использовать станки как подставки". Когда слышите ответ "станок не работает" - это как раз про это.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 1640: создание и тестирование собственных финансовых инструментов
Renat Fatkhullin, 2017.10.08 08:26
Это же развернутый кеш для быстрого доступа.
Если данные постоянно разворачивать на лету, то будут дичайшие тормоза. Плюс оперативки не хватит.
При работе с массивными и детальными данными нужно смириться с потребностями в десятках гигабайт диска. Мы в 2017 году, где 10 гб SSD стоят 10 долларов.
Терминал сам внимательно следит за неиспользуемыми символами и стирает их историю. Также чистит и каталоги тестера.
Как я повторял уже сто раз, вот подтверждение, почему мы сделали MQL5 несовместимым с MQL4 по модели доступа к данным. У Метатрейдера 5 насколько огромные объемы данных, что к ним категорически нельзя обращаться по плоской модели типа Close[x] на всем пространстве истории. Банально памяти не хватит.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Вопрос по скорости работы MQL5
Renat Fatkhullin, 2017.10.22 18:29
Посмотрите обсуждения и описания тут:
Посмотрите на тест сравнения C++, MQL4, MQL5
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
MT4-Tester VS MT5-Tester
Renat Fatkhullin, 2017.05.08 10:41
Во всем:
Грубо берем 1 800 000 тиков в тесте, где за 5 дней открывается 200 000 сделок. Упрощаем для простоты до 900 000 тиков, где идет сканирование 100 000 ордеров в истории и получаем 900 000 * 100 000 = 900 000 000 000 вызовов OrderSelect(да еще и с оверхедом от библиотеки). Вот именно 900 миллиардов OrderSelect и тестируются.
Причем из них 99.99% вызовов абсолютно лишние и сделаны исключительно ради демонстрации "тормозов".
Если хотите провести чистый тест, напишите два идентичных чистых примера без библиотек. Так будет гарантия чистоты и отсутствие встроенного ради совместимости оверхеда.
Мы оптимизировали доступ к истории и полностью свели на нет эту демонстрацию. Ее ведь специально так написали.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
ООП vs процедурное программирование
Renat Fatkhullin, 2017.08.15 13:27
Не обижайтесь пожалуйста, но это какой-то праздник сюрреализма.
Способность контролировать 10 коробков спичек для микродомика противопоставляется постронию небоскребов.
Именно так в форумах рождаются самоподдерживаемые и самоссылающиеся заявления про MQL4 проще, а MQL5 совсем-совсем сложно. Профессиональные разработчики просто не лезут в такие обсуждения.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Renat Fatkhullin, 2017.07.21 12:55
Использовать родные, более производительные функции MQL5 языка и не цепляться за MQL4 код. Любой конвертор/упрощатель MQL4 -> MQL5 несет в себе замедление в десятки раз, так как он пытается микрофункции прямого доступа из MQL4 сэмулировать через массовые операции MQL5. Причем эмуляция абсолютно без оптимизации и кеширования.
В корне использования той или иной функции(куска кода, включая чужой код) должно лежать понимание, что конкретно делается. Иначе получается "я просто использовал чужой код, смотрите - скорость упала!". Без понимания инструмента и того, что ты с ним делаешь, хорошего результата не получить.
В дополнение к "как правильно", уточню, что задача "научить(ся) программированию" экстремально сложная, как только ты поднимаешься выше самого базового уровня оперирования(даже не понимания, а именно оперирования) языком. Поэтому я не вижу другого способа обучения, кроме как прочтения массы статей, документации, готового кода в библиотеке и обязательной практики в течение нескольких лет.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Renat Fatkhullin, 2017.07.21 09:00
К сожалению, вы все делаете не так.
Вместо того, чтобы написать родной и эффективный MQL5 код, вы используете страшно неэффективный эмулятор MQL4 кода, который тормозит работу в десятки раз.
Плохо то, что вы даже не понимаете, что делаете, раз заявляете вопросы про скорость.Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Есть ли конкуренты ?
Renat Fatkhullin, 2017.05.24 11:35
Это хорошо объясняет ваши заявления.
Вы понятия не имеете ни о языке MQL5, ни об его производительности. Как не имете понятия о производительности/эффективности самого MetaTrader 5 по сравнению с MetaTrader 4. На основе сильно устаревших данных об MetaTrader 4 (которым вы тоже не пользуетесь по сути), вы делаете простой вывод "ну, МТ5 такой же ведь" и заявляете:
Остальные ваши комментарии лишь подтверждают исходный посыл, который и является сутью захода.
Реально смешно такое читать - покупаю FPGA(почему не "купил"? ведь для красного словца было упомянуто) и доли секунды(ладно бы миллисекунды или микросекунды). Особенно зная, что ничего в МТ5 не препятствует трейдеру делать сделки максимально быстро, проводить тяжелейшие расчеты(есть даже OpenCL штатный), все данные под рукой (хоть десятки миллионов реальных тиков) и все в удобном интерфейсе.
Вот интересные материалы:
Сравнение MQL5 и QLUA - почему торговые операции в MQL5 до 28 раз быстрее?
Битва за скорость: QLUA vs MQL5 - почему MQL5 быстрее от 50 до 600 раз?
Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее
Вот что можно сделать с OpenCL прямо в терминале MetaTrader 5 без всяких DLL
Не нужно критиковать то, чем не пользовались и не пользуетесь. Тем более, заявлять в мир позицию "я с голой шашкой и анализом пары тиков торгую" как альтернативу аналитике и глубокому анализу.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Предложения по продвижению платформы МТ5 в массы
Renat Fatkhullin, 2017.01.31 21:13
У MQL5 совершенно другой компилятор, во много раз качественнее четверки.За счет сложной оптимизации время компиляции заведомо больше. Но и результирующая скорость полученного кода в разы быстрее MQL4.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Предложения по продвижению платформы МТ5 в массы
Renat Fatkhullin, 2017.01.29 10:48
Вот несколько важный позиций:Когда вы говорите "если бы был конвертор", то вы не понимаете, что это вообще ничего не изменит. Абсолютно ничего - спорить на эту тему не буду, так как для этого нужно, чтобы оппоненты были на совершенно другом уровне понимания продуктоведения и маркетинга.
Проблема совершенно не в старых кодах, а исключительно в человеческой инерции.
Архитектуру меняют, чтобы сделать следующую систему правильнее и готовой к новым нагрузкам и запросам. Мы уже 4 раза с нуля переписали свои торговые платформы в цепочке FX Charts -> MetaQuotes -> MetaTrader 3 -> MetaTrader 4 -> MetaTrader 5, чтобы иметь возможность конкурировать с другими системами и быть современными.
В отличие от конкурентов, у нас есть возможность менять менять рынок.
Мы полностью изменим работу с MQL5 Storage и вынесем все в отдельные проекты, в которые можно приглашать других разработчиков. Увеличится гибкость, появится возможность любой проект публиковать в Codebase прямо из редактора и использовать версионность.
По сути все в библиотеке кода превратится в полноценные проекты. Существующие файлы будут правильно сконвертированы, автоматически помещены в проекты и приписаны авторам. Авторы смогут пригласить в проекты любых участников и совместно дорабатывать их. Кроме того, прямо с сайта любой разработчик может попроситься в проект.
Это даст возможность резко увеличить объем и качество библиотеки кода. Возможно, получится мини-гитхаб.
Именно гигантских, исчисляемых миллионами и десятками миллионов людей. Техно сообщества критически важны, но работают для связывания технологического небольшого костяка участников, исчисляемого обычно десятками тысяч.
Задача в том, как изменить восприятие 5-10 миллионов человек, которые не желают тратить свое время, читать, учиться, узнавать или рационально размышлять.
Это только некоторые цитаты человека, который является самым компетентным человеком в мире по вопросу сравнения MT4 c MT5.
А вот он уже и сам здесь :))
И даже очередной посыл "в МТ4 торговые условия лучше" натянут от безысходности.
Извините, но данный аргумент выглядит уж слишком эмоциональным и далеким от реальности ибо цена в алготрединге вещь далеко не самая последняя, если уж не говорить, что самая первая ибо от этого может зависить прибыльность стратегии.
Опять же как только появится брокер с конкурентной ценовой политикой, то все без больших сомнений перейдут на МТ5 ибо технически это уже не составляет большого труда, к тому же будет коммерческий стимул.
Весь вопрос почему такой конкурентный брокер с МТ5 все еще не появился и есть ли шанс что появится хоть когда-то?
Извините, но данный аргумент выглядит уж слишком эмоциональным и далеким от реальности ибо цена в алготрединге вещь далеко не самая последняя, если уж не говорить, что самая первая ибо от этого может зависить прибыльность стратегии.
Опять же как только появится брокер с конкурентной ценовой политикой, то все без больших сомнений перейдут на МТ5 ибо технически это уже не составляет большого труда, к тому же будет коммерческий стимул.
Весь вопрос почему такой конкурентный брокер с МТ5 все еще не появился и есть ли шанс что появится хоть когда-то?
Святая наивность.
Этот мир не подчиняется рациональным доводам и поведению. Поэтому никакие "сделай лучший продукт/сервис и все клиенты - твои" не работают. Маркетинг работает.
Метатрейдер 5 брокеров огромное количество и условия у них разные. То, что вы сами себя убедили, что нет брокеров или условия хуже - это исключительно ваше частное мнение, которые вы выносите на публику как максиму. Взяли пару брокеров на слуху, кто кое-как запустил МТ5, а потом сделали глобальный вывод про условия торговли. Ибо очень хочется найти любой довод.
Только в мобильном Метатрейдере 5 сейчас доступно 343 брокерских сервера. Выбирайте.
А вот что я имел ввиду:
Спасибо за подборку!
Это мизерная часть моих объяснений. Вообще для желающих есть удобная возможность искать по автору: https://www.mql5.com/ru/search#!author=renat
Маркетинг работает.
Метатрейдер 5 брокеров огромное количество и условия у них разные.
Только в мобильном Метатрейдере 5 сейчас доступно 343 брокерских сервера. Выбирайте.
Вы вот говорите про маркетинг и одновременно предлагаете клиентам выбрать лучшие ценовые условия из 343 брокеров МТ5 и одновременно сравнить их с не меньшим количеством брокеров МТ4.
Знаете ли Вы хоть одного человека, кто способен провести и произвел самостоятельно данное маркетинговое исследование и если да, то к какому выводу он пришел?
Вы вот говорите про маркетинг и одновременно предлагаете клиентам выбрать лучшие ценовые условия из 343 брокеров МТ5 и одновременно сравнить их с не меньшим количеством брокеров МТ4.
Знаете ли Вы хоть одного человека, кто способен провести и произвел самостоятельно данное маркетинговое исследование и если да, то к какому выводу он пришел?
Безвольные и безынициативные особи в современном стремительном цифровом мире обречены на вымирание. Современному человеку просто необходимо иметь такие навыки: умение пользоваться поисковыми системами, умение анализировать.
Докажите себе, что Вы человек, подыметесь с дивана, включите поисковик.
Помните, это технический форум и здесь бездоказательные выхлопы не проходят.