[Советник] Написание советника по MIX

От SergShyko, 17 января, 2017 в Лаборатория ProfitFX

Автор#576

И сразу возник вопрос - у нас при ТП=0 стоит запрет на открытие Вытягивающей сетки.


Если есть Доливки, а в них Общий БУ то ТП не выставляется ... также как если есть Сетка то не ставим СЛ

Добавлено: 28-04-2017 16:33:22

Ошибку я исправил.


А можно исправленый вариант сова..

Добавлено: 28-04-2017 16:37:34

Так вот у нас теперь есть у вытягивающей сетки свой отдельный ТП


Хотел спросить: в чем измеряется этот ТП который в Сетке ... там же ордера с разными Лотами

Изменено 28 апреля, 2017 пользователем SergShyko

#577

- Если нет ТП то и вытягивающая сетка не работает (такая заложена реализация на данный момент)
- Исправленный вариант выкладываю, но он ничего глобально не даст, кроме того, что не должно вылетать объявление об ошибке.
- В сетке стоит ТП, который заложен в параметрах совы (для сетки сейчас свой, отдельный ТП), а лот должен высчитываться, чтобы при закрытии по этому ТП всей сетки получался почти в ноль (при множителе сетки =1).

//
//v2.33 Исправлена "Ошибка выбора ордера последнего колена сетки" при ТП=0
//

Mix_v2.33.ex416 скач.

Автор#578

Если нет ТП то и вытягивающая сетка не работает (такая заложена реализация на данный момент)


Поставил ТП: 1000 в советнике и 1 в Сетке , но ни Сетка ни Доливки в тестере не рабортает, попробовал сет. от Сергея С, тоже Сетка не работает или работает не коректно...
Может кто поделится параметрами советника при которых работает и Сетка и Доливки с Бу

Изменено 29 апреля, 2017 пользователем SergShyko

#579

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

SergShyko - вот попробуй данный вариант на котором я тестирую работу функций открытия и сопровождения ордеров.

тест_работы_доливок_и_сетки.set15 скач.

#580


Если нет ТП то и вытягивающая сетка не работает (такая заложена реализация на данный момент)


Поставил ТП: 1000 в советнике и 1 в Сетке , но ни Сетка ни Доливки в тестере не рабортает, попробовал сет. от Сергея С, тоже Сетка не работает или работает не коректно...
Может кто поделится параметрами советника при которых работает и Сетка и Доливки с Бу

SergShyko Плиз дайте сетап советника, при котором не работает, разберусь. В реализации(теории) сетка работает только на один оставшийся последний ордер от доливок
Автор#581

SergShyko Плиз дайте сетап советника, при котором не работает, разберусь. В реализации(теории) сетка работает только на один оставшийся последний ордер от доливок


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

http://prntscr.com/f2cjsm непонятно почему первый ордер закрылся если должен быть вытянут Сеткой, настройки внизу

1.set6 скач.

Изменено 30 апреля, 2017 пользователем SergShyko

#582

Те, что раньше выкладывал, те и не работают...


Да вроде работают - вот тест в Вашим сетапом MIX-R 4x4 в нем я только общий ТП вместо 0 сделал =1000 пунктов.
Например Ордер #1 закрыт по БУ. А ордер №5, ушел в минус и был вытянут сеткой через ордер №6.

Добавлено: 30-04-2017 12:16:17

непонятно почему первый ордер закрылся если должен быть вытянут Сеткой, настройки внизу


Тяжело понять всю картину, но предположу что первый ордер был закрыт в минус на уровне ТП следующего за ним второго ордера и суммарно это дало ~0. По идее это в отчете видно - одновременное закрытие по ТП группы ордеров, где суммарно пои ним будет 0. Гляньте у Вас так ?

Добавлено: 30-04-2017 12:23:10

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

Добавлено: 30-04-2017 12:27:51

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


Сергей С Я правльно понимаю что Вы предлагает два изменения:
1) Доливки открываются не с опциями из сетапа совы, а с текущими опциями того ордера к которому идет доливка ?
2) При открытии Нового колена его СЛ это уровень БУ предыдущего ордера ?

StrategyTester.htm9 скач.

Изменено 30 апреля, 2017 пользователем AndreyGold

#583

Доливки открываются не с опциями из сетапа совы, а с текущими опциями того ордера к которому идет доливка ?


Да тут все правильно

Добавлено: 30-04-2017 21:44:37

При открытии Нового колена его СЛ это уровень БУ предыдущего ордера ?


А вот тут нет
При открытии следую ордера вычисляется уровень БУ между открываемым (открытым) и предыдущим ордером и вот туда переносится СЛ всех открытых ордеров.
Пример:
открыт по сигналу первый ордер бай лотом равным 2,00, прошли допусти 10 пунктов закрыли половину ордера в рынке остался ордер объемом 1,00 лот, получили новый сигнал на открытие ордера бай, проверили мин дистанцию между ордерами совпадает и получилось 20 пунктов, проверили объем ордера в рынке запомнили данный объем, открыли доливочный ордер ордер объемом 1,00 лот, высчитали БУ между открытим ордером и предыдущим равняется 10 пунктов (приблизительно) , перенесли СЛ открытых ордеров на этот уровень.
Идем дальше, получили ещё сигнал на открытие ордера бай, проверили мин дистанцию она совпадает и получилось 30 пунктам, выставляем ордер запомненным объемом это 1,00 лот, вычисляем БУ между этим ордером и предыдущим получаем 15 пунктов, переносим СЛ всех ордеров открытых в бай на этот уровень.
Теперь если цена пойдет не в нашу сторону то через 15 пунктов у нас срабатывает СЛ и Мы полностью выходим из рынка, ни имея не одного открытого ордера, и ждем следующего сигнала.
Итог:
1 Нет ни одного открытого ордера
2 Прибыль по ордерам составила 10*1,00 + 35*1,00 + 15*1,00 - 15*1,00 = 45*1,00
вот такое приблизительно решение, конечно можно рассмотреть варианты, но суть понятна, мы тралим прибыль по уже открытым ордерам, но при этом страхуемся от последнего зависшего ордера.
Конечно можно рассмотреть и более сложные варианты когда в формулу уровня БУ будет добавляться и уже зафиксированная прибыль по открытому направлению.
Но тогда я боюсь нам уже ненужны будут индикаторы в системе, как таковые, и мы будем уже рассматривать их, не как задающие направления торговли, а как ключ для открытия ордера )))))

Изменено 1 мая, 2017 пользователем Сергей С

Автор#584

Да вроде работают - вот тест в Вашим сетапом MIX-R 4x4 в нем я только общий ТП вместо 0 сделал =1000 пунктов.
Например Ордер #1 закрыт по БУ. А ордер №5, ушел в минус и был вытянут сеткой через ордер №6.


Да действительно работаем на Алпари, ранее пробовал тестировать на другом брокере...
Но вытягивание ордеров в сове не работает как работало в вместе с советником Setka 1.42...и вытякивающие ордера открываются лотом в 10 раз больше http://prntscr.com/f2tuwq (пример из вашего скрина и у меня тоже точно также) и не понятна логика т.к. цена была уже и вверху и внизу....

Добавлено: 01-05-2017 10:44:58

перенесли СЛ открытых ордеров на этот уровень.


По поводу предложелния Сергей С по переносу БУ...... на мой взгляд есть два вида общего БУ:
1. который имеем сейчас в сове, т.е. на линию БУ последлнего ордера переносится СЛ всех предыдущих ордеров, в этом случае при закрытии ордеров по БУ только последлний закрывается в минус, а по предыдущим ордерам и в общим будет плюсовой результат
2. это линия среднего БУ, кстати она есть в советнике Skylovera, при закрытии ордеров на ней получаем "0"

Добавлено: 01-05-2017 10:51:01

Идем дальше, получили ещё сигнал на открытие ордера бай,


У меня есть другое предложение... не ждать другого сигнала, а только кол-во пп.
Первый ордер открывается по сигналу, а последующие Доливочные по прохождению кол-ва пунктов (задается в параметрах)... точно также как это просходит в советнике Setka 1.42 при вытягивании отрицательных ордеров

Добавлено: 01-05-2017 11:03:24

AndreyGold
... и еще одно условие, на мой взгляд очень важное при торговле без СЛ и ТП:
Первый ордер может закрыться только после попадания его под функций или БУ или Сетка

Изменено 1 мая, 2017 пользователем SergShyko

#585

Но вытягивание ордеров в сове не работает как работало в вместе с советником Setka 1.42...и вытякивающие ордера открываются лотом в 10 раз больше


Тут получается так, чем меньше ТП и больше расстояние от последнего открытого ордера, тем больше размер открываемого ордера для закрытия по фиксированному ТП.
В таком варианте не вытягивается расстояние до ТП как в обычной сетке. и если сигнал подобран правильно на открытие и получения прибыли от такого сигнала соответствует выставленному ТП, то боятся тут нечего, а если сигнал на открытие чаще врет чем приносит прибыль, вот тогда надо волноваться и уже пересматривать сам сигнал.
Допустим если из 5 сигналов только 1 приносит прибыль по ТП то это значит, что в худшем варианте мы можем получить 8 отрицательных сигналов в подряд в 2х сериях (на десять сигналов). В таком случае надо пересматривать настройки индикаторов.

PS AndreyGold - не могли бы Вы, как то пересмотреть функцию определения сигнала и открытия ордера, при появлении сигнала он у вас идет всю свечу и соответственно если свеча большая, а расстояния от открытого ордера до следующего меньше размера этой свечи, то советник умудряется открыть по несколько ордеров сетки на ней. Возможно сделать ограничение по количеству ордеров на одной свече например по времени ТФ или как то по другому. Именно для вытягивающей сетки.

Изменено 1 мая, 2017 пользователем Сергей С

Автор#586

Тут получается так, чем меньше ТП и больше расстояние от последнего открытого ордера, тем больше размер открываемого ордера для закрытия по фиксированному ТП.


И эти Лоты тоже приемлемы? http://prntscr.com/f2xms6
И для чего тогда в разделе "Вытягивающая сетка" существует параметр "Уровень убытка в пунктах для активации нового колена"... как понимаю через это кол-во пунктов должен открываться вытягивающие ордера и "Множитель лота нового колена" подразумевает во сколько раз увеливается лот последнего ордера в Сетке по отношению к предыдущему?

Изменено 1 мая, 2017 пользователем SergShyko

#587
SergShyko
Логика нашей вытягивающей сетки :
1) Получаем убыток = Расстоянию*Стоимость
2) Ждем разрешение искать новый сигнал на вход через пройденное расстояние в минус - "Уровень убытка в пунктах для активации нового колена"
3) Ловим стандартный сигнал на открытие позиции, прописанный фильтром-установками советника с ТП вытягивающей сетки
4) Рассчитываем стоимость (в нашем случае как раз лот ордера нового колена), так чтобы при закрытии всех ордеров на уровне ТП из 3го пункта закрыться в ~0 (если Множитель лота нового колена=1) или с прибылью, увеличивая лот через этот множитель.

- Как правило сетки играют расстояниями, чтобы выйти в 0, а у нас идет игра не только расстоянием но и лотом.


Добавлено: 01-05-2017 17:40:34

По вашему скрину - лоты приемлимые,
на примере первого ордера у вас убыток в 103 пункта лотом 0,02 (-)2,06$
перекрывается сеткой из одного колена с ТП=1 пунктом, лот который для этого нужен был 2,06
и получаем прибыль 2,06$.




Добавлено: 01-05-2017 17:58:01

Ответы (а может вопросы) на посты 582 и 583 дам, когда полностью разложу их у себя по полочкам ...

Изменено 1 мая, 2017 пользователем AndreyGold

Автор#588

- Как правило сетки играют расстояниями, чтобы выйти в 0, а у нас идет игра не только расстоянием но и лотом.


Так довайте так и Доливку сделаем... темболее вход по движению
#589

PS AndreyGold - не могли бы Вы, как то пересмотреть функцию определения сигнала и открытия ордера, при появлении сигнала он у вас идет всю свечу и соответственно если свеча большая, а расстояния от открытого ордера до следующего меньше размера этой свечи, то советник умудряется открыть по несколько ордеров сетки на ней. Возможно сделать ограничение по количеству ордеров на одной свече например по времени ТФ или как то по другому. Именно для вытягивающей сетки.


Сергей С
Я правильно понимаю, что для Вытягивающей сетки необходимо сделать, чтобы на текущей свече не открывалось более одного колена ?

Добавлено: 01-05-2017 18:11:55


- Как правило сетки играют расстояниями, чтобы выйти в 0, а у нас идет игра не только расстоянием но и лотом.


Так довайте так и Доливку сделаем... темболее вход по движению


SergShyko Я не понял, что Вы предлагаете - как доливку сделать ? Или наверное мне надо вначале переварить два поста 582 и 583, чтобы понять ?

Изменено 1 мая, 2017 пользователем AndreyGold

#590

Я правильно понимаю, что для Вытягивающей сетки необходимо сделать, чтобы на текущей свече не открывалось более одного колена ?


да все верно, на сигнальной свече максимум только один ордер.

Добавлено: 01-05-2017 19:06:59

Так довайте так и Доливку сделаем... темболее вход по движению


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

Изменено 1 мая, 2017 пользователем Сергей С

#591

Я правильно понимаю, что для Вытягивающей сетки необходимо сделать, чтобы на текущей свече не открывалось более одного колена ?
да все верно, на сигнальной свече максимум только один ордер.


А открытие первого ордера и на этой же свече первого колена сетки тоже надо убрать ?
#592

А открытие первого ордера и на этой же свече первого колена сетки тоже надо убрать ?


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

Прибыль конечно не большая и просадка 50% проскочила, но все же первые результаты тестирования, а что он там вытворяет,советую понаблюдать ))) ставить отдельно на селл и отдельно на бай.

Mix_v2.32_EURGBP_M5_0.02na10000$.set5 скач.
StrategyTester_EURGBP_c_2011_2017_buy.gif
StrategyTester_EURGBP_c_2011_2017_sell.gif
отчеты_стратегии.rar11 скач.

Изменено 2 мая, 2017 пользователем Сергей С

Автор#593

Прибыль конечно не большая и просадка 50% проскочила,


Когда будет торговать в обе стороты одновременно.. и прибыль увеличится и просадка уменьшится
#594

Когда будет торговать в обе стороты одновременно.. и прибыль увеличится и просадка уменьшится


Для этого нужно будет менять ассоциацию советника к ТП противоположных ордеров.
#595
//v2.34 Введен запрет открытия ордеров если сигнал на текущей свече уже был использован
// для открытия ордера. Это касается стартовых ордеров и ордеров вытягивающей
// сетки.
// Принцип открытия доливочных ордеров не менялся
//


Добавлено: 03-05-2017 14:31:57

AndreyGold
... и еще одно условие, на мой взгляд очень важное при торговле без СЛ и ТП:
Первый ордер может закрыться только после попадания его под функций или БУ или Сетка



SergShyko
Напоминаю - если нет ТП опция "вытягивающая сетка" не работает.

А так если не брать модификации ордера, связанные с частичным закрытием.
Получается, что ордера у нас при СЛ =0 и ТП=0 могут закрываться или по времени или переворотом.
Отключение закрытия ордера по времени опция вроде есть. Вы хотите чтобы я отключил переворот ордера если СЛ и ТП=0 ? Тогда ордер будет закрываться только по БУ ....
Уточните пожалуйста поточнее как Вы хотите, какое закрытие убрать ?

Добавлено: 03-05-2017 14:50:40


Доливки открываются не с опциями из сетапа совы, а с текущими опциями того ордера к которому идет доливка ?


Да тут все правильно

Добавлено: 30-04-2017 21:44:37

При открытии Нового колена его СЛ это уровень БУ предыдущего ордера ?


А вот тут нет
При открытии следую ордера вычисляется уровень БУ между открываемым (открытым) и предыдущим ордером и вот туда переносится СЛ всех открытых ордеров.
Спойлер

Пример:
открыт по сигналу первый ордер бай лотом равным 2,00, прошли допусти 10 пунктов закрыли половину ордера в рынке остался ордер объемом 1,00 лот, получили новый сигнал на открытие ордера бай, проверили мин дистанцию между ордерами совпадает и получилось 20 пунктов, проверили объем ордера в рынке запомнили данный объем, открыли доливочный ордер ордер объемом 1,00 лот, высчитали БУ между открытим ордером и предыдущим равняется 10 пунктов (приблизительно) , перенесли СЛ открытых ордеров на этот уровень.
Идем дальше, получили ещё сигнал на открытие ордера бай, проверили мин дистанцию она совпадает и получилось 30 пунктам, выставляем ордер запомненным объемом это 1,00 лот, вычисляем БУ между этим ордером и предыдущим получаем 15 пунктов, переносим СЛ всех ордеров открытых в бай на этот уровень.
Теперь если цена пойдет не в нашу сторону то через 15 пунктов у нас срабатывает СЛ и Мы полностью выходим из рынка, ни имея не одного открытого ордера, и ждем следующего сигнала.
Итог:
1 Нет ни одного открытого ордера
2 Прибыль по ордерам составила 10*1,00 + 35*1,00 + 15*1,00 - 15*1,00 = 45*1,00
вот такое приблизительно решение, конечно можно рассмотреть варианты, но суть понятна, мы тралим прибыль по уже открытым ордерам, но при этом страхуемся от последнего зависшего ордера.
Конечно можно рассмотреть и более сложные варианты когда в формулу уровня БУ будет добавляться и уже зафиксированная прибыль по открытому направлению.
Но тогда я боюсь нам уже ненужны будут индикаторы в системе, как таковые, и мы будем уже рассматривать их, не как задающие направления торговли, а как ключ для открытия ордера )))))




Сергей С
То есть 1 ТП для нового доливочного ордера берем из настроек совы
2 Лот берется равным предыдущему ордеру
3 СЛ берется как среднее между текущей ценой открытия и СЛ предыдущего ордера
4 У всех предыдущих ордеров уровень СЛ устанавливаем на уровень, рассчитанный в пункте 3

Я правильно понимаю ?

Mix_v2.34.ex410 скач.

Изменено 3 мая, 2017 пользователем AndreyGold

#596

я правильно понимаю что по итогам получается то ли индикаторная сетка, то ли индикаторный мартин? Что то все усложняется все больше и больше, появляются идеи-реализуются-не помогло, поехали дальше идеи генерировать?
или я ошибаюсь?

#597


я правильно понимаю что по итогам получается то ли индикаторная сетка, то ли индикаторный мартин? Что то все усложняется все больше и больше, появляются идеи-реализуются-не помогло, поехали дальше идеи генерировать?
или я ошибаюсь?



Не знаю как это называется по научному, но в основе лежит индикатор и к нему навернуто куча "сервисов" (часть из них тоже индикаторы), всякие фильтры, частичные закрытия и сетки. Намечено еще как минимум два серьезных шага (переработка доливок, пока не понятно в каком объеме и внедрение работы разнонаправленных сигналов), параллельно с этим отрабатываются ошибки, логические несостыковки ну и всякие мелкие пожелания. Я сову по большому счету не тестировал, так как считаю что еще нет окончательного варианта. Что-то там срастается у Сергей С, как я понимаю, но про это лучше пускай он скажет.
А так человеку со стороны понять все эти опции очень тяжело, что подразумевает, то что когда сова будет готова, глобальное большинство настроек советника надо будет прятать. Ну или советник будет идти с жестко рекомендованными настройками + мануал.

#598

То есть 1 ТП для нового доливочного ордера берем из настроек совы
2 Лот берется равным предыдущему ордеру
3 СЛ берется как среднее между текущей ценой открытия и СЛ предыдущего ордера
4 У всех предыдущих ордеров уровень СЛ устанавливаем на уровень, рассчитанный в пункте 3

Я правильно понимаю ?


Да, правильно, но может быть есть ещё какие нибудь варианты, как убрать последний доливочный ордер.
#599

Ну как сейчас оставить это первый вариант.
Второй вариант, это как Вы предлагаете.
Третий вариант, это как сейчас, но при этом последний доливочный ордер открывается с СЛ на уровне последнего БУ (если расстояние очень большое то надо как-то усреднять лотом, что-ли ....)

Плюс немногу сбоку еще предложение сделать доливочную сетку по модели "математической пирамиды" - чисто по пройденным ценой пунктам,а не по сигналам.

SergShyko Я все варианты перебрал или наоборот, что-то лишнее ?

Автор#600

Напоминаю - если нет ТП опция "вытягивающая сетка" не работает.


Это не мешает, можно поставить очень большей ТП

Добавлено: 03-05-2017 20:11:40

Плюс немногу сбоку еще предложение сделать доливочную сетку по модели "математической пирамиды" - чисто по пройденным ценой пунктам,а не по сигналам.


Первый ордер по сигналу, а последующие по пунктам

Добавлено: 03-05-2017 20:12:59

, но при этом последний доливочный ордер открывается с СЛ на уровне последнего БУ


... и лотом равным лоту ордера который в рынке


Добавлено: 03-05-2017 20:18:28

... и еще одно условие, на мой взгляд очень важное при торговле без СЛ и ТП:
Первый ордер может закрыться только после попадания его под функций или БУ или Сетка


Если ордер не прошел заданные пп, то последующие ордера ни Доливки ни Сетки не открываются даже при наличии сигнала

Изменено 3 мая, 2017 пользователем SergShyko

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

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