Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Давай, внесём небольшие косметические изменения в советник:
[code]extern int Быстр_ЕМА = 5; //период быстрой ЕМА
extern int Медл_ЕМА = 13; //период медленной ЕМА
extern int RSI = 13; //период RSI
//extern int UPPER_BB = 13; //период верхней ленты Боллинджера для установки стоп-лосса
extern int LOWER_BB = 13; //период нижней ленты Боллинджера для установки тейк-профита
extern double КББ = 1; // коэфф. нижней ленты Боллинджера
double SL, TP;
int start ()
{
if(OrdersTotal()==0) // если нет ордеров, то проверяем ряд условий для селл
{
if (iMA(NULL,0,Быстр_ЕМА,0,MODE_EMA,PRICE_LOW,1)<iMA(NULL,0,Медл_ЕМА,0,MODE_EMA,PRICE_LOW,1)// проверяем наличие сигнала ЕМАшек на часовке
&&iRSI(NULL,1440,RSI,PRICE_LOW,1)<50) // проверяем фильтр RSI на дневке
{
SL = iHigh(0,1440,0)+4*Point;
TP = iBands(NULL,0,LOWER_BB,1*КББ,0,PRICE_LOW,MODE_LOWER,1);
Print ("Открываем Sell по цене", Bid," SL=",SL," TP=",TP);//*** добавили эту строку для отладки - будем видеть в журнале, в каких случаях возникают ошибки
OrderSend(Symbol(), OP_SELL, 0.01, Bid, 3, SL, TP, "EMA-RS-BB", 777,0); /* если условия выполняются, то продаем со SL по дневному High и TP по LOWER_BB*/
}
}
}
return (0);[/code]В принципе, ничего в алгоритме не изменилось, но, надеюсь, в таком виде ты скорее сможешь понять причину неправильной работы, глядя на записи в журнале.
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action