2 одинаковых параметра структуры MqlTradeRequest.. зачем?

 

 Вижу 2 параметра:

double                     price;            // Цена 
double                     stoplimit;      // Уровень StopLimit ордера

1-ый параметр нужен для указания цена, при достижении которой ордер должен быть исполнен. Например, поставим 1.40045

Как только цена достигла этого ценового уровня. ордер исполнится. Это понятно. Дальше страннее.

2-ой параметр согласно справке:

Цена, по которой будет выставлен отложенный Limit ордер, при достижении ценой значения price (это условие является обязательным). До этого момента отложенный ордер в торговую систему не выводится

Спрашивается какой с него толк? Да ещё и обязательным его сделали. У нас уже есть ценовой уровень 1.40045, который является триггером для открытия ордера. Зачем этот бесполезный параметр?

 
hoz:

 Вижу 2 параметра:

double                     price;            // Цена 
double                     stoplimit;      // Уровень StopLimit ордера

1-ый параметр нужен для указания цена, при достижении которой ордер должен быть исполнен. Например, поставим 1.40045

Как только цена достигла этого ценового уровня. ордер исполнится. Это понятно. Дальше страннее.

2-ой параметр согласно справке:

Спрашивается какой с него толк? Да ещё и обязательным его сделали. У нас уже есть ценовой уровень 1.40045, который является триггером для открытия ордера. Зачем этот бесполезный параметр?

Типы отложенных ордеров (соответствие выделил):

Buy Stop

Buy Limit

Buy stop-limit

Sell Stop

Sell Limit

Sell stop-limit.

 
hoz:

 Вижу 2 параметра:

double                     price;            // Цена 
double                     stoplimit;      // Уровень StopLimit ордера

1-ый параметр нужен для указания цена, при достижении которой ордер должен быть исполнен. Например, поставим 1.40045

Как только цена достигла этого ценового уровня. ордер исполнится. Это понятно. Дальше страннее.

2-ой параметр согласно справке:

Спрашивается какой с него толк? Да ещё и обязательным его сделали. У нас уже есть ценовой уровень 1.40045, который является триггером для открытия ордера. Зачем этот бесполезный параметр?

Если Вам кажется второй параметр лишним, сделайте значения обоих параметров одинаковыми. В будущем поймете их назначение.
 
hoz:

 Вижу 2 параметра:

double                     price;            // Цена 
double                     stoplimit;      // Уровень StopLimit ордера

1-ый параметр нужен для указания цена, при достижении которой ордер должен быть исполнен. Например, поставим 1.40045

Как только цена достигла этого ценового уровня. ордер исполнится. Это понятно. Дальше страннее.

2-ой параметр согласно справке:

Спрашивается какой с него толк? Да ещё и обязательным его сделали. У нас уже есть ценовой уровень 1.40045, который является триггером для открытия ордера. Зачем этот бесполезный параметр?

StopLimit-ордер это не стоп и не лимит.

Это ордер лимит который можно установить дальше по рынку.

Пример для BuyStopLimit: сейчас цена 1.40000 (для простоты), выставить лимит на уровень 1.40100 невозможно так как уровень выше рынка, а BuyLimit ставятся ниже рынка.

На помощь приходит BuyStopLimit, в котором указывается что как только цена достигнет уровня к примеру 1.40200 выставить (сервер выставит, не вы и не советник) BuyLimit на уровень 1.40100.

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