не открыть ордер в советнике - страница 2

 

Продолжение банкета... Уже на тему "Не могу модифицировать ордер"

2008.12.05 17:17:52 2008.01.02 16:19 MartinSkew36 EURUSD,M30: Alert: 385: Не смог Modify ордер OP_SELL! SL=1.4902 TP=1.4708 sprice=1.4668 Order_OpenPrice =1.4662 Order_Ticket=2 Bid=1.4703
2008.12.05 17:17:52 2008.01.02 16:19 MartinSkew36 EURUSD,M30: 385: Не смог Modify ордер OP_SELL invalid stops
2008.12.05 17:17:52 2008.01.02 16:19 MartinSkew36 EURUSD,M30: OrderModify error 130

ухх.. пока написал - увидел, где ошибка. Но какие же это стопы???

 

Бред какой-то..

------

EURUSD,M30: Alert: 374: Не смог открыть ордер SELLLIMIT! Lots=1.6 SL=1.7833 TP=1.4793 limitprice=1.4833 Bid=1.4799
EURUSD,M30: 374: Не смог открыть ордер SELLLIMIT invalid trade volume
EURUSD,M30: OrderSend error 131

------

FreeMargin=3591

lots нормализовано

lots = NormalizeDouble(2 * slots,LotDigits1);

TicketSLm=OrderSend(Symbol(),OP_SELLLIMIT,lots,limitprice,Slippage,sl,tp,"422: открываем SELLLIMIT двойным лотом",361,0,CLR_NONE);
if(TicketSLm<0)
{
Print("374: Не смог открыть ордер SELLLIMIT ",ErrorDescription(GetLastError()));
Alert ("374: Не смог открыть ордер SELLLIMIT! Lots=",lots," SL=",sl," TP=",tp," limitprice=",limitprice," Bid=",Bid);
}

LotDigits1=2

получено извратным способом

double _MINLOT; //EURUSD,M1: _MINLOT=0.1
double _LOTSTEP; //EURUSD,M1: _LOTSTEP=0.01
double _MARGINREQUIRED; // Размер свободных средств, необходимых для открытия 1 лота на покупку


_LOTSTEP=MarketInfo(Symbol(),MODE_LOTSTEP);
_MARGINREQUIRED=MarketInfo(Symbol(),MODE_MARGINREQUIRED);


LotDigits1=0;

while (MathRound(_LOTSTEP)==0)
{
_LOTSTEP=_LOTSTEP*10;
LotDigits1++;
}


Print ("LotDigits1=",LotDigits1);

Допустимое число лотов 12.25

LotsAvailable=NormalizeDouble(AccountFreeMargin()/_MARGINREQUIRED,LotDigits1);

В чем еще может быть дело?

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