Авторизация  
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
 

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


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

1) эти значки обозначают тип настраиваемой переменной.
123 - целые числа, например 123 или 5 или 9345345
1/2 - дробные числа (включая целые), например 0.5 или 300
ab - строка/текст
стрелочки - логическая переменная. правда/лож да/нет 1/0 true/false

2) да так и должно быть. терминал использует только компилированный файл. Если закидываете компилированный файл (ex4) в папку терминала, то достаточно обновить список советников. 
так же можно просто перезагрузить терминал, и он скомпилирует все файлы которые ранее не компилировал.

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


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

терминал

Здравствуйте.

Решил попробовать немного еще раз потрепать Илана.

Привлекает то, что использует RSI

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

Если будет время и возможность, прошу добавить в настройки эти моменты + комментарии

2019-11-03-153333.jpg

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

Спасибо.

Ilan1.6 Dynamic_.mq4

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

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


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

Здравствуйте.

Решил попробовать немного еще раз потрепать Илана.

Привлекает то, что использует RSI

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

Если будет время и возможность, прошу добавить в настройки эти моменты + комментарии

2019-11-03-153333.jpg

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

Спасибо.

Ilan1.6 Dynamic_.mq4 21 \u043a\u0411 · 0 загрузок

Готово.
кстати опция "не начинать новую сетку" уже была, называется "FirstOrder"

Ilan1.6 Dynamic_2.mq4

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


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

кстати

Есть два момента, которые никак не могу понять: почему не подхватывает ордера, когда мейджик ставится "0" первый и второй - не открывает сделки лотностью 0,01. Поставил на центовик, а он целый день промолчал, в то время, как на других счетах активно работал. Неужели эта версия для четырехзнака? Думал, что таких вариантов уже не должно остаться по сети, но делаю вроде все как всегда: поменял лотность в настройках с 0,1 на 0,01, больше ничего не трогал. Возможно, нужно было еще что-то где-то отжать/нажать/изменить?

По первому моменту имел ввиду следующее: поставил мейджик "0", открыл с рынка, а он через пару пунктов открыл свой (обычно этого не было, чтобы лепил рядом), хотя тейк выставил у обоих одинаковый. Так должно быть?

Если найдется время, гляньте, пожалуйста?

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

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


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

Есть два момента, которые никак не могу понять: почему не подхватывает ордера, когда мейджик ставится "0" первый и второй - не открывает сделки лотностью 0,01. Поставил на центовик, а он целый день промолчал, в то время, как на других счетах активно работал. Неужели эта версия для четырехзнака? Думал, что таких вариантов уже не должно остаться по сети, но делаю вроде все как всегда: поменял лотность в настройках с 0,1 на 0,01, больше ничего не трогал. Возможно, нужно было еще что-то где-то отжать/нажать/изменить?

По первому моменту имел ввиду следующее: поставил мейджик "0", открыл с рынка, а он через пару пунктов открыл свой (обычно этого не было, чтобы лепил рядом), хотя тейк выставил у обоих одинаковый. Так должно быть?

Если найдется время, гляньте, пожалуйста?

1) чтобы открывался лотом 0.01 ставьте опцию lotdecimal равной 2
2) с меджиком не должно быть проблем, реализовано все нормально. Покажите скриншот и прикрепите файл настроек с которыми он у вас открылся слишком близко?
 

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


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

чтобы

Здравствуйте. 

Тут вопросик возник по изменению стандартных звуков в терминале.

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

2020-01-30-140827.jpg

Експерта - к экспертам

Перезагрузился. Мой файл не распознался

2020-01-30-141143.jpg
 

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

Что-то где-то сделал неправильно?

Когда будет время, посмотрите? 

И как могут быть звуки открытия и закрытия разными, если настройка одна? Там что-то криво?

2020-01-30-141602.jpg

eSignalForEvents20191227_звук ордеров.mq4

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

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


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

Этот выпадающий список задается программистом жестко. Он включил в этот список звуки которые приложил в архиве.
Добавил вариант в список '... свой звук' и поле куда можно ввести название своего файла.
 

eSignalForEvents20191227_звук ордеров2.mq4

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


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

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

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

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

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

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

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

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

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

Авторизация