Что я делаю не так? Ошибка по экспирации. - страница 2

 

prostotrader, благодарю, кажется понял. Значит если не выскакивает окно с ошибкой значит брокер поддерживает все параметры. 
Добавил нужную строку проверки:  

   if((symbol_exp_type & SYMBOL_EXPIRATION_SPECIFIED) != SYMBOL_EXPIRATION_SPECIFIED)
  {
    MessageBox("Символ " + a_symbol + " не поддерживает экспирацию SPECIFIED!", "Ошибка", MB_OK | MB_ICONHAND);
    return(false);
  }
  

И если я правильно все сделал, то получается что Открытие - Брокер не поддерживает 

SYMBOL_EXPIRATION_SPECIFIED

prostotrader
prostotrader
  • www.mql5.com
Профиль трейдера
 
sergofortrsh #:

prostotrader, благодарю, кажется понял. Значит если не выскакивает окно с ошибкой значит брокер поддерживает все параметры. 
Добавил нужную строку проверки:  

И если я правильно все сделал, то получается что Открытие - Брокер не поддерживает 

SYMBOL_EXPIRATION_SPECIFIED

Зато поддерживает SYMBOL_EXPIRATION_SPECIFIED_DAY

 
sergofortrsh #:

prostotrader, благодарю, кажется понял. Значит если не выскакивает окно с ошибкой значит брокер поддерживает все параметры. 
Добавил нужную строку проверки:  

И если я правильно все сделал, то получается что Открытие - Брокер не поддерживает 

SYMBOL_EXPIRATION_SPECIFIED

Да, все верно сделали.

Открытие не поддерживает тип экспирации

SYMBOL_EXPIRATION_SPECIFIED
В функцию 
CheckMarketParam(const string a_symbol)

Вы добавляете все параметры, которые в дальнейшем будут использованы в Вашем советнике,

их нужно проверить на валидность. 

 
@prostotrader, большое спасибо, теперь все понятно, выручили.
 
JRandomTrader #:

Зато поддерживает SYMBOL_EXPIRATION_SPECIFIED_DAY

Ну как я понимаю если ставить  SYMBOL_EXPIRATION_SPECIFIED_DAY то экспирация только в конце дня, и в лимитный ордер нельзя задать время экспирации.

 
sergofortrsh #:
Ну как я понимаю если ставить  SYMBOL_EXPIRATION_SPECIFIED_DAY то экспирация только в конце дня, и в лимитный ордер нельзя задать время экспирации.

Можно, указывается день, когда удалится ордер

 
prostotrader #:

Можно, указывается день, когда удалится ордер

Ну вот к примеру я хочу выставить лимитку  на покупку и если она не сработает, то должна удалиться к примеру через 20 мин. Я прописал:

 m_Trade.BuyLimit(Lots_Buy,Entry_Price_Buy,my_symbol,SL_Price_Buy,TP_Price_Buy,ORDER_TIME_SPECIFIED,TimeCurrent()+20*60);

Если это делать через  SPECIFIED_DAY, то ордер удаляется лишь на следующий день. Так это или нет?

 
sergofortrsh #:

Ну вот к примеру я хочу выставить лимитку  на покупку и если она не сработает, то должна удалиться к примеру через 20 мин. Я прописал:

Если это делать через  SPECIFIED_DAY, то ордер удаляется лишь на следующий день. Так это или нет?

Ордер удалится в ближайший клиринг

 
prostotrader #:

Ордер удалится в ближайший клиринг

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

И такая ситуация у всех брокеров на срочном рынке?

 
sergofortrsh #:
А как тогда решить вопрос снятия ордеров в нужное время, ведь в этом весь смысл использовнаия лимиток в советнике.

Весь смысл установки отложенных ордеров в цене, которая Вас устраивает, а не во временном нахождении с стакане.

Причина обращения: