初学者的问题 MQL5 MT5 MetaTrader 5 - 页 509

 
Aleksey Stukalov:
追踪止损有什么问题?它已经内置于终端。
试试吧,你会明白的
 

请好心人帮助编译EA,我不擅长编程。

这是我在编译'delete'时得到的错误--预期的名称

代码中的错误以红色显示

空白删除(int type){

如果(OrdersTotal()>0){

for(i=OrdersTotal()-1;i>=0;i--){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES)。

if(type!=6 && type!=7 && type!=8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType() ==type)OrderDelete(OrderTicket();

如果(type==6)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic &&)OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket())。

if(type==7)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)OrderDelete(OrderTicket() )。

if(type==8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket())。

}

}

}


这里有另一个错误'(' - 预期的对象指针

如果(反对删除){删除(OP_SELLSTOP);删除(OP_SELLLIMIT);}。

而这里的'}'- 不是所有的控制路径都会返回一个值

int countglobal(){

int cnt=0。

如果(OrdersTotal()>0){

for(i=OrdersTotal()-1;i>=0;i--){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES)。

cnt++。

}

return(cnt)。

}

}

 
Anton Razmyslov:

请好心人帮助编译EA,我不擅长编程。

这是我在编译'delete'时得到的错误--预期的名称

代码中的错误以红色显示

空白删除(int type){。

..............

它说不能这样调用,你应该用其他的名字调用这个函数。

和这个 "不是所有的控制路径都会返回一个值",关于函数没有返回路径和没有返回值,在函数的最后一个"}"之前写上return(0);。

 
Спасибо большое!
 
Tema97:
大家下午好)分享移动止损 的代码--推动价格))))预先感谢
//---------------------------------
void Trailing3(int Mag,string Symb,int Dist,int Shag,bool Isp_shag,bool Isp_bezubitok)
  {
   double dist=0,shag;
   if(Digits==3 || Digits==5)
      dist=Dist*10*Point; shag=Shag*10*Point;
   if(Digits==2 || Digits==4)
      dist=Dist*Point; shag=Shag*Point;

   for(int pos=OrdersTotal()-1; pos>=0; pos--)
     {
      int res=OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
      if(OrderMagicNumber()==Mag && OrderSymbol()==Symb)
        {
         if(OrderType()==OP_BUY)
           {
            if(!Isp_shag && !Isp_bezubitok && NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(Isp_shag && !Isp_bezubitok && NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(!Isp_shag && Isp_bezubitok && NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(OrderOpenPrice(),Digits) && 
               NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
            if(Isp_shag && Isp_bezubitok && NormalizeDouble(Bid-OrderOpenPrice(),Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(Bid-OrderStopLoss(),Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Bid-dist,OrderTakeProfit(),0,clrTeal);
           }
         else  if(OrderType()==OP_SELL)
           {
            if(!Isp_shag && !Isp_bezubitok && NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(Isp_shag && !Isp_bezubitok && NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(!Isp_shag && Isp_bezubitok && NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && 
               NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
            if(Isp_shag && Isp_bezubitok && NormalizeDouble(OrderOpenPrice()-Ask,Digits)>=NormalizeDouble(shag,Digits) && 
               NormalizeDouble(OrderStopLoss(),Digits)>NormalizeDouble(OrderOpenPrice(),Digits) && NormalizeDouble(OrderStopLoss()-Ask,Digits)>NormalizeDouble(dist,Digits))
               OrderModifyX3(OrderTicket(),0,Ask+dist,OrderTakeProfit(),0,clrCrimson);
           }
        }
     }

  }
//-----------------------------------------------
 
大家好!下载了MT4,策略测试器 从2015年12月才开始工作,谁知道如何拉拢终端?
 
olleg.1:
大家好!下载了MT4,策略测试器 从2015年12月才开始工作,谁知道如何修补终端?
下载所需仪器的报价。服务 - 报价档案。
 
谢谢你!
 

大家好!

请您告诉我如何在EA中以更简单、更正确的方式实现检查输入变量 是否在范围内的可能性。比如说。

a) 多于10个,但少于20个

b) 多于20个或少于10个

c)等。

ZS:到目前为止,我们有3个值来检查每个变量:开关的情况(大于/小于/大于,但小于/小于或大于)和两个值。我想你可以循环这个结构,并通过所有的变量...这是正确的方向吗?

 
Антон:

大家好!

请您告诉我如何在EA中实现检查输入变量 是否在范围内的可能性。比如说。

a) 多于10个,但少于20个

b) 多于20个或少于10个

c)等。

ZS:到目前为止,我们有3个值来检查每个变量:开关的情况(大于/小于/大于,但小于/小于或大于)和两个值。我想你可以循环这个结构,并通过所有的变量...这是正确的方向吗?

哪些变量需要循环?给我代码或写得更清楚