Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Самое простое (но неправильное):
Добавьте в параметры
input int SL_POINTS=50;
и там где вызывается SendMarketOrder его добавьте:
SendMarketOrder(OP_SELL, NewLots, SL_POINTS, 0, MagicSell, ExpertName + " - " + SellOrders, Error);
PS/ Правильнее добавлять в функцию ModifyOrder, но кода больше, дольше рассказывать :-) Да и вообще похоже что стопы там не нужны, но вам виднее
Если честно даже не понимаю как добавить,если вам не сложно будет,не могли бы ли вы прописать
мог бы но не буду :-) буду придерживаться топика темы "помогите прописать", а не "сделайте мне" :-)
----
в начале файла там где строчки с extern добавляете собственный параметр то есть
добавляете строку (чтобы придерживаться общего стиля старинного советника, по старинке extern)
extern int SL_POINTS = 50 ; // Стоп лосс в пунктах
дальше нажимаете F3 и ищите вызов функции выставляющей ордера SendMarketOrder
её третий параметр меняете с 0 на SL_POINTS
----
только так начнёте разбираться в собственном советнике и немного в MQL :-)
мог бы но не буду :-) буду придерживаться топика темы "помогите прописать", а не "сделайте мне" :-)
----
в начале файла там где строчки с extern добавляете собственный параметр то есть
добавляете строку (чтобы придерживаться общего стиля старинного советника, по старинке extern)
extern int SL_POINTS = 50 ; // Стоп лосс в пунктах
дальше нажимаете F3 и ищите вызов функции выставляющей ордера SendMarketOrder
её третий параметр меняете с 0 на SL_POINTS
----
только так начнёте разбираться в собственном советнике и немного в MQL :-)
Вы до этого написали,что этот вариант "Самое простое (но неправильное)",в чем подвох?
в самом первом коменте в советнике : N1.01 Теперь работает и в Market Execution(TP=0, потом модификация);
автор подразумевает что сначала ордер открывается (возможно с проскальзываением), а уже потом от полученной цены открытия считается ТейкПрофит ( и соотв. ваш СтопЛосс)
но чтобы проверить работоспособность подхода, вполне можно стоп выставить сразу.
мог бы но не буду :-) буду придерживаться топика темы "помогите прописать", а не "сделайте мне" :-)
----
в начале файла там где строчки с extern добавляете собственный параметр то есть
добавляете строку (чтобы придерживаться общего стиля старинного советника, по старинке extern)
extern int SL_POINTS = 50 ; // Стоп лосс в пунктах
дальше нажимаете F3 и ищите вызов функции выставляющей ордера SendMarketOrder
её третий параметр меняете с 0 на SL_POINTS
----
только так начнёте разбираться в собственном советнике и немного в MQL :-)
Еще стоит учесть StopLevel
И еще у нас есть стоимость пункта
Из всего этого можно вычислить расстояние стопа
double SL = (SL_POINTS>stopLevel ? SL_POINTS : stopLevel)*point;
Осталось прибавить/отнять к/от нужной цены(е) в зависимости от позиции. И получить нужную цену установки стопа.
Давайте разбираться.
Еще стоит учесть StopLevel
И еще у нас есть стоимость пункта
Из всего этого можно вычислить расстояние стопа
Осталось прибавить/отнять к/от нужной цены(е) в зависимости от позиции. И получить нужную цену установки стопа.
Давайте разбираться.
Еще стоит учесть StopLevel
И еще у нас есть стоимость пункта
Из всего этого можно вычислить расстояние стопа
Осталось прибавить/отнять к/от нужной цены(е) в зависимости от позиции. И получить нужную цену установки стопа.
ENUM_SYMBOL_INFO_DOUBLE читаем про SYMBOL_POINT
ENUM_SYMBOL_INFO_INTEGER так-же смотрим про SYMBOL_TRADE_STOPS_LEVEL
А теперь думаем если у вас есть пункты стопа, то их ведь нужно привести к стоимости для данной валютной пары. А это значит пункты умножаем на стоимость пункта.
И этим мы только получим расстояние до стопа. Но чтоб узнать цену куда ставить стоп нужно например для BUY, отнять его от BID