[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 543

 
Reshetov писал(а) >>

Donde periodo1 o periodo2 insertar PERIOD_D1


Yura, no has mezclado nada.
Póngalo donde está el 0 (donde debería estar el marco temporal)
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 стоит (где должен таймфрейм стоять)


Muchas gracias, funciona
 
¿Pueden decirme cómo modificar el indicador WPR para que muestre los datos de una moneda específica en lugar de la actual? Se adjunta el código.
Archivos adjuntos:
wpr.mq4  3 kb
 
unnnamed писал(а) >>
¿Pueden decirme cómo puedo modificar el indicador WPR para que no muestre la moneda actual sino una específica? Se adjunta el código.


Prueba esta variante. No es tan bueno, por supuesto.
Archivos adjuntos:
wprr1a.mq4  3 kb
 
De todos modos, tal vez alguien intente hacer la función ClosePositions( cadena sy = "", int op = -1, int mn = -1 ) en el Asesor Experto.
EA https://www.mql5.com/ru/forum/111497/page542
Si hay un error, por favor dígame dónde

 
gince писал(а) >>
Quizás alguien intente hacer la función ClosePositions( cadena sy = "", int op = -1, int mn = -1 ) en el Asesor Experto.
EA https://www.mql5.com/ru/forum/111497/page542
Si hay un error, por favor dígame dónde



Si la pregunta es sobre mí, no me gusta analizar el código de otras personas. Si no es para mí, puede haber gente con ganas
 
Ni siquiera sé a quién acudir, sólo necesito ayuda

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);
}
Siguiente
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);               //опен работает, то есть отрывает
    }
  }
}
 
Por favor, ayuda, ¿las variables locales en la función start() restablecen su valor en cada nuevo tick?
 
No funciona, pero está claro por dónde empezar, muchas gracias.
 
Buenos días a todos. Me pueden decir si es posible crear un formulario con un conjunto de botones en MQL4, para que se ejecuten ciertas funciones en un evento.