Авторизация  
Jake Green

Доработка советников и индикаторов MQL

Рекомендуемые сообщения

В этой теме можно оставить просьбы о доработке ваших советников, индикаторов и скриптов для торговых платформ MetaTrader4 и MetaTrader5. Опытные программисты помогут вам что-то изменить, добавить или убрать в боте.

Правила оформления запроса:
1. Подробно опишите, что нужно сделать. Приветствуются скриншоты с пояснениями.
2. Прикрепите к сообщению исходный код, который требуется доработать, в виде файла (.mq4 или .mq5).

ВНИМАНИЕ! Запрещено предлагать работу с декомпилированным кодом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перед тем, как оформить запрос, хотелось бы уточнить некоторые моменты (для совсем чайников):

1. Исходный код. Как его прикрепить, в каком виде и как получить этот вид? На mql5 кода в виде

2019-09-21_151305.jpg.f0a4ac19722e0ee52f186f1b4e9f08c9.jpg

Его что, нужно скопировать и вставить сюда? Тоскливый вариант. Тогда, может быть, проще сделать ссылку на mql5? Или вот этот ЗиП надо прикреплять к сообщению?

2019-09-21_151430.jpg.f6fb61c898f33bbbcbc2569cb0b30455.jpg

А если код попался в таком варианте

2019-09-21_151846.jpg.bdbd021a3e0b3490ef90aaa5f4c1bc10.jpg

как его получить в удобоваривом виде для доделки/правки?

2. Как определить, код декомпилирован или нет? 

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

Мучают меня смутные сомнения, что в этом деле на форуме больше чайников, чем спецов((( Возможно, имело бы смысл более широко раскрыть требования к запросу. Нет?

Уже написал, потом пришла думка о том, что, видимо, в любом случае нужно будет выкладывать свою заявку, а степень ее исполнения будет определена уже после рассмотрения кода. Но вопрос его прикрепления к сообщению все равно стоит на первом месте.

В общем, лес дремучий пока, но попробовать его попилить стоит ))

Изменено пользователем 11bish

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошие вопросы.
1) прикрепите сам mq4 или mq5 файл, как сделал я в этом сообщении.
2) у декомпилированного советника/индикатора все переменные будут иметь непонятные названия, например такие:

Цитата

int Gli_92 = 0;
double Gld_96 = 161.0;
double Gld_104 = 200.0;
double Gld_112 = 261.0;
int Gl_period_120 = 38;
int Gl_period_124 = 30;

это сразу бросается в глаза когда открываете код.
3) Если код есть в открытом доступе, мы можем его модифицировать как нам вздумается если иное не прописано в самом коде.
По вопросу доработок. Простым языком, если вы хотите к велосипеду приделать моторчик, это доработка, а если вы хотите летать на нем на Марс, это переделка 😉
Оба ваших примера отсносятся к доработкам. 

4 indicators v1.03.mq4

Изменено пользователем Jake Green

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
21 час назад, Jake Green сказал:

у декомпилированного советника/индикатора все переменные будут иметь непонятные названия, например такие:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
17 часов назад, profit exist сказал:

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

прогарммисты называют переменные не от балды, а с учетом того для чего они предназначены.
просто назвать переменную "яблочко", а другое "облачко" недостаточно.
нужно разобраться за что отвечает переменная и изменить ее имя во всем коде.
кроме того при декомпиляции появляется очень много мусорных переменных которые нужно поудалять.
если вы способны сделать эту работу, то скорее всего и сами сможете сделать соответсвующую доработку )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
6 часов назад, Jake Green сказал:

прогарммисты называют переменные не от балды, а с учетом того для чего они предназначены.
просто назвать переменную "яблочко", а другое "облачко" недостаточно.
нужно разобраться за что отвечает переменная и изменить ее имя во всем коде.
кроме того при декомпиляции появляется очень много мусорных переменных которые нужно поудалять.
если вы способны сделать эту работу, то скорее всего и сами сможете сделать соответсвующую доработку )

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 23.09.2019 в 18:07, profit exist сказал:

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

с доработкой я помогу, не вопрос.
если устраните следы декомпиляции и код станет читаемым, без проблем. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 21.09.2019 в 20:15, Jake Green сказал:

к велосипеду приделать моторчик, это доработка, а если вы хотите летать на нем на Марс, это переделка

Темку завел , но решил еще уточнить на всякий случай: перевод советника с мт4 на мт5 - это моторчик или на Марс слетать? 

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

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

Изменено пользователем 11bish

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 30.09.2019 в 22:09, 11bish сказал:

Слишком уж все просто получается. Или, может быть, так оно и есть?

правда гдето по середине.
Автозаменой конечно ничего не добьешься в любом советнике.
Тут все зависит от качества кода и от сложности алгоритма. Как правило в большинстве случаев это действительно задача на 10-15 минут для советников или минут 30 для индикаторов. Ну бывает что нужно и повозится.
Можем провести эксперимент. Дайте код который вам нужно перевести с МТ4 на МТ5, я запишу видео процесса перевода с комментариями. 

Изменено пользователем Jake Green

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
31 минуту назад, Jake Green сказал:

Дайте код который вам нужно перевести с МТ4 на МТ5

Оказалось, он в экзешном файле.  Если правильно понимаю, это уже скомпиллированная версия, так же? мкл файл на него не нашел. Вроде как советник в нем должен быть, т.е. это - открытый код? Поэтому взял аналогичную версию, завтра поставлю, прогоню и, если все будет нормально, выложу сюда. Случайно обратил внимание на этот момент. Давно уже советниками не занимался, поэтому могу ошибаться. Но вроде как экзешный файл создается в терминале на основе мкл-файла. Сейчас поэкспериментировал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, 11bish сказал:

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

так и есть.
mq* это исходный код который пишет программист
ex* это машинный код (компилированный файл).
чтобы переписать нужен mq

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 02.10.2019 в 22:28, Jake Green сказал:

чтобы переписать нужен mq

Не думал, что вопрос может стать так, но - встал))

мт5 в мт4 подскажете, как перевести?

Как ни странно, но такой версии в мт4 не нашел, а полдня искал. Возможно, конечно, плохо искал, через поисковики там всякие на всяких специализированных сайтах, но факт остается фактом - не нашел. Обычно имя сова не меняют, когда с мт4 на мт5 конвертируют.

Но тут, похоже, Карпутов еще прямиком в мт5 наваял...

 

 

Изменено пользователем 11bish

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, 11bish сказал:

Не думал, что вопрос может стать так, но - встал))

мт5 в мт4 подскажете, как перевести?

тоже переписывать надо. нужен исходник )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.10.2019 в 23:29, Jake Green сказал:

исходник

Если будет время и возможность, то есть еще пожелания к данному советнику для мт5:

- добавить комментарии

- добавить в настройках выставление руками тейк/стоп

- учесть спред, как в этом советнике

- еще не совсем понятно по поводу выставления лотности первого ордера. В настройках только такие варианты

2019-10-08-063450.jpg

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

В целом все выглядит так

2019-10-08-062933.jpg


2019-10-08-063011.jpg

Ну и, соответственно, ожидаю поддержки в переводе с мт5 на мт4))

Еще: почему в мт4 в советник достаточно закинуть файл мкл, а в мт5 нужно закидывать оба файла, чтобы советник появился в проводнике?

 

RSI Martingale.mq5

 

Изменено пользователем 11bish

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 часов назад, 11bish сказал:

- учесть спред, как в этом советнике

В том советнике учет спреда нужен так как мы ставим линии на графике который построен по цене Bid. 
А в этом зачем? Ордера открываются по сигналу RSI и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Jake Green сказал:

в этом зачем?

Пусть будет без него. Это уже, наверное, я что-то намудрил))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

добавил стоп лосс и комментарии.
по поводу лота. в первой настройке вы выбираете что использовать, фиксированный лот или риск в % от депозита.
во второй настройке вы задаете число соответсвенно первой настройке.
другими словами, если в первой настройке вы выбрали фиксированный лот, то во второй вводите его размер.
если в первой насройке вы выбрали риск на сделку, то во второй вводите этот самый риск.

наверно со стоп лосом и тейк профитом не все так просто. он вроде как должен строить сетку?
отсюда вопрос, как ставить ТП и СЛ? от средней цены?
предлагаю ставить стоп лосс от первого ордера, а вот ТП от средней цены.
Сейчас он просто ставит СЛ и ТП каждой сделке по отдельности.

RSI Martingale 2.mq5

Изменено пользователем Jake Green

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 часов назад, Jake Green сказал:

наверно

Вчера уже поздновато увидел, эксперименты переносятся на следующую неделю) Уже который раз замечаю, что нравится по ночам работать?)) Я от такого распорядка еле смог отойти. И то, если бы не работа в офлайне, до сих пор бы канетелился в нем. Ну, да не суть))

За все время эксплуатации (оно не сильно-то продолжительное) на сетку не нарывался. Как и на включение мартина. Поэтому, думаю, пока оставим все, как есть, а в дальнейшем уже посмотрим, что повылазит из него. 

Интересно, что за прошедшую неделю на четырех парах советник не открыл ни одной сделки.

Небольшие вопросики (для развития, так сказать))

1. На скрине видно, что перед каждой настройкой есть синие листики/квадратики, на которых циферки 1/2 и 123. А что они символизируют?

2019-10-12-081354.jpg
 

2. После загрузки файла и помещения его в Эксперты терминала, обновил строку "советники" в проводнике (правой кнопкой - обновить), но он не появился. Тогда попробовал открыть его через Эдитор и, о чудо, увидел его. Нажал "скомпилировать", по окончанию процесса еще раз обновил строку "советники" в терминале и тогда он появился. Так должно быть? Или что-то изначально неправильно делал?

2019-10-12-082309.jpg
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост требует одобрения модератора, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Авторизация