[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 543

 
Reshetov писал(а)>>

凡周期1或周期2插入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 ) 函数。
EAhttps://www.mql5.com/ru/forum/111497/page542
如果有错误,请告诉我在哪里。

 
gince писал(а)>>
也许有人会尝试在专家顾问中制作ClosePositions( string sy = "", int op = -1, int mn = -1 ) 函数。
EAhttps://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中创建一个带有一组按钮的表单,这样就可以在事件中执行某些功能
原因: