Скачать MetaTrader 5

Стопы на ФОРТС

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

Кто-нибудь знает, есть какая-нибудь особенность в установке стопов на ФОРТС(демо-сервер Открытия). 

SymbolInfoInteger(symb,SYMBOL_TRADE_STOPS_LEVEL) возвращает мне 0.

При этом при попытки открыть позицию со стопами получается вот что: failed exchange sell 1.00 Si-12.14 at 38256 sl: 38308 tp: 38100 [Invalid stops]

Mikhail Filimonov
5931
Mikhail Filimonov  

https://www.mql5.com/ru/forum/41024

Да и потом  SYMBOL_TRADE_STOPS_LEVE, это не то что Вы думаете.

Стопы для отложенных ордеров
Стопы для отложенных ордеров
  • www.mql5.com
Выставляю отложенный ордер для открытия позиции типа ORDER_TYPE_BUY_STOP. - - Категория: автоматические торговые системы
Fannasankh
120
Fannasankh  
Mikalas:
https://www.mql5.com/ru/forum/41024
Я выставляю не отложенный ордер. Выставляю рыночный через trade.Buy/Sell.
Mikhail Filimonov
5931
Mikhail Filimonov  
Fannasankh:
Я выставляю не отложенный ордер. Выставляю рыночный через trade.Buy/Sell.

1. Прочтите ВНИМАТЕЛЬНО справку по SYMBOL_TRADE_STOPS_LEVEL

2. Выложите здесь код установки ордера, нажав в панели SRC 

Fannasankh
120
Fannasankh  
Mikalas:

1. Прочтите ВНИМАТЕЛЬНО справку по SYMBOL_TRADE_STOPS_LEVEL

2. Выложите здесь код установки ордера, нажав в панели SRC 

Спасибо, я при первом прочтении не правильно понял смысл данной функции. Тогда другой вопрос, как мне получить минимальный интервал, на котором возможно устанавливать стопы?
Mikhail Filimonov
5931
Mikhail Filimonov  
Fannasankh:
Спасибо, я при первом прочтении не правильно понял смысл данной функции. Тогда другой вопрос, как мне получить минимальный интервал, на котором возможно устанавливать стопы?

Сначала открывается позиция.

Потом, так:

//Получение уровней SL, TP
bool GetSlTp( double &sl, double &tp )
{
  sl = 0;
  tp = 0;
  if ( PositionSelect( _Symbol ) )
  {
    sl = PositionGetDouble( POSITION_SL );
    tp = PositionGetDouble( POSITION_TP );
    
    if ( (sl > 0 ) && ( tp > 0 ) ) return( true );
  }
  return( false );
}
//--Проверка уровня SL и TP
void OnTick()
{
  double st_loss, t_profit;
  
  if ( GetSlTp( st_loss, t_profit ) )
  {
    //Посылаем ордер на установку SL и TP
  }
}
Fannasankh
120
Fannasankh  
Mikalas:

Сначала открывается позиция.

Потом, так:

не совсем понял, где в данном коде идёт получение минимального отступа от цены, на который возможно установить стоп.
Mikhail Filimonov
5931
Mikhail Filimonov  
Fannasankh:
не совсем понял, где в данном коде идёт получение минимального отступа от цены, на который возможно установить стоп.
sl и tp это и есть уровни к которым Вы прибавляете (или вычитаете) нужные Вам значения.
Fannasankh
120
Fannasankh  
Mikalas:
sl и tp это и есть уровни к которым Вы прибавляете (или вычитаете) нужные Вам значения.
Мы, наверно, не совсем понимаем друг друга. Приведённый Вами код позволяет получить значения ранее установленных уровней стоп лосс и тейк профит. А мне нужно при первой отправке ордера узнать на сколько близко я могу расположить стопы.
Mikhail Filimonov
5931
Mikhail Filimonov  
Fannasankh:
Мы, наверно, не совсем понимаем друг друга. Приведённый Вами код позволяет получить значения ранее установленных уровней стоп лосс и тейк профит. А мне нужно при первой отправке ордера узнать на сколько близко я могу расположить стопы.

Почитайте здесь:

https://www.mql5.com/ru/articles/643 

Рецепты MQL5 - Как не получить ошибку при установке/изменении торговых уровней?
Рецепты MQL5 - Как не получить ошибку при установке/изменении торговых уровней?
  • 2013.04.02
  • Anatoli Kazharski
  • www.mql5.com
Продолжая работу над экспертом из предыдущей статьи "Рецепты MQL5 - Изучение свойств позиции в тестере MetaTrader 5", внедрим в него еще целый ряд полезных функций, а также усовершенствуем и оптимизируем уже имеющиеся. На этот раз эксперт будет снабжен внешними параметрами, которые можно будет оптимизировать в тестере MetaTrader 5. Это уже будет немного похоже на простую торговую систему.
Alexander Laur
8291
Alexander Laur  
Fannasankh:

Кто-нибудь знает, есть какая-нибудь особенность в установке стопов на ФОРТС(демо-сервер Открытия). 

SymbolInfoInteger(symb,SYMBOL_TRADE_STOPS_LEVEL) возвращает мне 0.

При этом при попытки открыть позицию со стопами получается вот что: failed exchange sell 1.00 Si-12.14 at 38256 sl: 38308 tp: 38100 [Invalid stops]

Установка стопов зависит от режима исполнения на бирже.

Если MarketExchange, то стопы нельзя устанавливать при открытии позиции. Сначала нужно открыть позицию, а затем модифицировать открытую позицию, т.е. установить стопы.

Попробуйте разделить открытие позиции и установку стопов.

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