Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Размещай ссылки на чужие сигналы и зарабатывай
Gala
10
Gala 2011.10.31 16:38 
Victor Nikolaev
Модератор
14061
Victor Nikolaev 2011.10.31 16:41  
Разобраться с чем. Помочь код выложить. Так в FAQ все подробно расписано
Gala
10
Gala 2011.10.31 16:46  
extern int takeprofit=100;
double Lots=0.01; 
extern int stoploss=1000;
extern int period_RSI=14;


double SL, TP;
double LOT;
int k;
int flag=0;
int TimeBar=0;
extern double upper_threshold=70; // верхний порог
extern double lower_threshold=30; // нижний порог
datetime LastTradeTime = 0;


//--------------------------------------------------------------------
int init()
{
Alert ("Запуск советника"); // Сообщение   
return; 
}
//--------------------------------------------------------------------
int start()
{
   if (TimeBar==0) {TimeBar=Time[0];return(0);} //первый запуск программы 
   double RSI = iRSI(NULL, 0, period_RSI, PRICE_OPEN, 0); //присваиваем переменной RSI значение индикатора
if (RSI > upper_threshold) // если индикатор выше верхнего предела, flag=1
        {flag=1;}
  else
        {if (RSI < lower_threshold) // если индикатор ниже  нижнего предела, flag=-1
                {flag=-1;}
         else flag=0; // иначе flag=0
        }

if (MathAbs(flag)==1)
      {
                if (flag>0)  // если flag>0, то продажа
                        {
                         
                     	RefreshRates();
                         TP = Bid - takeprofit*Point;
                         SL = Ask + stoploss*Point;
                         k=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),0,SL,TP,
NULL, 0,0,Red); 
                                              
                          if(k<0) {Alert("Error OP_SELL ",GetLastError());return(0);}
                          
                         }
                 if (flag<0)  // если flag<0, то покупаем
                {
			RefreshRates();
                	TP = Ask + takeprofit*Point;
                        SL = Bid - stoploss*Point;
                        Alert(SL, " ",Bid, " ", Ask," ", TP);
k=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),0,SL,TP,
"SL="+DoubleToStr(SL,5)+".TP="+DoubleToStr(TP,5)+".RSI="+RSI, 0,0,Red);
                          if (k<0){Alert("Error OP_BUY ",GetLastError()); return(0);}        
                         }
       }
if (k == -1) //неудачная покупка
                        {
                         Alert("Неудачная покупка");
                        }
return;
}
        
//--------------------------------------------------------------------
Gala
10
Gala 2011.10.31 16:47  

Вот программа. Сналача не то выложила.

Victor Nikolaev
Модератор
14061
Victor Nikolaev 2011.10.31 16:53  
galaan:

Вот программа. Сналача не то выложила.

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