[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 543

 
Reshetov писал(а) >>

Dove periodo1 o periodo2 inserire PERIOD_D1


Yura, non hai confuso nulla.
Mettilo dove c'è 0 (dove dovrebbe esserci il timeframe)
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 стоит (где должен таймфрейм стоять)


Grazie mille, funziona
 
Potete dirmi come posso modificare l'indicatore WPR per mostrare i dati di una specifica valuta invece di quella corrente? Il codice è allegato.
File:
wpr.mq4  3 kb
 
unnnamed писал(а) >>
Potete dirmi come posso modificare l'indicatore WPR per mostrare non la valuta corrente ma una specifica? Il codice è allegato.


Prova questa variante. Non è così buono, naturalmente.
File:
wprr1a.mq4  3 kb
 
Comunque, forse qualcuno proverà a fare la funzione ClosePositions( string sy = "", int op = -1, int mn = -1 ) nell'Expert Advisor.
EA https://www.mql5.com/ru/forum/111497/page542
Se c'è un errore, per favore ditemi dove

 
gince писал(а) >>
Forse qualcuno proverà a fare la funzione ClosePositions( string sy = "", int op = -1, int mn = -1 ) nell'Expert Advisor.
EA https://www.mql5.com/ru/forum/111497/page542
Se c'è un errore, per favore ditemi dove



Se la domanda riguarda me, non mi piace analizzare il codice degli altri. Se non dipende da me, allora forse ci sarà qualche desideroso
 
Non so nemmeno a chi rivolgermi, ho solo bisogno di aiuto

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);
}
Prossimo
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);               //опен работает, то есть отрывает
    }
  }
}
 
Per favore aiutatemi, le variabili locali nella funzione start() resettano il loro valore ad ogni nuovo tick?
 
Non funziona, ma è chiaro da dove iniziare, grazie mille.
 
Buona giornata a tutti. Potete dirmi se è possibile creare un modulo con una serie di pulsanti in MQL4, in modo che certe funzioni possano essere eseguite su un evento.