[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 593

 
Dimka-novitsek:
对不起,什么定界符?


句号和逗号。那么,列表的定界符是不同的,逗号和分号。

尝试用正确的分隔符导入。或者用正确的分隔符重做区域设置。祝好运

 
谢谢!!!! 是的,那里有一个点。 你如何将区域设置改为正确的分隔符?
 
你应该按照什么顺序安装Ganzilla软件?或者我应该在适当的主题中发帖?
 
Dimka-novitsek:
谢谢!!!! 是的,那里有一个点。 你如何将区域设置改为正确的分隔符?
为什么要触摸区域设置?这就是为什么它们是区域性的,因为它们只设置一次。设置是在EXCEL中。你也可以查看FAC。有一个关于这些分离器的最后一个帖子。
 

谢谢!!!

对不起,你能给我一个关于这些定界符的最后一个帖子的链接吗!?

谷歌、Yandexed--试图通过Home-number-number格式来应用数字格式,但没有任何结果。不要手动覆盖zapatye的四百个点!强大和聪明的表现,但哑巴!

呃,我开采了!

 
Dimka-novitsek:

谢谢!!!

对不起,你能给我一个关于这些隔板的最后一个帖子的链接吗!?

https://www.mql5.com/ru/forum/131853/page5
 
谢谢你!!!。
 

我有一个简单的问题,但我仍然不明白关闭多个订单的本质。)

请解释一下,为什么第一个变体的代码与第二个变体的工作方式相同(在第一个变体中,通过select_by_pos,所有4个未平仓的交易都通过第0个指数被关闭,但在第二个变体中,第1和第2、第3和第4个指数被关闭)。

我需要一些有用的手册或其他东西,看看人们是如何关闭订单的,这样他们就不会错过,或者一本关于如何正确关闭订单以及select_by_pos如何工作的手册),因为我可以看到到处都是一些截断的例子,在帮助中没有关于其使用的例子。)

我可以给你一个很好的关于MQL4编程的视频教程)。

方案1(在这个变体中,所有4个未结订单在测试期间都被关闭,尽管所有4个订单在关闭时都被选择为指数0)。


OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);

OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL)。

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket() ,OrderLots() ,Bid,5) 。
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)
{
OrderClose(OrderTicket() ,OrderLots(),Bid,5) ;

}

第二种方案(所有4笔交易在此也被关闭,但指数1、2、3和4)。


OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);
OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL);

OrderSend(Symbol(),OP_BUY,1,Bid,5,NULL,NULL)。

if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket() ,OrderLots() ,Bid,5) 。
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(OrderTicket(),OrderLots(),Bid,5);
}
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)
{
OrderClose(OrderTicket() ,OrderLots(),Bid,5) ;

}


 

晚上好,我在为一个多货币MACD专家顾问寻求帮助。EA正确地遵循了开仓 标准,但 "在条件下 "的平仓并不成功。我当然已经开始使用追踪止损,但正确的收盘并没有让我休息。

//+------------------------------------------------------------------+
string lSymbol;
int init ()
{ 
 lSymbol = Symbol();
 return (0);
}
int deinit()
{return(0);}
int start()
  {
   double MacdCurrent, MacdPrevious, SignalCurrent;
   double SignalPrevious, MaCurrent, MaPrevious;
   double bid, ask, point, digits;
   int cnt, ticket, total;
   
  total = SymbolOrdersTotal (lSymbol);
  
  if (total<1);
  {
    bid   = MarketInfo(lSymbol,MODE_BID);
    ask   = MarketInfo(lSymbol,MODE_ASK);
    point = MarketInfo(lSymbol,MODE_POINT);
    digits= MarketInfo(lSymbol,MODE_DIGITS);

这就是主要部分的模样

 for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   // check for opened position 
         OrderSymbol()==lSymbol())  // check for symbol
        {
         if(OrderType()==OP_BUY)   // long position is opened
           {
            // should it be closed?
            if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
               MacdCurrent>(MACDCloseLevel*point))
                {
                 OrderClose(OrderTicket(),OrderLots(),bid,3,Violet); // close position
                 return(0); // exit
                }
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if(bid-OrderOpenPrice()>point*TrailingStop)
                 {
                  if(OrderStopLoss()<bid-point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),bid-point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else // go to short position
           {
            // should it be closed?
            if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
               MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*point))
              {
               OrderClose(OrderTicket(),OrderLots(),ask,3,Violet); // close position
               return(0); // exit
              }
            // check for trailing stop
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-ask)>(point*TrailingStop))
                 {
                  if((OrderStopLoss()>(ask+point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),ask+point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                }
              }
           }
        }
     }
   return(0);
  }
  
   
  int SymbolOrdersTotal(string lSymbol)
{
   int Res=0;
   int total=OrdersTotal();
   for (int i=0;i<total;i++) 
   {
      if (OrderSelect(i, SELECT_BY_POS))
      {
         if (OrderSymbol()==lSymbol)
         {
            Res++;
         }
      }
   }
   return(Res);
}
// the end.

而这是一个封闭的街区。请帮助我找到这个错误!

 
Vinin:

该目录是否存在?


是的,都在专家文件夹中...并在测试者文件夹中。

但是截图还是不能用。

原因: