Не удается отследить OrderSend error 130 - страница 3

 
tara:

Игорь, водораздел не определим принципиально. 

Борис, можно, я ему хамить не буду, а ?  

За что ж ему хамить?! Да я и не спорю с ним, а рассказал о примере, как рынок всё время преподносит нам "хитрые" сюрпризы, на которые приходится изобретать всё новые и новые "винты", т.е. финты! ;)
 

В-общем, "водораздел" (цена) считается без ошибки 130, если цена отложенного ордера отстоит на MarketInfo( sym, MODE_STOPLEVEL ) * Point + MarketInfo( sym, MODE_SPREAD ) * Point;

такие дела. Спасибо всем 

 
adept_:

В-общем, "водораздел" (цена) считается без ошибки 130, если цена отложенного ордера отстоит на MarketInfo( sym, MODE_STOPLEVEL ) * Point + MarketInfo( sym, MODE_SPREAD ) * Point;

такие дела. Спасибо всем 

Это для ордера Buy Stop и если за основу берется Bid. А если брать базовую цену (Ask для Buy Stop и Bid для Sell Stop), то спред учитывать не нужно.
 

ASK != BID + SPREAD блин не  видел никогда наоборот. что делать?

 
adept_:

ASK != BID + SPREAD блин не  видел никогда наоборот. что делать?

ЛеУчиться.
 
Scriptong:
По каким соображениям?

По когнитивным. 

 " ... факт использования торговым сервером внешних механизмов динамического контроля уровней, которые не могут быть транслированы в терминал ..." 

 
tara:

По когнитивным. 

 " ... факт использования торговым сервером внешних механизмов динамического контроля уровней, которые не могут быть транслированы в терминал ..." 

Мы говорим о стоплевеле. При этом Вы утверждаете, что его принципиально нельзя определить да еще и из познавательных соображений. Значит, нужно провести ликбез.

Познается стоплевел так: MODE_STOPLEVEL. Определяется так:

int stopLevel = (int)MarketInfo(_Symbol, MODE_STOPLEVEL);

 Применяется так:

// Открываем Buy Stop
double openPrice = ....;
if (openPrice - Ask - stopLevel * _Point < -DBL_EPSILON)
   openPrice = Ask + stopLevel * _Point;

// Открываем Sell Stop
double openPrice = ....;
if (Bid - openPrice - stopLevel * _Point < -DBL_EPSILON)
   openPrice = Bid - stopLevel * _Point;

Указанной информации с лихвой хватает для устранения различных "приципиальных невозможностей" и когнитивной недостаточности.

 
Scriptong:

Мы говорим о стоплевеле. При этом Вы утверждаете, что его принципиально нельзя определить да еще и из познавательных соображений. Значит, нужно провести ликбез.

Познается стоплевел так: MODE_STOPLEVEL. Определяется так:

 Применяется так:

.... 

Указанной информации с лихвой хватает для устранения различных "приципиальных невозможностей" и когнитивной недостаточности.

 

а "...." - это 0pen[0] ? (см. код выше)

 

я делал так:

 

s=MarketInfo( sym, MODE_STOPLEVEL );

a = Ask - Bid;

b = a - s;

 

все это записывал в файл и прогонял в Vissim, график строил. не всегда b=0; (хотел вместо Ask использовать Bid+spread) - опять ошибка

DBL_EPSILON говорит variable not defined. MQL5? я думал форум по 4-ке... 

определить-то легко, а 130 вылазиет 

 

Спасибо Всем! разобрался)

уж если caveat emptor, то программист-то уж точно.

Спасибо. когнитивнулся, ага

 
Scriptong:
Зачем отслеживать то? Плавающий стоплевел, в основном, привязан к спреду. Нужно всего лишь узнать у брокера, сколько спредов стоплевел? Если же MODE_STOPLEVEL то на него и ориентироваться.
Points?)
Причина обращения: