[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 13

 
你好!请你告诉我如何在EA中做一个跟踪止损或盈亏平衡点,它与EA分开使用效果很好,但不能与一个EA结合?
 
paukas:

明白了,谢谢你。我还能怎么写这个条件呢?我需要它只有在有利润的情况下才关闭一切。
 
todem:
你好!请你告诉我如何在EA中做一个跟踪止损或盈亏平衡点,它与EA分开使用效果很好,但不能与一个EA结合使用?
//-------------------------------------------------------------------+
extern bool   Trailing       = True;
extern int    MinProfit      = 55;
extern int    TrailingStop   = 5;
extern int    TrailingStep   = 1;
//-------------------------------------------------------------------+
extern bool   LossKiller     = True;
extern int    MinProfitB     = 21;
extern int    KillLossLevel  = 16;
//-------------------------------------------------------------------+
int start()
  {
//----
   if(LossKiller) KillLoss();
   if(Trailing) TrailPositions();
//+------------------------------------------------------------------+
//|-----------------------// Trail positions //----------------------+
//+------------------------------------------------------------------+
void TrailPositions()
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++)
  {
    if (!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if (OrderSymbol() != Symbol()) continue;
    {    
      if (OrderType() == OP_BUY && OrderMagicNumber() == Magic)  
      {
        if (Bid-OrderOpenPrice() > MinProfit*Point) 
        {
          if (OrderStopLoss() < Bid-(TrailingStop+TrailingStep-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(), Bid-TrailingStop*Point,OrderTakeProfit(), 0, Gold);           
          }
        }
      }   
      if (OrderType() == OP_SELL && OrderMagicNumber() == Magic)  
      {
        if (OrderOpenPrice()-Ask > MinProfit*Point) 
        {
          if (OrderStopLoss() > Ask+(TrailingStop+TrailingStep-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(), Ask+TrailingStop*Point,OrderTakeProfit(), 0, Gold);           
          }
        }
      }   
    }   
  }  
}
//+------------------------------------------------------------------+
//|--------------------------// KillLoss //--------------------------+
//+------------------------------------------------------------------+
void KillLoss()
{
  int Orders = OrdersTotal();
  for (int i=0; i<Orders; i++)
  {
    if(!(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))) continue;
    if(OrderSymbol() != Symbol()) continue;
    {    
      if(OrderType()==OP_BUY && (OrderStopLoss()<OrderOpenPrice() || OrderStopLoss()==0) && OrderMagicNumber()==Magic)
      {
        if(Bid-OrderOpenPrice() > MinProfitB*Point) 
        {
          if(OrderStopLoss() < Bid-(KillLossLevel-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice()+KillLossLevel*Point,OrderTakeProfit(), 0, Gold);          
          }
        }
      }        
      if(OrderType()==OP_SELL && (OrderStopLoss()>OrderOpenPrice() || OrderStopLoss()==0) && OrderMagicNumber()==Magic)
      {
        if(OrderOpenPrice()-Ask > MinProfitB*Point) 
        {
          if(OrderStopLoss() > Ask+(KillLossLevel-1)*Point) 
          {
          OrderModify(OrderTicket(), OrderOpenPrice(),OrderOpenPrice()-KillLossLevel*Point,OrderTakeProfit(), 0, Gold);          
          }
        }
      }   
    }   
  }  
}
//+------------------------------------------------------------------+
 
rustein:
帮助修复,没有关闭所有的开放位置...

谢谢你。


哪些是不会关闭的?

如果他们输了,那也没关系

 
VINAR:


哪些是不会关闭的?

如果他们无利可图,那也没关系

只有一个是有利可图的 :)为什么?谢谢你。

我在论坛上搜索了一下。但我不明白...

 
Doberman101:

问候。

帮我写一份EA。

恭敬地说。

人们应该急于提出建议--每个人都有自己的...他们甚至还没有决定在哪个TS的基础上你需要一个顾问......以及为什么他们没有去 "Joba"...:))

如果你需要帮助写代码(或者,最好是理解代码),我们欢迎你,但如果...那么...对工作...:)))

 
artmedia70:

人们应该急于提出建议--每个人都有自己的...他们甚至还没有决定在哪个TC的基础上需要一个顾问......。以及为什么他们没有去找 "工作"...:))

如果你需要帮助写代码(或者,最好是理解代码),我们欢迎你,但如果...那么...对工作...:)))

阿特姆,都拿出来吧?

只有提问者需要别的东西。

议员现在没有梅花和权利。

 
rustein:

只有一个是有利可图的 :)为什么?谢谢。

我在论坛上搜索了一下。但没有搞清楚...


AccountProfit() 返回当前账户的基础货币 利润值。

当第一个盈利的被关闭时,显然,AccountProfit()变得小于0了

例如,你可以这样写。

void CloseAllOrders()
{
  if(AccountProfit() > 0)
    for(int i=OrdersTotal()-1;i>=0;i--)
    {
      RefreshRates();
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
        if(OrderType()== OP_BUY) 
           OrderClose (OrderTicket(),OrderLots(),NormalizeDouble(Bid,Digits),10,CLR_NONE);
        if(OrderType()== OP_SELL)
           OrderClose (OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),10,CLR_NONE);
      }
    }  
    return(0);
}
 
artmedia70:

人们应该急于提出建议--每个人都有自己的...他们甚至还没有决定在哪个TC的基础上需要一个顾问......。以及为什么他们没有去找 "工作"...:))

如果你需要帮助写代码(或者,最好是理解代码),欢迎你,但如果 ...那么...对工作...:)))


为什么有如此消极的反应?一个成年男子......在生活中没有人教你尊重?

这就是争端的结束。我尊重长辈,无论他们多么 "腐朽"。

 
VINAR:

阿特姆,你把所有东西都拿出来了吗?

只有提问者需要别的东西。

议员现在没有梅花和权利。


我请人帮忙写代码...

你从哪里读到我需要 "EA不耗费和现在 "的说法?