ни как не могу понять ребята Объясните пожалуйста

 

  изучаю Язык Mql и для себя подстроил простой советник на основе стохастика комплирировал не дает ошибки но работает в одну сторону на  Sell  не реагировает объясните в чем причина за ранее благодарен


#property version   "1.00"

#property strict


extern double Lot = 0.01;

extern int tp = 200;

extern int sl = 250;

extern int slip = 50;

extern int Magic = 1211;


extern string ___ = " Stochastic  Parametr";


extern int PeriodK = 30;

extern int PeriodD = 15;

extern int Zamedlenie1 = 17;


e

//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int start()  {


 

  

  double Stochastic1;

  

  

  

  Stochastic1=iStochastic(Symbol(),0,PeriodK,PeriodD,Zamedlenie1,0,0,0,0);


 

//---

   if(OrdersTotal()==0&&Volume[1]==1)

   {

   if (PeriodK>PeriodD) OrderSend(Symbol(),OP_BUY,Lot,Ask,slip,Ask-sl*Point,Ask+tp*Point,NULL,Magic,0,clrNONE);

   

   if (PeriodK<PeriodD) OrderSend(Symbol(),OP_SELL,Lot,Bid,slip,Bid+sl*Point,Bid-tp*Point,NULL,Magic,0,clrNONE);

   

   }

//---

   return(0);

   }


 
Rustam Zabirov:

  изучаю Язык Mql и для себя подстроил простой советник на основе стохастика комплирировал не дает ошибки но работает в одну сторону на  Sell  не реагировает объясните в чем причина за ранее благодарен

если в настройках установить что бы PeriodK стал меньше PeriodD

то будет сел

 
Iurii Tokman:

если в настройках установить что бы PeriodK стал меньше PeriodD

то будет сел

 да так сделано но продажи нет почему не понимаю

 
#property version   "1.00"
#property strict

extern double Lot=0.01;
extern int tp=200;
extern int sl=250;
extern int slip=50;
extern int Magic=1211;
extern string ___=" Stochastic  Parametr";
extern int PeriodK=30;
extern int PeriodD=15;
extern int Zamedlenie1=17;

int start()
  {
   double Stochastic1;
   Stochastic1=iStochastic(Symbol(),0,PeriodK,PeriodD,Zamedlenie1,0,0,0,0);
   if(OrdersTotal()==0 && Volume[1]==1)
     {
      if(PeriodK>PeriodD) OrderSend(Symbol(),OP_BUY,Lot,Ask,slip,Ask-sl*Point,Ask+tp*Point,NULL,Magic,0,clrNONE);
      if(PeriodK<PeriodD) OrderSend(Symbol(),OP_SELL,Lot,Bid,slip,Bid+sl*Point,Bid-tp*Point,NULL,Magic,0,clrNONE);
     }
   return(0);
  }

Вставляйте, пожалуйста, код правильно. 

 
Rustam Zabirov:

 да так сделано но продажи нет почему не понимаю

Прочитайте еще раз документацию 

https://docs.mql4.com/indicators/istochastic

у вас если PeriodK>PeriodD то OP_BUY а PeriodK и PeriodD уже определенны и по умолчание PeriodK больше PeriodD. 

iStochastic - Technical Indicators - MQL4 Reference
iStochastic - Technical Indicators - MQL4 Reference
  • docs.mql4.com
iStochastic - Technical Indicators - MQL4 Reference