OpenSend и параметр stoploss

kirillvlasov

Новичок форума
Здравствуйте

Думаю, я не первый кто задает этот вопрос. Но ответа я найти не смог. Возможно, я ищу не то что нужно. Направьте на путь истинный :)

Давайте представим ситуацию, я пишу советника. В какой-то момент он должен открыть позицию с определенными параметрами: stoploss, takeprofit, comment и тому подобное. Допустим, я провел некоторые расчеты и получил некий stoploss. В теории он может быть меньше допустимого брокером стоп-лоса. Получать ошибку 130 и завершаться не хотелось бы…

Вопрос, как определить на сколько пипсов от текущей цены можно отодвинуть стоп-лос?
 

eevviill

Заблокирован
PHP:
MarketInfo(Symbol(),MODE_STOPLEVEL);
Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах
 

Ugar

Гуру форума
PHP:
MarketInfo(Symbol(),MODE_STOPLEVEL);
Минимально допустимый уровень стоп-лосса/тейк-профита в пунктах
Не на всех ДЦ это будет работать. Не редко MarketInfo(Symbol(),MODE_STOPLEVEL); возвращает 0.
Надо читать условия и регламент конкретного брокера.
 

kirillvlasov

Новичок форума
И как же быть в таких случаях? Определять параметр stoploss в настройках приложения? Кошерно ли это?
 

eevviill

Заблокирован
И как же быть в таких случаях? Определять параметр stoploss в настройках приложения? Кошерно ли это?
Всмысле? Ты наверно только начал програмировать. Если чесно то програмисту скорее нужно иметь фантазию чем знания языка.
Спрашивашь какое минимальное растояние от цены вохможно. Ну скажем это 2 пункта.
Min_SL_TP_from_price = 2*Point;

Потом при выставлении стопов пишешь что если СЛ или ТП ближе к цене чем значение переменной, то СЛ и ТП либо вообще не ставится либо ставится на растоянии переменной.
 

Ugar

Гуру форума
И как же быть в таких случаях? Определять параметр stoploss в настройках приложения? Кошерно ли это?
Я же писал, надо читать условия и регламент торговли.
Например у Альпари минимальный стоп равен спреду, так как между открытием и закрытием то же спред, значит стоп можно поставить к цене открытия не ближе чем 2 спреда.
Стоп в пунктах = MarketInfo(Symbol(),MODE_SPREAD)*2;
В других ДЦ могут быть другие условия.
 
Последнее редактирование:

kirillvlasov

Новичок форума
Я же писал, надо читать условия и регламент торговли.
Проще говоря, советника нужно затачивать для конкретного ДЦ? Нельзя написать универсального (хотя бы в смысле определения стоп-лоса) советника? Я верно вас понимаю?
 

Ugar

Гуру форума
Проще говоря, советника нужно затачивать для конкретного ДЦ? Нельзя написать универсального (хотя бы в смысле определения стоп-лоса) советника? Я верно вас понимаю?
Если писать советник на грани торговых условий, то да. Торговые условия сильно отличаются у разных брокеров.
К примеру на EURUSD. Если система заточена под стоп в 2 пункта, то на некоторых ДЦ она будет работать, а если стоп плавающий то ещё и не всегда. А на некоторых ДЦ на той же паре стоп может быть 4 пункта. А что собственно изменится если это будет известно советнику? Поставит он стоп дальше, но тогда система может стать убыточной, так как не была рассчитана на такой стоп. А разница в спреде и проскальзывании может превратить прибыльную систему в супер сливатор.
А если система торгует далеко от ограничений ДЦ, Например имеет стопы и тейки в десятки или даже сотни пунктов, то ей вообще плевать на торговые условия. Если она прибыльная, то она будет прибыльной на любом ДЦ. И плевала она на разные спреды и проскальзывания. А минимальный стоп вообще не имеет никакого значения. Запрашивать его нет смысла, а значит и искать способы как извлечь информацию о стопах. Такая система может претендовать на универсальность.
 
Верх