Программирование советников для Метатрейдера

Идеи заработка, бизнеса, стартапов, фриланса. Работа на себя, а не на дядю.

Модераторы: lotlog, nord73

Ответить
lolofan
Бывалый
Бывалый
Сообщения: 53
Зарегистрирован: Ср июл 31, 2013 4:00 pm

Re: Программирование советников для Метатрейдера

Сообщение lolofan » Вт июн 28, 2016 11:11 am

И у меня походу не работает советник, в журнале ошибки.
Прикрепил.
Вложения
Снимок11.zip
(106.9 КБ) 17 скачиваний

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Вт июн 28, 2016 3:09 pm

lolofan писал(а):И у меня походу не работает советник, в журнале ошибки.
Прикрепил.
Ну так ты наверное не скопировал индюк AlligatorForce.ex4 в папку С:\твой путь....\MQL4\Indicators\ (можно оба файла, или только исходник AlligatorForce.mq4 но потом нажать Обновить слева в Навигаторе). То же касается и советника, можно в Experts положить только исходник HT-Alligator.mq4, который после Обновить в Навигаторе появится в нем.

С:\твой путь.... получаешь из меню Файл - Открыть каталог данных.

Что касается отличия старого индюка alligatorsignal от нового AlligatorForce - там только 2 строчки, обнуляющие начальные данные, чтобы в советнике пустое значение было 0, а не невесть откуда берущееся 2147483647 (которое вполне вероятно еще и от разрядности операционки будет зависеть).

По поводу сигналов на 0 баре - большую роль играет параметр InpForceFilte. Если посмотреть осциллятор Force Index (который используется в alligatorsignal для подтверждения сигнала), то видно что его значения очень малы и зачастую в минус (я так понимаю рынок падает), поэтому при настройках по умолчанию +0.35 сигнала на бай и не появляется. Если сделать 0 - то уже будут сигналы. Наверное, это значение нужно оптимизировать. Ну и посмотреть на 0 или 1 баре определять сигналы на вход (параметр CheckBar=0 или CheckBar=1, а может и 2 и 3 ... :-): )
Но наткнулся на еще один момент.. 2 стрелки на одном баре. В принципе можно и оставить. Одна стрелка появляется позже, когда цена резко разворачивается.
это на старом или новом индикаторе (хотя похоже новый ты не установил)? И на каком баре?
Сейчас еще раз просмотрел старую версию индюка на тестере, 0-вой бар не рисуется.
- тогда и на новом не должна. А значит, что и вход надо определять на сформировавшемся 1 баре: CheckBar=1

lolofan
Бывалый
Бывалый
Сообщения: 53
Зарегистрирован: Ср июл 31, 2013 4:00 pm

Re: Программирование советников для Метатрейдера

Сообщение lolofan » Вт июн 28, 2016 5:19 pm

Фиг знает, не первый раз тестирую то. Файлы нужные лежат в нужных местах ))
Реально разное поведение. Оригинал индюка, ни разу не дергался на 0-вом, новый дергается все время.

При 0.35 сигналы не появляются в советнике или в индюке?

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Вт июн 28, 2016 5:32 pm

lolofan писал(а):Фиг знает, не первый раз тестирую то. Файлы нужные лежат в нужных местах ))
Реально разное поведение. Оригинал индюка, ни разу не дергался на 0-вом, новый дергается все время.

При 0.35 сигналы не появляются в советнике или в индюке?
Раз новый дергается, значит запустился, значит советник должен работать. Работает?
0.35 - настройка по умолчанию в старом советнике. В новом я сделал = 0, так что посмотри и поставь одинаковые в оба. В советнике оно просто передается индюку.
Кстати, что значит дергается? Меняются сигналы? На всякий случай скажи на какой паре и ТФ смотришь. Но скорее всего это из-за настройки InpForceFilte.

lolofan
Бывалый
Бывалый
Сообщения: 53
Зарегистрирован: Ср июл 31, 2013 4:00 pm

Re: Программирование советников для Метатрейдера

Сообщение lolofan » Вт июн 28, 2016 6:46 pm

Все разобрался почему при 0.35 у тебя были только в одну сторону сделки.. Я на 15 мин сижу, там и на бай и на селл ))
Скрин который я двала выше, с описанием входов, как раз все видно там. Настройка 0.35 была.
Пара Евро/доллар.
Советник не работает. Может файл поврежден... Завтра на свежую голову посмотрю еще.

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Вт июн 28, 2016 7:30 pm

Странно все это, убедись, что по пути, что на скрине у тебя, есть файл AlligatorForce.ex4 (хотя как его не может быть, если ты его используешь?). Попробуй, удали HT-Alligator.ex4, оставь только HT-Alligator1.mq4 и обнови Навигатор, ex4 должен перекомпилироваться (может тоже и с AlligatorForce.ex4 нужно сделать). Может с версией терминала что не так, но он сам по идее до последней обновляется. В общем, поэкспериментируй. Других мыслей нет.

lolofan
Бывалый
Бывалый
Сообщения: 53
Зарегистрирован: Ср июл 31, 2013 4:00 pm

Re: Программирование советников для Метатрейдера

Сообщение lolofan » Ср июн 29, 2016 10:56 am

На свежую голову лучше пошло :-)
Я вижу что советник просит индикатор в папке Indicators, но не вижу что он его ищет в корне этой папки ;;-))) . А у меня он в подпапке лежит.

Игорь, вопрос такой - на картинке ниже, сделка закрывается на 1 свечу позже, чем нужно. Это так же влияет параметр "на каком баре смотрим" ?
Или тут в большей степени влияет перерисовка на 0-вом?
Возможно ли сделать 2 таких параметра, один на открытие, другой на закрытие сделок.

Залез в код советника, когда думал, что может декомпил сделать, для разрешения проблемы с советником. Очень понравилось как пишешь код, с объяснениями и все по полкам. За это огромное спасибо! В дальнейшем многим заказчикам понравится :bra_vo:
Вложения
Снимок1.JPG
Снимок1.JPG (51.35 КБ) 697 просмотров

lolofan
Бывалый
Бывалый
Сообщения: 53
Зарегистрирован: Ср июл 31, 2013 4:00 pm

Re: Программирование советников для Метатрейдера

Сообщение lolofan » Ср июн 29, 2016 11:37 am

Сам отвечу. Из-за дикой перерисовки.
А если в процессе теста наложить поверх индюк, данные двух индюков конкретно не совпадают.

Игорь, а можно вернуть индюк к исходнику или прописать в советнике, чтобы подхватил исходный индюк. Хочу сравнить.
Или будут проблемы?

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Ср июн 29, 2016 3:12 pm

lolofan писал(а):Сам отвечу. Из-за дикой перерисовки.
А если в процессе теста наложить поверх индюк, данные двух индюков конкретно не совпадают.

Игорь, а можно вернуть индюк к исходнику или прописать в советнике, чтобы подхватил исходный индюк. Хочу сравнить.
Или будут проблемы?
Подгоню под старую версию индюка (только там будет извращение со сравнением есть сигнал или нет), проблем быть не должно. Но боюсь что разницы не будет, так как индюк по существу не трогал. На Mql5.com где то читал (ссылка не для гостей и ботов тут), что зачастую индикаторы по отдельности и в составе советника дают разные сигналы, но там в этом винили неправильно написанный индикатор, тут я явных ошибок не увидел, надо еще раз статью перечитать. Еще есть вариант перенести код индикатора в советник, но это я думал только после того, как убедимся что по отдельности они работают.

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Ср июн 29, 2016 5:25 pm

lolofan писал(а): Я вижу что советник просит индикатор в папке Indicators, но не вижу что он его ищет в корне этой папки ;;-))) . А у меня он в подпапке лежит.
Положи старый индикатор AlligatorSignal туда же, где и новый AlligatorForce - в новой версии советника 1.1 можно выбрать, какой из них использовать и сравнить. Вроде результаты одинаковы для 0 бара, а если для бара 1 - то отличаются. Похоже, что обнуление массивов в новом индикаторе увеличивает перерисовку бара на 0 баре (вернее при переходе с 0 на 1 бар) - почему не могу понять, по логике такого быть не должно :sh_ok: (разобрался, в том месте нельзя обнулять массивы, нужно в другом, но боюсь, это замедлит работу индюка. Вообще странно, что массив double инициализируется не нулями а максимальным double, с этим еще нужно разобраться.) Вроде индикатор написан правильно, как в учебнике (но я в их не силен, никогда сам не писал, так что все может быть). Т.е. пока используй свой старый AlligatorSignal .
lolofan писал(а): Игорь, вопрос такой - на картинке ниже, сделка закрывается на 1 свечу позже, чем нужно. Это так же влияет параметр "на каком баре смотрим" ?
Или тут в большей степени влияет перерисовка на 0-вом?
Возможно ли сделать 2 таких параметра, один на открытие, другой на закрытие сделок.
И на каком баре смотрим влияет и перерисовка. Если смотрим на 1 баре, т.е. предыдущем, то получается что это на следующем баре после сигнала. Ну а если смотрим на 0 - текущем, то тут может и совпасть и нет. Так как советник один единственный раз проверяет значение на 0 баре, то оно первое и является сигналом. И если при переходе бара с 0 на 1 индикатор перерисуется, то это уже не совпадет с открытым ордером (стрелка с бая на селл а мы уже открылись в бай, или был сигнал на открытие, но пропал).

Но я сделал разные настройки баров для открытия и закрытия - можно экспериментировать.

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Ср июн 29, 2016 10:13 pm

Оригинальный индикатор alligatorsignal все-таки не совсем корректно написан.

Он пересчитывает все бары - 1 (int limit=rates_total-1;) Т.е. каждый раз с новым тиком пересчитывает все, за исключением последнего, что 2 раза неправильно, расходует лишнее время и непересчитывает последний. Например, если rates_total=1 (только 1 бар имеем), то его он считать не будет, limit=0.

Я постарался оптимизировать его (выбросив лишнее :-): ), последняя версия 1.2. Заодно добавил включение звука при появлении или смены направления последней стрелки, так для примера. Правда, наблюдаю не всегда корректное совпадение звука и комментария о последней стрелке. Или это проблемы самого терминала или ноутбука с пропаданием перерисовки графика.
Также и в старом индикаторе что-то неладное с перерисовкой, вроде есть например три последних бая. Перегружаешь индюк - остается только 2 последних (т.е. на 3 баре пропал) - что это - х.з.

Кстати, после оптимизации скорость тестирования выросла на порядок. Но считают они со старым одинаково.

Если успел скачать последний файл, перекачай его, там версия индикатора AlligatorForce 1.2

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Чт июн 30, 2016 7:39 pm

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

-Покупать желательно тогда, когда во время тенденции к повышению Force Index станет минусовым (упадет ниже нулевой линии);
=Сигнал к продаже поступает, когда во время тенденции к понижению Force Index становится положительным;

А в индюке же все наоброт

Код: Выделить всё

      if(Force>InpForceFilte && AlligatorSignal=="Rise")
        {
         AlligatorSignal="Buy";
        }
      if(Force<InpForceFilte && AlligatorSignal=="Fall")
        {
         AlligatorSignal="Sell";
        }
т.е. покупаем если индекс Force>InpForceFilte (InpForceFilte изменяемый предел, у автора индюка он почему-то равен 0.35, хотя в рекомендациях используется 0.

Поменял условия входа - по крайней мере на H4 по евро в прибыль стало работать в 2016 (да и в 2015 тоже).


lolofan
Бывалый
Бывалый
Сообщения: 53
Зарегистрирован: Ср июл 31, 2013 4:00 pm

Re: Программирование советников для Метатрейдера

Сообщение lolofan » Пт июл 01, 2016 1:48 pm

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

Попробуй к последним удачным тестам твоим, использовать параметр "close price" (type of price....), может еще лучше будет.

Аватара пользователя
Igor-san
Site Admin
Site Admin
Сообщения: 11031
Зарегистрирован: Чт май 08, 2003 4:00 am
Откуда: Moscow
Благодарил (а): 17 раз
Поблагодарили: 163 раза
Контактная информация:

Re: Программирование советников для Метатрейдера

Сообщение Igor-san » Пт июл 01, 2016 2:45 pm

lolofan писал(а):Игорь, спасибо за труды. Спасибо что ищешь вариации. У меня сейчас вообще нет времени, опять закидали работой на неделю. Так иногда заглядываю одним глазком сюда.

Попробуй к последним удачным тестам твоим, использовать параметр "close price" (type of price....), может еще лучше будет.
Я пробую у других своих советников-мартинов, ограничить просадки на тестах с 2000 года - тогда несколько сильных падений рынков было, практически ни один советник с приемлемым для меня уровня депозита не выдерживает (за исключением одного, самого первого HomeTrade - но там мало сделок, раз в 3 дня среднем, и малая прибыль, но выше рублевых % :-): ). Кучу всяких идей перепробовал, ни одно пока не позволяет это сделать. Голый советник без всяких ухищрений (исключение, хеджирующие ордера после определенного колена немного помогают) лучше пока работает.

А Аллигатор с Индексом Силы как раз по идее должен определять точки разворота тренда и сам тренд. Но и с ним ничего путного не получилось. Но хоть немного с внешними индикаторами поработал, все полезно.

Ответить

Вернуться в «Бизнес-идеи»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя