[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 48

 
TarasBY:
你是在说 "考虑 "和DC吗?;)

这与华盛顿特区没有关系。
 

我一直在玩我写的一个相当不复杂的专家顾问。但我决定在我的专家中增加的不是一个而是几个进入市场的信号。但我希望每个信号 只有一个订单 可以进入市场。

事情的经过如下。我发明了用 "魔法 "来划定订单的范围。对订单的搜索将看起来像这样。

//+-------------------------------------------------------------------------------------+
//| Поиск своих ордеров                                                                  |
//+-------------------------------------------------------------------------------------+
int FindOrders(int magic)
{
  int t;                                                 // Количество открытых позиции (buy's + sell's)
  int total = OrdersTotal() - 1;
  
  for(int i=total; i>=0; i--)
  {
    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderMagicNumber() == magic && OrderSymbol() == Symbol())
      {
        t++;
      }
  }
  
  return(t);
}

接下来......我们需要为每个信号类型开立具有其自身魔力的订单。例如,对于销售,我以前是这样做的。

//+-------------------------------------------------------------------------------------+
//| Открытие коротких позиций                                                           |
//+-------------------------------------------------------------------------------------+
bool OpenSell()
{
  int ticket = -1;
  string myNote = "Сов шортанул";
  
  ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,magic,0,Red);
    return(true);
  
  return(false);
}

这时,我决定使用switch 运算符,在这种情况下使用这个运算符是否合理?

//+-------------------------------------------------------------------------------------+
//| Открытие коротких позиций                                                           |
//+-------------------------------------------------------------------------------------+
bool OpenSell()
{
  int ticket = -1;
  string myNote = "Сов шортанул";
  
    switch(maState)
  {
    case 4:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic6,0,Red); break;
    case 5:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic25,0,Red); break;
    case 6:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic150,0,Red); break;
    case 7:    ticket = OrderSend(Symbol(),OP_SELL,0.1,Bid,i_slippage,0,0,myNote,i_myMagic250,0,Red); break;
    default:   return(false);
  }
    return(true);
}

而这就是交易功能的模样。

//+-------------------------------------------------------------------------------------+
//| Открытие позиций                                                                    |
//+-------------------------------------------------------------------------------------+
bool Trade(int signal)
{
  if(signal == SIGNAL_BUY && FindOrders() == 0)
    if(!OpenBuy())
    return(false);
  
  if(signal == SIGNAL_SELL && FindOrders() == 0)
    if(!OpenSell())
    return(false);
    
  return(true);
}

我是否也应该在这里通过开关 运算符来实现它?我想把Magic通过正式参数传递FindOrders() 函数,但我不知道怎么做。

 
你好。你能不能计算出一个交叉汇率的可能损失,例如GBPCHF,开一个1手的订单,放一个50点的止损。据我所知,点值取决于基础货币,未来会显示什么是未知的。
 

1手GBPCHG(如果我没记错的话)的1个点的价值是8美元。因此,如果价格对你不利,并且触发了止损,将记录约50美元*8=-400美元 的损失。

而且必须加上上升-下降价差的损失(6-8点)...
 
因此,项目的成本每次都在变化
 

关于MT4的问题。我已经对EA进行了很长时间的测试和优化(几天时间)。

一切都很好。然后突然间,当我运行EA时,它开始在每个柱子上显示进入,并立即退出,简而言之,它不是一个策略,但鬼知道是什么!这是不可能的。

可能是在某个地方,设置上出了问题。它在哪里,会是什么呢?帮助。plz....

 
Caesar34:
你好...你能告诉我,当设置不允许这样做时,如何使MA或EMA的周期为负值?? 在MT4中
垃圾邮件?
 
Caesar34:


不!!!。
那为什么要在几个主题中发一个问题的帖子?
 

iLow 查询返回一个小数点后4位的值,尽管图形有5位小数。

因为这个,第一个mql4程序的开发被卡住了。 你能告诉我可能是什么问题吗?或者也许应该是这样?

 
PolarsLynx:

iLow 查询返回一个小数点后4位的值,尽管图形有5位小数。

因为这个,第一个mql4程序的开发被卡住了。 你能告诉我可能是什么问题吗?或者也许应该是这样?

代码在哪里?