Усреднитель части убыточного ордера |
Доброго времени суток, товарищи!
Прошу написать советник-усреднитель части убыточного ордера для мт-4.
В параметрах советника задается:
№ ордера — номер усредняемого открытого ордера;
K ордера — коэффициент (от 0 до 1), это часть объема усредняемого ордера, которую советник усредняет и закрывает (например, задав K ордера = 0.15 при усредняемом ордере объемом 1.00 будет выведено в безубыток и закрыто по ТП 0.15 лота убыточного ордера, соответственно 0.85 лота останется висеть в работе после закрытия сетки ордеров советником);
объем первого ордера (два знака после запятой);
ТП в пунктах (для четырезнака) — тейкпрофит серии ордеров от уровня безубытка (с учетом свопов);
СЛ в пунктах (для четырезнака) — стоп-лосс всей сетки открытых ордеров в пунктах от первого ордера.
Алгоритм работы — открывается первый лот на покупку или продажу (задается в настройках) и выставляется сетка к нему из n лимитных ордеров с шагом h и параметрами k, m увеличения лотности по формуле (k*(объем первого ордера)+m). При срабатывании отложенников сов довыставляет новые отложки (общее количество лимитных ордеров всегда = n). Сетка ордеров закрывается при достижении ТП или СЛ.
На графике должно отображаться: уровень безубытка (с учетом свопов), уровень СЛ и уровень закрытия серии ордеров по ТП.
-
+2
- Просмотров: 4163
- 5 марта 2015, 23:06
- Inthenight
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!
Комментарии (59)
Я тут недавно сетку из лимитных ордеров делала, может будет интересно вам:
opentraders.ru/downloads/621/
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Извиняюсь за сумбурное описание) Но задание именно одно — усреднение части убыточного ордера сеткой.
Пусть имеется ордер N, убыточный. Задача — часть K его объема закрыть при достижении ТП.
Для этого открывается советником сходу ордер на покупку или продажу и выставляется сетка из n лимитных ордеров возрастающими объемами с шагом h от него. За счет сетки ордеров усредняется часть K объема убыточного ордера N. После достижения ТП закрываются все ордера сетки и K объема убыточного ордера. Остается в работе (1-K) объема убыточного ордера.
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Имеем ордер бай объемом 1.00, открыт на уровне цены 1.0000
Сейчас цена инструмента 0.9000, т.е. на 4-знаке имеем ордер с убытком -1000
Я хочу вывести в безубыток и закрыть K=0.1 объема ордера
Старт советника — он открывает ордер лотом 0.1 (задал в параметрах совы) пусть тоже бай (задал в параметрах совы) по цене 0.9000. И выстроил сетку n=5 бай лимитов пусть с шагом 10 с просто мартином k=2. Лимитники будут тогда:
цена объем
1) 0.8990 0.2
2) 0.8980 0.4
3) 0.8970 0.8
4) 0.8960 1.6
5) 0.8950 3.2
Уровень безубытка будет
БУ=(цена1*лот1*K+цена2*лот2)/(лот1*K+лот2)=(1.0000*1.00*0.1+0.9000*0.1)/(1.00*0.1+0.1)=0.9500;
После сработки первого лимитника
БУ=(цена1*лот1*K+цена2*лот2+цена3*лот3)/(лот1*K+лот2+лот3)=(1.0000*1.00*0.1+0.9000*0.1+0.8990*0.2)/(1.00*0.1+0.1+0.2)=0.9245, сов довыставил лимитник 0.8940 6.4;
После сработки второго лимитника
БУ=(цена1*лот1*K+цена2*лот2+цена3*лот3+цена4*лот4)/(лот1*K+лот2+лот3+лот4)=(1.0000*1.00*0.1+0.9000*0.1+0.8990*0.2+0.8980*0.4)/(1.00*0.1+0.1+0.2+0.4)=0.9113, сов довыставил лимитник 0.8930 12.8
и т.д. (для простоты без учета свопа).
Допустим ТП задан 10 пп.
Тогда после зацепа лимитника №2 если цена достигла уровня (0.9113+10)=0.9123 закрываются все сработавшие (не сработавшие ордера сетки — удаляются) ордера сетки плюс первый ордер плюс 0.1 объема убыточного ордера. В работе остается ордер объемом 0.90 по цене 1.0000.
Либо в противном случае цена назад не идет, пусть задан СЛ=29 пп., тогда при достижении ценой (0.9000-29)=0.8971 закрываются все ордера сетки (не сработавшие ордера сетки — удаляются) плюс первый ордер. В работе остается ордер объемом 1.00 по цене 1.0000.
Фуух)
12 Inthenight Автор Сообщений: 77
А смысл тогда ставить ордера ниже 0.8971? В нашем примере это №3, №4, №5 ордера
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
А по поводу уровня СЛ — это просто для примера он здесь такой), по задумке он, конечно же, ниже нижнего ордера должен быть Редактирован: 6 марта 2015, 16:16
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
Входные параметры:
Итак, у нас есть buy ордер (1 лот), указываем его тикет. Выставляется один buy limit.
Этот buy limit сработал:
— для всех сработавших limit модифицируются take profit по формуле, написанной вами ранее (у всех сработавших ордеров один take profit),
— и выставляется следующий buy limit (но не более max количества).
Если сработал take profit, то удаляются не сработавшие limit ордера.
И закрывается часть лота (0,15 лот) у первоначального buy ордера.
_______________________________________________________________________________________
С sell ордером тоже самое. У нас есть sell ордер (1 лот), указываем его тикет. Выставляется один sell limit.
Этот sell limit сработал:
— для всех сработавших limit модифицируются take profit по формуле, написанной вами ранее (у всех сработавших ордеров один take profit),
— и выставляется следующий sell limit (но не более max количества).
Если сработал take profit, то удаляются не сработавшие limit ордера.
И закрывается часть лота (0,15 лот) у первоначального sell ордера.
_______________________________________________________________________________________
Stop loss-а пока нет.
Проверить можно только на демо.
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Ордера подтягиваются к цене.
Единственное, столкнулась с трудностями переноса TP в минус — через раз переносит (и я даже знаю, почему). Решила это просто. Сам TP у открытых ордеров не выставляется, но он рассчитывается и отображается в комментариях слева сверху. И при достижении ценой этого значения — происходит закрытие/удаление ордеров и уменьшение объема ордера, с которым первоначально начали работать.
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
prntscr.com/6fzmw7
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
prntscr.com/6g02cz
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
1) prntscr.com/6g7nvv
2) prntscr.com/6g7o1t
3) prntscr.com/6g7o7g — окончание и график для наглядности
12 Inthenight Автор Сообщений: 77
Прин-скрины не удаляйте, пожалуйста.
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Тестируйте. Будут ошибки — прин-скрины вкладки «эксперты»
Я появлюсь после 19-го марта
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
На примере новозела — в конце закрывается 7 лотов с одним объемом 0.27 и 2 ордера с объемом 0.54, открытых на повторяющихся ценах.
1) prntscr.com/6hyd8h
2) prntscr.com/6hydgf
3) prntscr.com/6hydnn
4) prntscr.com/6hydtv
5) prntscr.com/6hye0u
12 Inthenight Автор Сообщений: 77
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
opentraders.ru/downloads/628/
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
prntscr.com/6j3ff5
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
1) prntscr.com/6j3q9s
2) prntscr.com/6j3qx5 — одна строчка не убралась)
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
м.б. ДЦ подвел? Редактирован: 20 марта 2015, 17:59
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Проверяйте, сейчас будут ошибки из-за дробности или нет: opentraders.ru/downloads/628/
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
prntscr.com/6j5g10
интересно, как это
лот исходный 0.9, к=0.15 Редактирован: 20 марта 2015, 20:00
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
правда, волатила, похоже, на сегодня закончилась)
что ж, ждем следующую неделю Редактирован: 20 марта 2015, 22:06
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Тестируя новую версию, заметил следующий момент:
после корректной отработки, переключив тайм-фрэйм в метатрэйдере, сов начинает свою работу по новой, выставляя сетку ордеров (в настройках остается номер ордера — старый, которого нет уже)
1) prntscr.com/6k905i
2) prntscr.com/6k90b4
Хотя, по большому счету, это не так существенно)
12 Inthenight Автор Сообщений: 77
Единственное, сейчас сделаю — чтобы после отработки у сова сбросилась переменная — тикет ордера. Редактирован: 23 марта 2015, 12:13
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
Название у эксперта тоже
После завершения работы сбрасывает значение тикета ордера. Но на всякий случай удаляйте сов после отработки.
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
1) prntscr.com/6kam5r
2) prntscr.com/6kama1
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
Название у эксперта оставила тоже
Те ордера, которые были выставлены экспертом — он будет до трех раз пытаться их удалить/закрыть через определенную паузу.
Основной же ордер — частично закрывает один раз.
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
12 Inthenight Автор Сообщений: 77
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
пусть будут это разные советники
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
12 Inthenight Автор Сообщений: 77
Вы пишите про то, что надо добавить в советник.
27 Oxy Сообщений: 3430 - ..ιllιlι.lι.ιllι.ιlι..
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий