Не точность работы MarketInfo(sy,MODE_STOPLEVEL);

 

Следующая ситуация. Билд 220

Режим тестирование сервер Альпари-Demo

Натолкнулся на неправильную работу MarketInfo(sy,MODE_STOPLEVEL);

Для подтверждения этого взял функцию KimIV 'Полезные функции от KimIV'

И установил там минимально разрешенный Sl и Tp + добавил это вывод в журнал.

2008.11.18 00:55:48 2008.11.17 00:00 e_ForTester[1] EURGBP,M1: Продолжительность прогона 1.3 сек.

2008.11.18 00:55:47 2008.11.17 00:00 e_ForTester[1] EURGBP,M1: Ask=0.8547 Bid=0.8542 sy=EURGBP ll=0.1 pp=0.8542 sl=0.8556 tp=0.8532 mn=0 Минимальный Sl-----10

2008.11.18 00:55:47 2008.11.17 00:00 e_ForTester[1] EURGBP,M1: Error(130) open Sell: invalid stops

2008.11.18 00:55:47 2008.11.17 00:00 e_ForTester[1] EURGBP,M1: OrderSend error 130

2008.11.18 00:55:47 2008.11.17 00:00 e_ForTester[1] EURGBP,M1: Ask=0.8546 Bid=0.8541 sy=EURGBP ll=0.1 pp=0.8541 sl=0.8555 tp=0.8531 mn=0 Минимальный Sl-----10

2008.11.18 00:55:47 2008.11.17 00:00 e_ForTester[1] EURGBP,M1: Error(130) open Sell: invalid stops

Обратите внимание Sl=14 и все равно не проходит. Хотя пишет что минимальное 10, при 15 пунктах уже все нормально.

Файлы:
 

Всё работает правильно.

При продажах минимальный стоп-левел отсчитывается от цены Ask, и соответственно при покупках он считается от Bid.

То есть не от той цены, по которой вы открываете ордер, а от той, по которой будете его закрывать.

 
понял спасибо. Жаль не могу удалить тему (
 

Не все правильно.

TP спокойно ставится на уровне StopLevel, а SL - только на уровне StopLevel + spread. Это при открытии с рынка.

Причем 130 возникает на стороне сервера, а клиент не ругается. При стопах/тейках < StopLevel ругается уже клиент, не посылая запрос.

А если попробуете лимитник со SL = StopLevel - он откроется без проблем.

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