[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 543

 
Reshetov писал(а) >>

В том месте, где period1 или period2 воткнуть PERIOD_D1


Юра, ничего не перепутал.
Ставить там где 0 стоит (где должен таймфрейм стоять)
double m1=iMA(NULL,PERIOD_D1,period1,0,1,0,0);
double m2=iMA(NULL,PERIOD_D1,period2,0,1,0,0);
затем  if(m1>m2) {okbuy=1;} бла бла бла 
 
Vinin >>:


Юра, ничего не перепутал.
Ставить там где 0 стоит (где должен таймфрейм стоять)


Спасибо огромное, работает
 
Подскажите пожалуйста, каким образом можно переделать индикатор WPR чтобы он показывал данные не текущей, а определенной валюты? Код прилагаю.
Файлы:
wpr.mq4  3 kb
 
unnnamed писал(а) >>
Подскажите пожалуйста, каким образом можно переделать индикатор WPR чтобы он показывал данные не текущей, а определенной валюты? Код прилагаю.


Попробуй этот вариант. Малость не доработан конечно.
Файлы:
wprr1a.mq4  3 kb
 
Все таки, может кто возмется примастерить в советнике ClosePositions( string sy = "", int op = -1, int mn = -1 ) функцию.
Советник https://www.mql5.com/ru/forum/111497/page542
Аесли есть ошибка, покожите где

 
gince писал(а) >>
Все таки, может кто возмется примастерить в советнике ClosePositions( string sy = "", int op = -1, int mn = -1 ) функцию.
Советник https://www.mql5.com/ru/forum/111497/page542
Аесли есть ошибка, покожите где



Если вопрос ко мне, то не люблю в чужом коде разбираться. Если не ко мне, то может появятся жаждущие
 
Я даже не знаю к кому, просто нужна помощ

int GetTradeSignal_Strategija_1(string sym = "", int tf = 0) 
{
   if (sym == "") sym = Symbol();
   
   //int   magic_1     = Magic+1;
   int   stShift_1   = 0;
   int   type        = 0;
   int   IdMain      = 12; // main line
   int   IdBull      = 12; // bull line 
   int   IdBear      = 12; // bear line 
   int   IdArray     = 12; // all sma line  

   //double BullPressue_0     /*melynas stulpas*/  =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,0,stShift_1);       //
   double BullPressue_1       /*melynas stulpas*/  =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,0,stShift_1+1);     //
   //double BearPressue_0     /*rudas stulpas*/    =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,1,stShift_1);       //
   double BearPressue_1       /*rudas stulpas*/    =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,1,stShift_1+1);     //Bull SMA
   double MainAccumulation_0  /*balta*/            =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,2,stShift_1);       //balta linija
   double MainAccumulation_1  /*balta*/            =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,2,stShift_1+1);     //balta linija
   double MainSMA_0           /*raudona*/          =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,5,stShift_1);       //raudona linija
   double MainSMA_1           /*raudona*/          =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,5,stShift_1+1);     //raudona linija
   double BullSMA_0           /*zalia*/            =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,6,stShift_1);       //
   double BullSMA_1           /*zalia*/            =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,6,stShift_1+1);     //
   double BearSMA_0           /*violetine*/        =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,7,stShift_1);       //
   double BearSMA_1           /*violetine*/        =iCustom(sym,tf,"MarketWay",IdMain,IdBull,IdBear,IdArray,0,7,stShift_1+1);     //
   
   
      //---CLOSE BUY---
    if((  MainAccumulation_1-MainSMA_1>0        // jei balta1 linija auksciau raudonos1
      &&  MainAccumulation_0-MainSMA_0<0)       // jei balta0 linija zemiau raudonos0
      ||( MainAccumulation_1-BullSMA_1>0.1      // jei balta1 linija auksciau zalios1
      &&  MainAccumulation_0-BullSMA_0<0))      // jei balta0 linija zemiau zalios0
                
      type = 2; 
   
      //---CLOSE SELL---
   if((  MainAccumulation_1-MainSMA_1<0         // jei balta1 linija zemiau raudonos1
      &&  MainAccumulation_0-MainSMA_0>0)       // jei balta0 linija auksciau raudonos0
      ||( MainAccumulation_1-BullSMA_1<0.1      // jei balta1 linija zemiau zalios1
      &&  MainAccumulation_0-BullSMA_0>0))      // jei balta0 linija auksciau zalios0
                
      type = -2;
   
      //---OPEN BUY---
   if(   MainAccumulation_1-MainSMA_1>0      // jei balta linija zemiau raudonos
      && BullPressue_1-Point>0               // jei melynas stulpas > 0
      && BearPressue_1-Point>0               // jei rudas stulpas> 0
      && MainSMA_1<MainSMA_0                 //raudona kylanti
      && MainAccumulation_1-Point>0          // jei balta linija> 0
      && OrdersTotal()<=1)         
      
      type = 1; 

      //---OPEN SELL---
   if(   MainAccumulation_1-MainSMA_1<0      
      && BullPressue_1-Point<0               
      && BearPressue_1-Point<0
      && MainSMA_1>MainSMA_0               
      && MainAccumulation_1-Point<0
      && OrdersTotal()<=1)
      
      type = -1; 
        
      Comment("type = ",type);//тут коментатий показывает type = 2 и type = -2, значет тут хорошо

 return(type);
}
дальше
void ManagePositions_Strategija_1(double StopLoss=0,double TakeProfit=0) 
{
  double lotas = Lotas;
  double sl = 0, tp = 0;
  int    bs = GetTradeSignal_Strategija_1(Simbolis,tf);
  int    mn = Magic * 1;
     
  //ExistPositions(string sy="", int op=-1, int mn=-1, datetime ot=0) 
  if (ExistPositions(Simbolis,-1,mn)) 
  {
      //ClosePositions(string sy="", int op=-1, int mn=-1)             //функция KimIV
    if (bs == -2)  ClosePositions(string sy="", int op=-1, int mn=-1); //тут незакрывает  ???????   почему    ???????????
    if (bs == 2)   ClosePositions(string sy="", int op=-1, int mn=-1); //тут незакрывает  ???????   почему    ???????????
  }                                                                    // в журнале ошибки нет

  if (!ExistPositions(Simbolis,-1,mn))  
  {
    if (bs == 1) 
    {
      if (StopLoss   != 0) sl = Ask - StopLoss   * Point;
      if (TakeProfit != 0) tp = Ask + TakeProfit * Point;
      OpenPosition(Simbolis, OP_BUY, lotas);                //опен работает, то есть отрывает
    }
    if (bs == -1) 
    {
      if (StopLoss   != 0) sl = Bid + StopLoss   * Point;
      if (TakeProfit != 0) tp = Bid - TakeProfit * Point;
      OpenPosition(Simbolis, OP_SELL, lotas);               //опен работает, то есть отрывает
    }
  }
}
 
Помогите пожалуйста, локальные переменные в функции start() сбрасывают своё значение при каждом новом тике?
 
Не работает, но понятно от чего отталкиваться, большое спасибо.
 
Всем доброго дня. Подскажите можно ли в MQL4, создать форму с набором кнопок (button), что бы по событию выполнялись определенные функции.