[open source] [Советник] Zerg EA MOD (мартингейл)

От Shmuma, 13 октября, 2013 в Лаборатория ProfitFX

Автор#1
Оригинальная версия
Оригинальная версия без MQLLock, она бралась за основу

Репозиторий на GitHub: https://github.com/Shmuma/fx-public/tree/master/mt4/Zerg

M1-alpha-3
Отличия от оригинала:

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

  • Вынесена в параметры цель по прибыли в сетке, параметр gridProfitTarget, в старых пунктах

  • Сделана компенсация свопов и комиссии при закрытии сделки, параметр compensateSwapAndCommission. Если setExplicitTP=true, то уровни TP по сетке пересчитываются раз в час

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


Сравнительные тесты параметров setExplicitTP и compensateSwapAndCommission. Фиксированный лот 0.04, депозит $2000, спред 20 пипсов:

M2-alpha-3
За ее основу брался мод M1. Отличия:

  • Реализована докупка сетки при движении цены в нашем направлении. Это позволяет, ускорить закрытие сетки в ситуациях, когда сразу после открытия позиции следует откат, и в сетке мало открытых ордеров. В таких ситуациях, для закрытия сетки в плюс требуется большое движение рынка, дожидаться которое приходится по несколько дней. Общая логика докупки аналогична оригинальному алгоритму - если цена ушла от минимального (для длинных позиций) или максимального (для коротких) ордера в сетке на определенное расстояние, открывается новый ордер. Максимальное количество ордеров, которое может быть открыто при докупке, ограничено.

  • Фильтрация открытия новых серий по тренду на старшем таймфреме. Включается опцией entryByTrend, таймфрейм задается параметром entryByTrend_TF, по умолчанию она равна 1440, т.е. D1. Для фильтрации используются три SMA с периодом entryByTrend_FastMAPeriod, entryByTrend_MidMAPeriod и entryByTrend_SlowMAPeriod. Соответственно, если fast > mid > slow, то открываются только длинные сделки, если fast
Дополнительные параметры и их значения по умолчанию:

  • increaseOnProfit=false. Включает докупку к сетке

  • increaseOnProfitGap=1, аналогичен параметру GridOrderGapPips оригинального зерга, но для докупки. Через какой интервал будет расширяться сетка

  • increaseMaxOrders=4, при превышении этого количества ордеров, докупка выключается. То есть если в серии 3 ордера, при движении цены в нужную сторону мы будет докупать. Если ордеров уже 4 - то нет

  • entryByTrend=false включает фильтр тренда

  • entryByTrend_TF=1440 таймфрейм проверки тренда в минутах

  • entryByTrend_FastMAPeriod=1 период быстрой SMA

  • entryByTrend_MidMAPeriod=2 период средней SMA

  • entryByTrend_SlowMAPeriod=10 период медленной SMA


Сравнительные тесты докупки:
0.01 лот на $2000 (включен MM, но лот, фактически не меняется - прибыли недостаточно):

0.01 лот на $500, fixed:

Сравнительный тест фильтрации по тренду:
0.04 на $2000, до январь-сентябрь 2013.

Мониторинги
upd: Предыдущие 2 мониторинга более недоступны




Версия мода от форумчанина 0ll:
Zerg EA-M2_+0ll_DynamicTP.mq4

Zerg_EA-M1.mq4478 скач.
Zerg_EA-M2.mq4894 скач.
Zerg_EA-M2_+0ll_DynamicTP.mq4689 скач.
Zerg_EA-M2_+0ll_DynamicTP_-_Описание_настроек_-_20131202.txt612 скач.

Изменено 11 июля, 2017 пользователем Pavel888

#3

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

#4

Корреляция на AUDNZD , для сетки именно эта валюта подходит.

Автор#5


хорошее начинание, поставил плюсы))



Спасибо! :)


Сделана компенсация свопов и комиссии при закрытии сделки. Сейчас работает только для setExplicitTP=false, в лог на каждом баре пишет информацию о комиссии, цене пункта и т.п. (опция экспериментальная)



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

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

Изменено 14 октября, 2013 пользователем Shmuma

#6

странно.. у меня при указанных тестовых настройках сливает в районе 31.07-01.08.. ~x(

Автор#7


странно.. у меня при указанных тестовых настройках сливает в районе 31.07-01.08.. ~x(



Покажите настройки. На каких котировках и с каким спредом тестируете? В этом районе есть большое безоткатное движение цены, если использовать высокие параметры риска и широкие спреды, оригинальный советник тоже сливает: _http://www.myfxbook.com/strategies/zerg-med-2013-2000-spread150/49358
#8



странно.. у меня при указанных тестовых настройках сливает в районе 31.07-01.08.. ~x(



Покажите настройки. На каких котировках и с каким спредом тестируете? В этом районе есть большое безоткатное движение цены, если использовать высокие параметры риска и широкие спреды, оригинальный советник тоже сливает: _http://www.myfxbook.com/strategies/zerg-med-2013-2000-spread150/49358

котировки Альпари.. спред выставлял текущий.. настройки полностью взяты отсюда: _http://www.myfxbook.com/strategies/zerg-swap-comm-compensation/49962
погонял еще немного.. при уменьшении gridProfitTarget до 70 проходит нормально.. даже с начальным депо 1000.. максимальная просадка в районе 50%..
у вас тесты проводились с фиксированным спредом? на каких котировках?
#9

Раз сделали отдельную тему для модификации советника поною теперь сдесь)))
Было бы отлично чтоб советник открывал одновременно с первым ордером корзины ордер в противоположном направлении, с возможностью задавать размер лота, ТП и СЛ.

Автор#10


котировки Альпари.. спред выставлял текущий.. настройки полностью взяты отсюда: _http://www.myfxbook.com/strategies/zerg-swap-comm-compensation/49962
погонял еще немного.. при уменьшении gridProfitTarget до 70 проходит нормально.. даже с начальным депо 1000.. максимальная просадка в районе 50%..
у вас тесты проводились с фиксированным спредом? на каких котировках?



Да, на дукасовских котировках, спред 20.

Добавлено: 15-10-2013 09:27:25


Раз сделали отдельную тему для модификации советника поною теперь сдесь)))
Было бы отлично чтоб советник открывал одновременно с первым ордером корзины ордер в противоположном направлении, с возможностью задавать размер лота, ТП и СЛ.



Просто один ордер? Мне кажется, было бы правильнее отдельного советника сделать.

Изменено 15 октября, 2013 пользователем Shmuma

#11




Просто один ордер? Мне кажется, было бы правильнее отдельного советника сделать.



Отдельный советник таким образом будет зарабатывать копейки, а в дополнение к сетке это даст ощутимую прибавку доходности и снижение просадки. Можно к этому ордеру ещё трал прикрутить для полного счастья.
Автор#12


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



Как "заработанные копейки" превратятся в "в ощутимую прибавку"? Вы уж определитесь :)

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



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



Как "заработанные копейки" превратятся в "в ощутимую прибавку"? Вы уж определитесь :)

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

Да пожалуй можно и так.
Автор#14



Как "заработанные копейки" превратятся в "в ощутимую прибавку"? Вы уж определитесь :)

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


Да пожалуй можно и так.


Набросал прототипчик: _https://github.com/Shmuma/fx-public/tree/master/mt4/Zerg/AntiZerg
Результаты - отрицательные. Можно, наверное, параметры поподбирать, но это уж сами.

antizerg-test.png

#15




Как "заработанные копейки" превратятся в "в ощутимую прибавку"? Вы уж определитесь :)

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


Да пожалуй можно и так.

Набросал прототипчик: _https://github.com/Shmuma/fx-public/tree/master/mt4/Zerg/AntiZerg
Результаты - отрицательные. Можно, наверное, параметры поподбирать, но это уж сами.

Вот спасибо так спасибо, сейчас погоняю.

Изменено 15 октября, 2013 пользователем Старик

#16
Shmuma, молоток!.. :) +

420ad28227b6565c222a22196b2950c8 jpeg

<:-p>

Какие нафик тралы, - все итак шоколадно.. :-C
#17
maxand, выполнять тесты на более чем 3-месяца со 100% реинвестированием, тем более в разновидности мартингейла, имхо, не имеет смысла.
В боте такого типа прибыль выводится регулярно и в реале даже близких цифр не будет.
Из теста не ясно достаточный ли депо и какая была бы просадка в реале.

Можно делать такие тесты - поднять себе настроение, например. :) Или проверить работает ли реинвест.
Но в топик есть смысл выкладывать и тест с фиксированным лотом - он более информативен.
#18

да, maxand, сделайте, пожалуйста, свой тест фиксированным лотом:)

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

Автор#19
Мерлин, Старик, если быть дотошным, зерг не мартингейл. Тем и хорош :).

Хотя, реинвестирование действительно стоит выключать
#20
Мерлин, Старик, сделать фиксированным не проблема, но ведь полученная прибыль так-же сыграет в + при просадке.. М.б. делать по-месячные тесты ?.. Геморно, но .. Хотя бы на сложных участках.. Как еще выключить реинвестирование ?..

Сов так устроен, что при задании ему параметра MM_PerHowMuchEquity, будет увеличивать лотность при получении указанной суммы профита.. При чем, будет увеличивать на величину, указанную в MM_LotSize.. т.е. если стояло 0,01 и 500, то при получении 500 единиц, сов увеличит начальный лот на 0,01, потом еще на 0,01, мне был важен при тесте именно такой шаг, и 500 единиц, при определенных других параметрах вполне хватало для прохождения самых сложных участков за пр.год.. Ставилась задача увеличить его годовую прибыльность, уменьшив просадку.. Составил некую сетку параметров, эксперементирвал с депозитом до 100 к., - он способен и 100 к. увеличить в 10 раз примерно за год.. Конечно это не реал, но не на 50% же расхождения получатся.. ИМХО, это не совсем мартингейл, м.б. разновидность, но это вопрос лирики уже.. Мартину в большинстве случаев плевать на сигналы, он просто "забрасывает\выгребает сети", этот-же "трудится по сигналам"..
Хочу потестить его еще в сложном 2008-м.. :-ss
#21

Вот тест с конца декабря 2008 фикс лотом

2013-10-16_185245.jpg

Автор#22


Вот тест с конца декабря 2008 фикс лотом



setExplicitTP лучше выключить, для нее пока не сделана компенсация комиссии и свопов, и прибыль за счет проскальзываний цен закрытия выходит в целом меньше чем без нее.
#23

maxand

тесты фиксированным и пропорциональным лотами делаются для разных целей.

#24
maxand
А что за сэт?
Автор#25

Обновлена версия в шапке, изменения:


  • добавил режим компенсации свопов и комиссии при явном выставлении TP ордеров

  • убрал параметр closeGridOnOppositeSignal. По тестам он срабатывает очень редко - за 2013 год, например, один раз, и ни на что особо не влияет.

  • Провел тесты по новым параметрам с фиксированным лотом

  • Фиксы по-мелочи



Фиксированный лот 0.04, депозит $2000, спред 20 пипсов:

  • setExplicitTP=false, compensate=false: _http://www.myfxbook.com/strategies/zerg-m1-2000-004-implicit/50103

  • setExplicitTP=false, compensate=true: _http://www.myfxbook.com/strategies/zerg-m1-2000-004-implicit/50104

  • setExplicitTP=true, compensate=false: _http://www.myfxbook.com/strategies/zerg-m1-2000-004-explicit/50105

  • setExplicitTP=true, compensate=true: _http://www.myfxbook.com/strategies/zerg-m1-2000-004-explicit/50106

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025