Скачать MetaTrader 5

e-CloseByLossOrProfit - Вопрос.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
PanzerNik
485
PanzerNik  

Есть замечательный советник e-CloseByLossOrProfit

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

Часто им пользуюсь. Но проблема в том, что

  1. на больших объемах есть козни со стороны брокера, (на малых лотах советник схлопывает все ордера мигом).
  2. на шпильках и при высокой волатильности советник не успевает закрыть все на одном уровне и теряется часть прибыли.

Вопрос - есть ли в интернете советник, выставляющий общий TakeProfit/StopLoss на уровень запланированной прибыли, а при изменении числа ордеров пересчет уровня TakeProfit/StopLoss. Такая реализация напрашивалась с самого начала юзания e-CloseByProfit и e-CloseByLossOrProfit???

p.s. Поиск не помог. Искал тщательно :)

p.s. Все вышенаписанное справедливо для тогровли на одной паре.

Aleksandr Volotko
11628
Aleksandr Volotko  

1. меняйте брокера, причем тут советник

2. пользуйтесь штатными стопами, раз торгуете одной парой - зачем вам тогда этот советник, он для портфеля предназначен, где штатные стопы нет возможности расчитать физически

PanzerNik
485
PanzerNik  

Ну дык лень считать если несколько ордеров и я торгую лесницей Stop ордеров, при пробое цена летит оч быстро, лоты растут тоже .

Комбинатор
16805
Комбинатор  
OrderCloseBy работает у брокера?
Aleksandr Volotko
11628
Aleksandr Volotko  
panzernik:

Ну дык лень считать если несколько ордеров и я торгую лесницей Stop ордеров, при пробое цена летит оч быстро, лоты растут тоже .

для этого нужен другой советник
PanzerNik
485
PanzerNik  

Сейчас раз уж не нашел, занялся мозговым штурмом. Вот надыбал

вот простейший скрипт определения стоимости пункта на любой валютной паре, фьючерсе или индексе

 //+------------------------------------------------------------------+ 
 double StoimPunkt(string B){double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT));return(S);}
 //+------------------------------------------------------------------+
 int start(){Comment(StoimPunkt(Symbol()));}
 //+------------------------------------------------------------------+
Роман
7939
Роман  
panzernik:

Сейчас раз уж не нашел, занялся мозговым штурмом. Вот надыбал

Расчёт стоимости пункта.
PanzerNik
485
PanzerNik  

Я решил так:

OrderTakeProfit =  СредняяЦенаОткрытия(OP_BUY) + ( ТребуемыйПрофит / ( СуммаЛотов(OP_BUY) * СтоимостьПункта ) ) * Point;
Сейчас проверяю.
Владимир Тезис
4266
Владимир Тезис  
panzernik:

Вопрос - есть ли в интернете советник, выставляющий общий TakeProfit/StopLoss на уровень запланированной прибыли, а при изменении числа ордеров пересчет уровня TakeProfit/StopLoss.

Есть у меня такой советник - делал для себя когда-то. Только уровень запланированной прибыли/убытка я задавал в деньгах. Ну, например, мы перед открытием торгов планируем брать, скажем, 1 процент от стартового депозита ежедневно. 1 процент с одной серии ордеров. Денег у нас сейчас на депозите = 100 000. Это значит, что как только открытая нами серия ордеров даст нам в статье "Средства" сумму = 101 000, советник тут же позакрывает все открытые ордера, зафиксировав таким образом нашу запланированную прибыль. Это мы, так сказать, установили виртуальтый мультивалютный тейкпрофит, выраженный в деньгах. Кинули советника на валютные пары и ждём сигналов. По мере их поступления открываем позы. Если сигналы верны, то суммарный профит поедет в + и по достижении заданного числа советник позакрывает все позы.

Только вот непонятно как Вы думаетет пересчитать этот тейк при изменении количества ордеров? Пункты чтоль вычислять?

Лет 5 назад я выложил на форуме Альпари другого своего советника в общий доступ и попросил покритиковать и потестить его, мол, а я попрограммлю. 2 года я вносил в него изменения. В результате получился довольно мощный инструмент, позволяющий открывать/закрывать/переворачивать ордера, тралить стоп-приказы, таскать отложки вслед за рынком (так же само, как трал стопов), открывать позы в заданное время и закрывать позиции при увеличении/уменьшении депозита на заданное количество процентов. Всё там настраивается. Но это, по всей видимости не тот тип общего тейка/стопа, который Вам нужен. Что на это скажете?

Владимир Тезис
4266
Владимир Тезис  


Там перед скриптом ошибка:

Разработчики MetaTrader позаботились об этом и предоставили нам функцию: MarketInfo(Symbol(),MODE_TICKVALUE) — стоимость 1 пункта в валюте депозита для 1 лота.
Это не верная информация. Идентификатор MODE_TICKVALUE покажет на какое минимальное число может измениться цена торгового инструмента за 1 тик. (Ведь не все торговые инструменты ходят по одному пункту за 1 тик.) Но это не есть стоимость одного пункта для одного лота в валюте депозита.
PanzerNik
485
PanzerNik  
drknn:

Но это, по всей видимости не тот тип общего тейка/стопа, который Вам нужен. Что на это скажете?


Данная конструкция работает отлично.
OrderTakeProfit =  СредняяЦенаОткрытия(OP_BUY) + ( ТребуемыйПрофит / ( СуммаЛотов(OP_BUY) * СтоимостьПункта ) ) * Point;
Ветку можно закрыть.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий