Как понять "улучшили те места" после "сходил ночью погулять"?
Вы гуляли ночью или выгуливались?
Мне в офисе сидеть давно не надо, я часто гуляю по ночам ) Улучшил в проекте места, которые давно хотелось переделать, да было лень, и так работало. А тут под такое дело, конвертация, как-то собрался и сделал заново многие вещи.
Андрей, "гулять" и "бухать" - разные вещи ))
Алексей, к Вам вопрос:
Насколько долго и сложно перевести проекты, которые писаны в процедурном стиле? Почему в процедурном? - привык так, есть один шаблон на все случаи жизни, пишу в нём 3-5 строк для условий, и любая сова готова за пол-часа со всеми отладками
Следующее:
Возможно ли переписать функцию открытия позиций, чтоб применять её в том-же виде, что и в четвёрке, просто привык за несколько лет к их названиям и использованию, и не нужно подключать никаких библиотек.
Ну и блок условий для открытия и создания графики:
Ещё много графики, писал как-то один раз на пятом, так там что-то через .опу сделано время и цена выбора первой точки и второй. В четвёрке так: ObjectSetInteger(0,nm,OBJPROP_TIME1, t1) и ObjectSetInteger(0,nm,OBJPROP_TIME2, t2), а вот в пятом такая конструкция не работает(
Заранее спасибо за ответ!
...
Вывод. Да фигня все эти стоны о том, как тяжко бедному программеру перейти на пятерку! ...
Мне кажется легче не переносить код. А написать с нуля. Так и качественней получится.
Вот не надо божий дар с яичницей путать. Если советник работает несколькими ордерами и переводится в неттинг, это нереальная задача.
Само собой, я же написал в первом посте "А давно хотел перенести свой проект скальпера с МТ4 на МТ5 с хеджем, уже и хедж-демки от робо давно завел, да все времени реально не было." Наверное, вы пропустили эти детали.
Я именно поэтому не переходил на МТ5, пока там был только неттинг. Сейчас, с хеджем, переползаю потихоньку.
Пост был о чисто технической стороне перехода.
Мне кажется легче не переносить код. А написать с нуля. Так и качественней получится.
Почему? Языки одинаковы, отличаются функции по доступу к таймсериям, некоторые другие, это решается в VS заменой по всему проекту, как я написал. Это быстро и нетрудно. Некоторые сложности с торговой частью, мне пришлось ввести в класс помимо обработки ордеров обработку позиций. Но, в принципе, тоже ерунда.
Еще раз, на всякий - я про хедж.
Алексей, к Вам вопрос:
Насколько долго и сложно перевести проекты, которые писаны в процедурном стиле? Почему в процедурном? - привык так, есть один шаблон на все случаи жизни, пишу в нём 3-5 строк для условий, и любая сова готова за пол-часа со всеми отладками
Следующее:
Возможно ли переписать функцию открытия позиций, чтоб применять её в том-же виде, что и в четвёрке, просто привык за несколько лет к их названиям и использованию, и не нужно подключать никаких библиотек.
Ну и блок условий для открытия и создания графики:
Ещё много графики, писал как-то один раз на пятом, так там что-то через .опу сделано время и цена выбора первой точки и второй. В четвёрке так: ObjectSetInteger(0,nm,OBJPROP_TIME1, t1) и ObjectSetInteger(0,nm,OBJPROP_TIME2, t2), а вот в пятом такая конструкция не работает(
Заранее спасибо за ответ!
Виталий, так вы можете оставить все в процедурном стиле, никто не заставляет использовать ООП. Просто Стандартная библиотека мне понятна, я от нее родил свой класс, кое-что дополнил. Да и у меня все на ООП сделано.
Отвечаю в обратном порядке ))
1. Переделывал скрипт с графикой, есть отличия, но крайне незначительные. В основном, надо явно указывать окно и подокно, в четверке было необязательно.
2. Насчет открытия позиций, если использовать класс CTrade, там есть почти прямые аналоги функций MQL4
3. Думаю, недолго.
Если вы про фриланс, втянуться можно очень быстро. В основном надо привыкнуть, что ордера, сделки и позиции - разные вещи, в т.ч. и на хедже.
Мне кажется легче не переносить код. А написать с нуля. Так и качественней получится.
Иногда бывает полезно бросить работу, жену, сытую жизнь и начать все с нуля. Я делал так много раз. Получается все качественнее и качественнее ))
И тогда подобный переезд будет - легкой ночной прогулкой.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Хочу рассказать, как я перевел свой проект с MQL4 на 5-ку за одну ночь. Только сразу, чтобы Андрей з-з-з-з не возбуждался, я не хвастаюсь, просто хочу рассказать о практике, все оказалось до веселого просто )
Итак, вчера днем устал, прилег на пол-часика, а проснулся в пол-первого ночи. Во думаю, храпанул, что теперь делать, фига уснешь.
А давно хотел перенести свой проект скальпера с МТ4 на МТ5 с хеджем, уже и хедж-демки от робо давно завел, да все времени реально не было. Главная цель - потестировать на реальных тиках от робо. И запустить оптимизатор в облаке, там скорость реально радует.
Сейчас я гоняю модель в Матлабе, но это все же упрощенный вариант и становиться все тяжелее, точнее нуднее синхронизировать изменения в коде и модели. Скажем так, модель постоянно отстает от реального кода MQL4.
********** Процесс переноса *****
Итак, у меня проект состоит из одного .mq4 файла и кучи классов в .mqh. Перенес все в 5-ку, .mq4 переименовал в .mq5, классы оставил, как есть. Запустил компиляцию, 100500 ошибок естественно. Ок, трудности нас не пугают, смотрим на ошибки. Основная масса связана с MarketInfo, встречается почти везде. Ок, я ленивый котик, вычищать руками принципы лени не позволяют )) Запускаем Visual Studio, а там у меня уже есть проект по работе с файлами MQL4/5.
Кстати, посмотрел, до сих пор Ютуб бережно хранит мой древний ролик от 2011 г. , как настроить студию 2010, чтобы она воспринимала файлы MQL, как плюсовые. Ничего не изменилось, можно юзать и сейчас.
Ролик от 2011, я там могу сильно ругаться на MQL4, сейчас ситуация изменилась, язык нормальный )) Просто лень переслушивать, но могут проскочить отголоски прошлого.
https://www.youtube.com/watch?v=oQs4qqwhqzg
Итак, закинул все в студию, там приятности в том, что поиск и замену можно делать сразу по всему проекту, а не по одному файлу. Заменил все MarketInfo на аналоги из MQL5. После пары мелких коррекций все ошибки, как и ожидалось, остались в классе COrderManager. Это мой класс, который управляет ордерами, строит и модифицирует сетки и всякое разное.
На его переделку ушло, наверное, часа 3. Использовал класс Стандартной библиотеки CTrade, правда, пришлось родить от него младенца, так как некоторых фич не хватило.
------------------------
Вывод. Да фигня все эти стоны о том, как тяжко бедному программеру перейти на пятерку! За время перехода я нажарил огромную сковороду картошки с мясом, сходил ночью прогулялся, люблю ночью гулять, посмотрел немного кино с Брюсом У., ну и значительно улучшил те места, до которых руки не доходили. Теперь вполне можно делать ребейтор, а то мне недавно напомнили старое обещание, да и тема опять возникла на днях.
Да, класс COrderManager сильно похудел с использованием Стандартной библиотеки