Как уровни по стохастику в советник добавить. Эксперты помогите.

 

Как по стохастику в советник добавить еще уровни перекупленност перепроданности (80, 20). Чтобы советник при прохождении  этих уровней продавал или покупал.

   g_istochastic_116= iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,0);
  g_istochastic_124 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,1);
  g_istochastic_132 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,2);

 



Взломал чей-то труд, что ли?


 
нет
 

Вот тут глянь самый посл. пост. Там уже предусмотрена эта опция.

'эксперты'

  { 
//---------проверяем условие на покупку----------------------------
  if   (  /*(Stochastic_1<low_lim)  &&
          (Stochastic_0>low_lim)  &&*/
          (StochK_1<StochD_0)  &&
          (StochK_0>StochD_0)  )
   {
  ticket=OrderSend(Symbol(),0,Lot,Ask,Slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,CLR_NONE);
   if(ticket < 0)  { Sleep(30000); prevtime = Time[1]; }
  if (ticket<0) { Print("Ошибка открытия ордера BUY #", GetLastError()); return (0); } 
           
   }
//--------проверяем условие на продажу------------------------------
  if  ( /*(Stochastic_1>up_lim)  &&
          (Stochastic_0<up_lim)  &&  */

Убери ограничения (/* ...*/)

и во внешние параметры добавь 

extern int     low_lim=20;
extern int     up_lim=80;

Удачи !

 
Покупка 

 if(iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)> lev20 &&
	  iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)< lev80 &&
	  iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)>
	  iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_SIGNAL,0))   {

Продажа

      if(iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)< lev80 &&
	      iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)> lev20 &&
	      iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_MAIN,0)<
	      iStochastic(NULL,0,KPeriod,DPeriod,Slowing,Method,Price,MODE_SIGNAL,0))  {  
 
rid >>:

Вот тут глянь самый посл. пост. Там уже предусмотрена эта опция.

'эксперты'


Убери ограничения (/* ...*/)

и во внешние параметры добавь 

Удачи !

Только вот ордера то у меня открываются при условии когда 

  g_istochastic_116= iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,0);
  g_istochastic_124 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,1);
  g_istochastic_132 = iStochastic(NULL,0,3,3,3,MODE_SMA,0,MODE_MAIN,2);

 а мне бы хотелось чтобы еще плюс к этому  добавить еще уровни перекупленност перепроданности (80, 20)
 Конечно за ответ спасибо, но я еще не силен в прграммировании. Не могли бы если есть время написать это в код, то что пояснили RID а то тут 2 варианта. Я попробовал и что то невышло.

 
1Rakso >>:

Спасибо. 

 

int GetSignal(string vSymbol)
  {
  double Stoch_Main_0 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_MAIN,0);
  double Stoch_Main_1 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_MAIN,1);
  double Stoch_Sign_0 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_SIGNAL,0);  
  double Stoch_Sign_1 =iStochastic(vSymbol,60,14,3,3,MODE_SMA,0,MODE_SIGNAL,1);  
   
  int vSignal = 0;
   
  if (Stoch_Main_0<20&&Stoch_Main_1<Stoch_Sign_1&&Stoch_Main_0>Stoch_Sign_0)
   
  vSignal =+1;//up
 
  else 
  if (Stoch_Main_0>80&&Stoch_Main_1>Stoch_Sign_1&&Stoch_Main_0<Stoch_Sign_0)
   
  vSignal =-1;//down
   
  return (vSignal);

______________________________________________________________________________
а если сделать что то в этом роде, как думаете. Только у меня 3 значения MODE_MAIN,0
                                                                                                                 MODE_MAIN,1
                                                                                                                 MODE_MAIN,2
а тут еще MODE_SIGNAL,0

 
все в отпуске 8(
 
WERTY >>:
все в отпуске 8(

Нет, просто выдохлись... Используйте паузу, чтоб с литературой свериться, там легко можно найти похожие примеры.