Подскажите, почему вылазит эта ошибка и что эта за ошибка такая странная

 

Ошибку пишет при вызове ордера:

error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);

error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);

пишет ошибка 5055 - ошибка пользовательского индикатора

спасибо

void OPENORDER(string ord)
{
int error,err;
while (true)
{ error=true;
if (ord=="Buy1" ) error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
if (ord=="Sell1") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);
if (error==-1) //неудачная покупка OK
{
ShowERROR();
err++;Sleep(2000);RefreshRates();
}
if (error || err >10) return;
}
return;
}
//--------------------------------------------------------------------
void ShowERROR()
{
int err=GetLastError();
switch ( err )
{
case 1: return;
case 2: Alert("Нет связи с торговым сервером ",Symbol());return;
case 3: Alert("Error= неправильные параметры ",Symbol());return;
case 130: Alert("Error= близкие стопы Ticket ",Symbol());return;
case 134: Alert("Недостаточно денег= ",Symbol());return;
case 146: Alert("Error= Подсистема торговли занята ",Symbol());return;
case 129: Alert("Error= Неправильная цена ",Symbol());return;
case 131: Alert("Error= Неправильный объем ",Symbol());return;
case 4200:Alert("Error= Объект уже существует ",Symbol());return;
default: Alert("Error= ",err," ",Symbol());return;
}
}

 

Попробуйте открывать ордера с нулевыми стопом и тейком, а потом модифицировать

 

подскажите тогда, как открыть ордер на продажу или на покупку с нулевыми стопом и тейком?

OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);

OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"SELL",Magic,0,Red);

?

Спасибо

 

Вам на другой форум, здесь все ошибки - с кодом меньше 5000 :)

 

ДС другого нет.

я так понимаю надол сделать вот так:


OrderSend(Symbol(),OP_BUY, 1,NormalizeDouble(Ask,Digits),3,0,0,"BUY",12345,0,Blue);

NormalizeDouble(Ask,Digits) - я так понимаю это цена, но откуда она берётся...

 
vitebskstar:

я так понимаю это цена, но откуда она берётся...


По секрету, никому не говорите, тут этого никто не знает (шепотом).
 

так где тут ошибка то ?

OrderSend(Symbol(),OP_BUY, 1,NormalizeDouble(Ask,Digits),3,0,0,"BUY",12345,0,Blue);

 
vitebskstar:

пишет ошибка 5055 - ошибка пользовательского индикатора


а вы че, из индикатора торгуете?
 

а как мне значение переменной с индикатора тогда в скрипт передать ?????

или как сделать переменную глобальной, чтобы её скрипт из индикатора видел ?

Спасибо

 
vitebskstar:

а как мне значение переменной с индикатора тогда в скрипт передать ?????


буфером -> потом по iCustom получить.

или через глобальную переменную GlobalVariableSet/Get

 
спасибо большое
Причина обращения: