Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода) - страница 22

 
Igor Makanu:

речь идет о хэдж-счетах

про ожидаемые костыли  - у меня 2021 г, ожидается максимально дружественный софт, как пример - тот же Питон, который позволяет юзеру максимально лаконично писать свои коды и получать готовый результат, поэтому он быстро и "взлетел" - люди не хотят писать портянки кода ради собственного самоудовлетворения, а хотят в минимально сжатые сроки решить свои "хотелки"

ЗЫ: вспомнил про пальцы ноги и уши? ... - представьте, что Вам дали Вин 111, ну вот все супер, только раскладку клавиатуры теперь нужно переключать путем нажатия кнопки питания системника, я понимаю, что особо фанатичные извернутся и будут пальцем ноги нажимать заветную кнопку на системнике 

Эххх. Вот раньше были времена - люди взахлёб хаяли МТ4, говорили, что им там не хватает контроля, что нужно чтобы разработчики дали его больше, чтобы спустились на уровень-два пониже и дали к ним доступ из MQL. Как только дали - всё стало для просящих жуть как плохо. Хотя все проверки и ожидания ранее были сокрыты от глаз пользователей. Ведь в МТ4 возвращается тикет открытой позиции. Это говорит о том, что вся синхронизация с торговым окружением просто сокрыта от глаз и шаловливых ручек пользователей:

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

Ну просили люди дать доступ в чёрный ящик - им дали.
Теперь нужно самому делать эту синхронизацию. Просили? Просили. Дали? Дали. Хорошо это? Говорили, что будет хорошо. Как дали - стало плохо.

Давайте развернём всё, что сокрыто от глаз в стандартных функциях MQL4 и поглядим - а так ли там всё просто, и сделано ли это всё двумя волшебными строчками кода? Ой вряд ли, думаю...

Посему - сравнение совершенно некорректно. Разверните в MQL-код всё, что есть внутри стандартных торговых функций в МТ4, и объёмы кода сравнивайте, предварительно сделав портацию увиденного в чёрном ящике в МТ5. Тогда вот и будет сравнение корректным.

Это что по поводу костылей и прочего для МТ5, и "ай какой дружественный и возбудительно-прекрасный МТ4" - корректно сравнивайте объём и логику кода. Только в одном месте - чёрный ящик, в другом месте - собственная его реализация (как просили, помните?)

По поводу усложнения - согласен. Да, стало сложнее и больше кода писать. Но, читаем выше - сами просили и посмеивались, что "MQL4 для домохозяек, но мы из них выросли и хотим по-серьёзному"...

Ну вот теперь всё по-серьёзному.

 
Igor Makanu:

речь идет о хэдж-счетах

про ожидаемые костыли  - у меня 2021 г, ожидается максимально дружественный софт, как пример - тот же Питон, который позволяет юзеру максимально лаконично писать свои коды и получать готовый результат, поэтому он быстро и "взлетел" - люди не хотят писать портянки кода ради собственного самоудовлетворения, а хотят в минимально сжатые сроки решить свои "хотелки"

ЗЫ: вспомнил про пальцы ноги и уши? ... - представьте, что Вам дали Вин 111, ну вот все супер, только раскладку клавиатуры теперь нужно переключать путем нажатия кнопки питания системника, я понимаю, что особо фанатичные извернутся и будут пальцем ноги нажимать заветную кнопку на системнике 

Учитывая выделенное думаю это обращено мне.

Я тоже говорю о хэдж-счетах. И совсем не против ускорения, но если скорость интернета не соответствует скорости процессора, то о каком ускорении может идти речь? Вы ведь понимаете, что открытие позиции происходит на сервере и не факт, что обязательно должно быть безошибочное открытие. А скорость ответа на OrderSend() напрямую зависит в том числе и от скорости интернета… Так вот в МТ4 всё заложено внутрь, пока не получен ответ от сервера, продолжения не будет. И только получив тикет или номер ошибки всё будет известно. И такой порядок установлен для всех. Соответственно и скорость исполнения не на высоте.

Теперь в МТ5 заложили другую тактику… Проверять выполнено или нет возложено на программиста… надо, проверяй, не надо получи увеличенное быстродействие. Вы-же почему-то не хотите этого понять и возмущаетесь, что приходится делать проверку и вместо проверки пытаетесь подобрать время задержки.

При чём здесь рептилия¿ Пишите дружественный софт на MQL5, а питон дан наверное не для того, чтобы можно было полностью писать на нём и выкинуть MQL5… Я так думаю.

 

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

по сабжу интересна реализация:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода)

fxsaber, 2021.05.09 12:17

Еще раз, условия задачи для MT4/5 одинаковые. Нужно на пустом счете по окончании выполнения скрипта иметь 100 открытых позиций. При этом допускается во время выполнения скрипта с любого Терминала закрывать некоторые позиции. Это "вмешательство" нужно только для того, чтобы не было тупых решений.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода)

fxsaber, 2021.05.08 18:54

Нужно на MT5 написать скрипт, который на пустом счете открывает 100 позиций.


На MT4 решил таким образом.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


У кого какие варианты решения на MT5?



 
Igor Makanu:

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

по сабжу интересна реализация:

Знаете для чего вот это предложение:

Нужно на MT5 написать скрипт, который на пустом счете открывает 100 позиций.

На MT4 решил таким образом.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

У кого какие варианты решения на MT5?

Чтобы показать всем несведущим насколько отвратителен MQL5 (ведь там нужно самому писать то, что уже написано внутри OrderSend() в MQL4)

И вот новые несведущие люди, не понимающие суть простоты MQL4, будут говорить насколько MQL5 плох - вместо двух строчек кода [1. Я хочу открытую позицию сто раз. 2. Хорошо - держи]. придётся писать после каждой "я хочу" и до "хорошо держи" свои собственные проверки, сокрытые от пользователя в первом варианте, и развёрнутые в MQL-код во втором. Это манипуляции чистейшей воды.

Скорее всего, по причине заложенного в вопрос подвоха, никто и не собирается заниматься прилюдным решением в этой ветке - многим понятен смысл этого вброса - показать радостно-прекрасный MQL4 и сложно-муторный MQL5. Буду рад ошибаться. Но постановка вопроса говорит о многом.

 
Artyom Trishkin:

Давайте развернём всё, что сокрыто от глаз в стандартных функциях MQL4 и поглядим - а так ли там всё просто, и сделано ли это всё двумя волшебными строчками кода? Ой вряд ли, думаю...

Там архитектурно не может быть ситуации, как в MT5. Не снаружи, а внутри. Т.к. во внутренностях (не то, что внешне видите) нет MT5-понятий ордера/сделки/позиции. Т.е. внутренности MT4 гораздо проще потрохов MT5.

Задвоения - это не сложности MT5, а архитектурный баг, когда Total()-функции показывают ложь. И когда открывающий позицию ордер (полностью залитый) находится вместе со своей позицией. В общем, только костылями все решается. И, похоже, все костыли доступны теперь в полном объеме.

 

Artyom Trishkin:

… Это манипуляции чистейшей воды.

Только вот совсем непонятны причины …

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Великий и ужасный МТ4 навсегда (или как грамотно выработать стратегию перехода)

Alexey Viktorov, 2021.05.09 09:15

То-есть для MQL5 вы ставите такие условия, что кто-то может пошалить, а для MQL4 нет? А если я подключусь к счёту с другого компа и поставлю пару отложек… что откроет MQL4???

Вы хотите без каких либо проверок начудить? Вы агитируете за вседозволенность в программировании, или просто пытаетесь побольше охаять MQL5 в чьих-то корыстных интересах?

Напишите всё то-же самое на mql4 с проверками и защитой от дурака.


 
Artyom Trishkin:

Знаете для чего вот это предложение:....

Чтобы показать всем несведущим насколько отвратителен MQL5

домыслы, есть задача - должно быть решение, если мы пытаемся мыслить как технически грамотные люди

я раз 5 подходил к решению этой задачи, пока не придумал как оптимально решить

 

fxsaber:

…И, похоже, все костыли доступны теперь в полном объеме.

Только бы голову не сломать с такими костылями.

 
Artyom Trishkin:

Чтобы показать всем несведущим насколько отвратителен MQL5 (ведь там нужно самому писать то, что уже написано внутри OrderSend() в MQL4)

Речь не о лаконичности. С помощью своей публичной торговой библиотеки напишите решение задачи. Я спрашивал решение, а не оценивал его.

Факт - элементарная задача пока не решена на MT5. И плевать на длину кода.


Раз здесь есть люди со своими торговыми библиотеками, неужели не могут с помощью уже своих готовых решений написать столь простой по формулировке скрипт?

 
Igor Makanu:

я раз 5 подходил к решению этой задачи, пока не придумал как оптимально решить

Я сам еще не пробовал MT4-style.  Теоретически должно работать. Пока нет возможности посмотреть.

Причина обращения: