Кроме того, как я и думал, отсутствует проверка на наличие уже имеющихся ордеров.
Вот код переделанной функции start():
//+------------------------------------------------------------------+
//| ОТЛОЖКИ.mq4 |
//+------------------------------------------------------------------+
extern double StopLoss = 100; //Стоплосс ордера
extern double TakeProfit = 150; //Тейкпрофит ордера
extern double TrailingStop = 100; // трал
extern int Delta = 100; //Расстояние от цены для установки ордера
extern double LOT = 0.1; //Объём позиции
extern int Magic =2;
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if (TrailingStop!=0) Trailing();
//ИНДИКАТОР RSI
double RSI0=iRSI(NULL,0,5,PRICE_CLOSE,0);
double RSI1=iRSI(NULL,0,5,PRICE_CLOSE,1);
int b = 0, s = 0, p = 0, res = 0;
double BuyPrice=Ask+Delta*Point;
double SellPrice=Bid-Delta*Point;
for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS)==true)
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;
if (OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
if (OrderType()==OP_BUYSTOP)
{
if(RSI0<50&&RSI1>50)
OrderDelete(OrderTicket());
else
b++;
}
if (OrderType()==OP_SELLSTOP)
{
if(RSI0>50&&RSI1<50)
OrderDelete(OrderTicket());
else
s++;
}
}
}
double SL,TP; // < !!!!!!!!! эти переменные не используются, можно удалить
//---- buy stop
if(RSI0>50&&RSI1<50 && p<1 && b<1) // < !!!!!!!!!
{
res=OrderSend(Symbol(),OP_BUYSTOP,LOT,BuyPrice,0,BuyPrice-StopLoss*Point,BuyPrice+TakeProfit*Point,"ОТЛОЖКИ",Magic,OP_SELLSTOP,Blue);
}
//---- sell stop
if(RSI0<50&&RSI1>50 && p<1 && s<1) // < !!!!!!!!!
{
res=OrderSend(Symbol(),OP_SELLSTOP,LOT,SellPrice,0,SellPrice+StopLoss*Point,SellPrice-TakeProfit*Point,"ОТЛОЖКИ",Magic,OP_BUYSTOP,Red);
}
//----
return(0);
}
//--------------------------------------------------------------------
//---------ФУНКЦИЯ ТРАЛА----------------------------------------------
//--------------------------------------------------------------------
Функция трейлинга стопов кривая, ДУМАЙ
P.S.
Ну и кривой же тут редактор!
guest111