[open source] [Советник] [M15-MN] EaUSS

От dermitay, 21 июня, 2016 в Лаборатория ProfitFX

Страница 1 из 3
Автор#1



Название стратегии: USS(Ultra Simple System)
Год выпуска: 2016
Сайт продажи: tradelikeapro.ru
Зарождение идеи: тыкнуть сюда
Валютные пары: любые
Таймфрейм: любые, сов использует два ТФ одновременно, все настраиваемо
Время торговли: любое
Описание:
Спойлер


Сова основана на авторской(IGOR10000 и test13) системе USS, зарождение идеи вот тут.

ТС основана (на текущий момент) на совмещении показаний стандартного индикатора Stochastic по двум таймфреймам(H1+D1).
Но сов написан так, что вы можете совмещать хоть m1 с m5.
Не зависит от того на какой таймфрем "брошен", работает только с теми двумя ТФ, которые заданы в настройках.

Для входа используется ряд определенных правил:
1. быстрая младшего ТФ на прошлом закрытом баре находится в определенном диапазоне(переменные min/max) и на одном из более старых баров назад закрылась за уровнями 20/80( для бай/селл). Для того чтобы определить сколько баров в прошлое анализировать для поиска закрытия за уровнями 20/80 существует переменная BarsAgo.
2. медленная старшего ТФ закрылась за уровнями 20/80( для бай/селл).
3. для бай: цена находится ниже цены открытия предыдущего ордера и минимальное расстояние до неё MinDistance.
4. существует переменная expLot, врубающая увеличение лотности последующих колен.

если одно из этих условий не удовлетворяется, сигнал игнорируется.

Для выхода пока что на данный момент два условия:
1. медленная старшего ТФ пересекла противоположный уровень 20/80
ИЛИ
2. (отключаемо) пятница 22-00(и неважно чему равен д1 и какой профит сетки сейчас). Время закрытия фигурирует как количество часов до закрытия рынка(по умолчанию считается что рынок закрывается в 24-00 в пятницу по брокерскому времени)


Параметры совы:
Спойлер


#Input#
expLot - лотЭксп, при единице - считай не работает
max_buy, min_buy - диапазон для бай по ТФ1
max_sell, min_sell - аналогично для селл
BarsAgo - когда совпадают условия (тф2 закрылся за экстремумом 20/80 и тф1 закрылся внутри диапазонов, сколько баров "взад" проверять "а был ли мальчик" за экстремумом, если нет - игнорим вобще сигнал)
MinDistance - минимальная дистанция между ордерами, по умолчанию пятизнак
#Output#
EnableFridayClose - включить закрытие в пятницу(по-умолчанию выключено)
HoursToCloseOnFriday - за сколько часов до конца закрытия рынка закрывать в пятницу(формула (24 - HoursToCloseOnFriday))
ну а далее уникальные параметры для каждого из стохастиков


Описание логики от test13:
Спойлер


1. ТФ Н1
2. В кратце: два стохастика с параметрами 11 3 3
- используем %K от Н1
- и %D от Д1
3. Вход.
Для покупок: Д1 стохастик должен закрыться за уровнем 20 (внизу) - ждем закрытия дня.

http://savepic.net/8214886.htm

После этого ищем вход используя Н1 стохастик:
Сперва стохастик должен закрыться за 20 уровнем, после чего ждем когда он закроется между уровнями 25-45 (28-40)

http://savepic.net/8194406.htm
http://savepic.net/8201574.htm
http://savepic.net/8206694.htm

1 сигнал мы открываем в бай
2 сигнал выше 1 - пропускаем
3 сигнал ниже 1 и расстояние между ними больше 80п - открываем
4 сигнал ниже 3 но расстояние меньше 80п - пропускаем
5 сигнал ниже 3 и расстояние между ними больше 80п - открываем

Смотрим по последнему открытому ордеру

4. Выход
Пересечение Д1 уровня 80, вверх (закрываемся за час-два до закрытия дня в пятницу)

http://savepic.net/8245625.htm
http://savepic.net/8246649.htm



советник только на начальной стадии разработки, поэтому просьба сильно тапками не кидать :d :->

Во избежании флуда и постоянных вопросов:
При тестах обязательным требованием является наличие истории по выбранным двум ТФ



[05.07.2016] Добавлены исходники версии 1.01 для мт4 от derMitay и мт5 от master_255




Мониторинг в Роботесте

[c 31 октября 2016 - советник (eaUSS_v1.03_modStoch.mq4) + индикатор (AsimmetricStochNR.mq4) + сет (gbpjpy_m5+h1_s2_21,358_5-9_.set) таймфреймы M5 и H1]



eaUSS_v1.0.ex4112 скач.
eaUSS_v1.01.mq4129 скач.
eaUSS_v1.01.mq559 скач.
eaUSS_v1.03_modStoch.mq438 скач.
AsimmetricStochNR.mq434 скач.

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

#2
Спойлер

Цитата

вот тут уже я не понял. смотри, сейчас закрытие происходит ВСЕГДА когда д1 зашел за 20/80.


Теперь понятно где недопонимание.
Всё верно ВСЕГДА когда д1 зашел за 20/80 , я про ситуацию, когда Д1 пересекает уровни 20/80 именно в ПТ (!)
т.к. мы закрываем сделки по закрытию Д1, то мы можем попасть в неудобную ситуацию с гэпом, который может достигать 200п.

Речь не идет, что нужно закрывать все по ПТ. Речь идет о пересечении Д1 уровня в ПТ.

От сюда и пошел разговор про ПТ. Если Д1 пересекает уровень 20/80 в ПТ (!), то мы не ждем закрытия дня, а закрываем за пару часов.
Теперь есть понимание ?

Цитата

2. (отключаемо) пятница 22-00(и неважно чему равен д1 и какой профит сетки сейчас).


Этот параметр вообще не нужен.

Цитата

ты хочешь чтобы было строгое условие стохастик закрытый один бар назад в диапазоне min/max И стохастик закрытый два бара назад за уровнем 20/80? тогда мы сделку можем ждать год, такое строгое условие не так часто выполняется.


Где-то я торможу. Ты пиши код, по ходу тестов скорректируем работу.
Спойлер

1. д1 пересек уровень 20/80
2. н1 пересек 20/80 - ждем когда н1 закроется в диапозоне макс/мин
3. если н1 ушел за противоположный уровень 20/80 , ждем когда он вернется за уровень 20/80 текущего положения д1
4. повторяем п2 , пока д1 находится за уровнем 20/80

По условиям было так.



Цитата

MinDistance
еще раз глянул код - должен быть рабочим... но если это баг - пересмотрю еще раз все.


Проверь.
Автор#3


Цитата

MinDistance
еще раз глянул код - должен быть рабочим... но если это баг - пересмотрю еще раз все.


Проверь.


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

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

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

шаг_80пп.png
шаг_120пп.PNG

Изменено 21 июня, 2016 пользователем dermitay

#4

Перезагрузил терминал, заработало.

Посмотри 2008 год.


Добавлено: 21-06-2016 11:05:22

BarsAgo в сочетании с MinDistance хорошо вместе работают.

Изменено 21 июня, 2016 пользователем test13

Автор#5

пока с головой весь в конкурсе...

думаю в версии 1.01 добавить закрытие в пятницу если сетка в плюсе(за пару часов до закрытия рынка).
что-нибудь еще нужно доделывать?

#6

Пока нет.
Посвободней буду - займусь советником.

Под каждую пару свои тф подходят. AUDUSD h1-w1 и h4-w1 наиболее долго срочны в плане профит/просадка. М15-Н1 (зависимости от отступа) за 6 лет вверх ползет без значительной просадки.
Нужно сесть и позаниматься.

Хотя в плане тп можно добавить:
1. закрывать по пунктам сетку
2. закрывать по деньгам сетку
3. что делать если один из ордеров ушел в просадку, сл ?

Автор#7


Хотя в плане тп можно добавить:
1. закрывать по пунктам сетку
2. закрывать по деньгам сетку
3. что делать если один из ордеров ушел в просадку, сл ?



1. если применять лотЭксп, то... как считать пункты? учитывать ли коэффициент умножения для каждого из увеличенных ордеров, чтобы считать пункты и выходить на расчет отталкиваясь от лотности самого первого ордера? ну типа лотом 0.01 пара прошла 50пп = считаем как чистые 50пп. если оредро лотностью 0,02 прошел 10пп, то считаем от лотности первого ордера как будто бы прошло уже 20пп. или не заморачивться над такмии рачсетами и считать по факту как есть. при построении стеки опять же как считать пункты? "сколько прошло" от последнего открытого оредра? или сумму всех пунктов по всем ордерам?
2. вобще легко. у меня в tmaEA даже круче сделано - идет привязка к конкретному размеру депо и берется фиксированная прибыль в % от текущего депозита(а так же и вход в рынок берется в зависимости от текущего размера депо).
3. ну так как у нас строится сетка, и тем более в долгосроке... зачем нам СЛ?)) СЛ придумали трусы и слабаки!!! :)) :)) :))
#8


1. если применять лотЭксп, то... как считать пункты? учитывать ли коэффициент умножения для каждого из увеличенных ордеров, чтобы считать пункты и выходить на расчет отталкиваясь от лотности самого первого ордера? ну типа лотом 0.01 пара прошла 50пп = считаем как чистые 50пп. если оредро лотностью 0,02 прошел 10пп, то считаем от лотности первого ордера как будто бы прошло уже 20пп. или не заморачивться над такмии рачсетами и считать по факту как есть. при построении стеки опять же как считать пункты? "сколько прошло" от последнего открытого оредра? или сумму всех пунктов по всем ордерам?


сумму всех пунктов по всем ордерам
#9

Мне советник показался примитивным.

Автор#10


Мне советник показался примитивным.


он и есть примитивный :)
#11
Мерлин ты та должен знать, чем проще и понятнее стратегия (примитивная) - тем она работоспособней.
П.С. можно вместо стохастика взять любой другой индюк (на 2 тф) и получить тоже самое и работать.

С небольшими изменениями в параметрах, профит с 2009 по 2016 = ~30.000уе и просадкой всего 2.000, с депо на 1.000
Вполне для примитивного робота.

uss005.jpg

#12

Похоже, вы реально красавцы! :d

Автор#13

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

такие дела >:d
еще опять же не устану повторять фразу одного моего кореша-профессионала-программиста: "забудь о мысли, что в коде ты можешь учесть всё, это невозможно по определению".

test13 ты в тикстори тестишь с 99% моделированием? это сколько у тебя там архив весит? около терика на одну пару?))

#14


test13 ты в тикстори тестишь с 99% моделированием? это сколько у тебя там архив весит? около терика на одну пару?))

4Тб весь терминал

Добавлено: 24-06-2016 12:22:33

Предлагаю добавить параметр - количество открытых позиций
или для каждого колена свой множитель.

Изменено 24 июня, 2016 пользователем test13

Автор#15


Предлагаю добавить параметр - количество открытых позиций
или для каждого колена свой множитель.



не проблема. распиши конкретно как ты это видишь, чтобы я код по 10 раз не переписывал.
#16

1. максимум открытых позиций, допустим 7-8 достаточно
2. добавить 8 строк, в которых мы выставляем множитель. Допустим:

Спойлер

1 лот (текущий лот)
2 лот 1.4
3 лот 1.4
4 лот 0 пропускаем
5 лот 2
6 лот 6
7 лот 0 пропускаем
8 лот 2

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



3. закрытие ордеров по деньгам
4. сумму по которой закроется сетка (допустим 300 на всю сетку)

5. закрытие ордеров по пунктам ВСЕХ открытых ордеров, общую сумму
6. сколько пунктов в + брать за эталон (к примеру 100п)

Спойлер

По тестам видно, в среднем сетка составляет 6 ордеров. Всё что больше 6, идет с диким увеличением лота и дает такую же просадку.
Так же первые 3-4 ордера при большой сетке закрываются в минусе. Может есть смысл сделать параметр 'пропуск первых N сигналов' ?
Те же яйца крутили в этой теме с макд /torgovye-sistemy/2/h1-h4-up-ostorozhno-martingeyl/5762/?do=findComment&comment=114831
Посмотри описание параметров, может что понятно станет.



Добавлено: 24-06-2016 17:50:33

Для начала начнем с максимально открытых ордеров и пропуск первых N сигналов. Остальное позже.

Изменено 24 июня, 2016 пользователем test13

Автор#17
DONE!!!
v1.01
- CloseOnlyProfit влияет на все условия(пункты, баксы, противоположный 20/80), закрытие только в плюсе.
- Сделаны все 8 строк с множителями лотов(это НЕ лотЭкспы), проверил несколько раз, пропускает корректно, все запоминает, но по факту - сделано для тестера, если на реале ты перезапустишь нечайно терем - все сохраненные данные(пропущенные точки входа и их цены) обнулятся, надо будет доделать под реальную торговлю, но пока и этого хватит.
- Закрытие по пунктам считается как ты написал(ВСЕ ордера, обеих сеток)
- Закрытие в баксах - работает, считается по каждой сетке отдельно

Итого, очередность закрытия ордеров такое:
1. CloseOnlyProfit - если в тру, смотрится профит текущей проверяемой сетки(бай/селл отдельно), если ок - идет дальнейший алгоритм
2. Закрытие по пипсам. Если в тру, то считаются пункты по всем ордерам(и минусовые ордера минусуются), если сумма всех пунктов больше Pips то закрываются все ордера(цифра в пятизнаке)
3. Закрытие по баксам, если в тру, считается для каждой сетки отдельно, и каждая сетка отдельно закрывается.
4. Последнее - это стандартное условие, проверка на противоположный 20/80.

Именно в такой очередности идет проверка на закрытие ордеров.

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

Спойлер

Это что у тебя за сет такой получился?
/laboratoriya-profitfx/24/open-source-sovetnik-m15-mn-eauss/13993/?do=findComment&comment=291756
там в 2014году безоткат мощный, почти такой же как и в 2008м. скинь эти настройки, дай гляну))

eaUSS_v1.01.ex438 скач.
eaUSS_v1.01.mq426 скач.

Изменено 5 июля, 2016 пользователем dermitay

#18

Это был эксперимент с параметрами стохастика, сеты не сохранял т.к. робот еще до ума не доведен.

Цитата

Сделаны все 8 строк с множителями лотов


8 строк - это как ограничение на 8 (максимум) открытых позиций ?

Добавлено: 26-06-2016 04:39:17

Разобрался.

Изменено 26 июня, 2016 пользователем test13

Автор#19


Это был эксперимент с параметрами стохастика, сеты не сохранял т.к. робот еще до ума не доведен.

Цитата

Сделаны все 8 строк с множителями лотов


8 строк - это как ограничение на 8 (максимум) открытых позиций ?

Добавлено: 26-06-2016 04:39:17

Разобрался.


блин я там ввел переменную MaxGrid которая типа должна ограничивать количество колен, но время было позднее и я забыл ввести это ограничение в код :)) :)) :))
пока в коде нет этого ограничения, переменная нигде не используется, но если прям очень надо - доделаю))

Изменено 26 июня, 2016 пользователем dermitay

#20


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

С небольшими изменениями в параметрах, профит с 2009 по 2016 = ~30.000уе и просадкой всего 2.000, с депо на 1.000
Вполне для примитивного робота.



Вы могли бы сказать, какие конкретно изменения вы делали? У меня таких результатов не получается. По паре gbpusd просадка максимальная 4500 , при доходе за год 450-700 с дефолтными настройками
#21
Цитата

блин я там ввел переменную MaxGrid которая типа должна ограничивать количество колен, но время было позднее и я забыл ввести это ограничение в код :)) :)) :))


Вот оно что! Я то и думаю - что за. Поправь :) Проверим как работает.
Хотя если выставить Eighth and more = 0 он больше 7 сделок не откроет.

xNorDx не подскажу, постом выше написал почему, пара была audjpy. Как робот боле менее в порядок будет приведен, хотя и сейчас можно пользоваться для тестирования, тогда и сетами заниматься.
Автор#22

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

#23


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

Пока не чего не нужно, всю неделю с семьей к отпуску готовились, не до тестов. На след. неделе погоняю робота.
#24

Погонял, посмотрел, как с мартином так и без работает в долгосрок нормально.


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

Под мт5, посмотреть общую статистику?

Есть пару идей, посижу проверю, отпишу.
Автор#25


Под мт5, посмотреть общую статистику?



буду краток - я в мт5 ни в зуб ногой.
если уж совсем припрет - конечно же придется изучить досконально.
но пока и мт4 хватает ))
Страница 1 из 3

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

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