市场:没有交易业务 - 页 5

 
Alexey Viktorov:

是我错过了,还是没有人说明你所说的多币种EA是什么意思?

是否有可能将一个只能在它所投放的货币对上交易的EA称为多货币,即使它可以在不同的货币对上交易?

我们如何在MT4测试器中谈及多币种?

好吧,我有一个多货币的EA,放在一个图表上,交易几个符号,两个平台的代码是一样的。但如果我在MT4测试器中运行,它只交易一对,如果我在网上运行,它交易所有的对。这些条件都写在那里。

 
Vitaly Muzichenko:

好吧,我的多货币是放在一个图表上的东西,交易几个符号,两个平台的代码是一样的。但如果你在MT4测试器中运行,它只交易一对,而如果你在网上运行,它交易所有的对。那里规定了条件。


所以应该不会有什么问题。

我对此没有问题,它是同样的多货币,它通过了测试。

而没有交易活动可能是在测试人员的心情:-)- 我不知道他是否有好心情(即提神、睡觉、休息一天),但他可能不会做任何手术。

尝试不同的传播方式或等待一天就足够了,它又跳过了一切的情绪。

 
Vladislav Andruschenko:


那么,这应该不会有问题。

相同的多币种,通过测试。

而没有交易操作可能是来自于测试人员的心情:-)- 我不知道他是否心情不好(即提神、睡觉、休息一天),他没有做任何交易。

我尝试另一种传播方式或等待一天,它又跳过了一切情绪。

正在进行我的第10次尝试,减少了代码中的检查。到目前为止,没有任何结果,当然有很多检查 - 我想我禁用了所有的检查。

 
Vitaly Muzichenko:

这是第10次尝试,减少了代码中的检查。到目前为止还没有结果,当然有很多检查 - 我想我已经把它们都关掉了。

你是否尝试过改变传播和配对?

从网站上的文章中检查?
 
Vladislav Andruschenko:

你是否尝试过改变传播和配对?

我怎样才能从网站上的文章中查到支票?

到目前为止,这就是全部,没有任何东西消失,我在OrderSend(...)中直接规定了很多。

我将制作一个具有最小功能的单独文件,并将尝试添加它,从而找到问题所在,否则我将通过剪除碎片来破坏一个正在运行的EA)

 
Vitaly Muzichenko:

现在就这样了,没有任何效果,我直接在OrderSend(...)中写了很多。

我将制作一个具有最小功能的单独文件,并将尝试添加它,从而找到问题所在,否则我将通过剪除碎片来破坏一个正在运行的EA)

在这里。在这里。我以前也做过同样的事情。切出碎片。把它弄坏了,忘记了我做了什么。而事实证明,测试者只是没有心情。)))
 
Vitaly Muzichenko:

好吧,我的多货币是放在一个图表上的东西,交易几个符号,两个平台的代码是一样的。但如果你在MT4测试器中运行,它只交易一对,而如果你在网上运行,它交易所有的对。那里规定了条件。

我问的是Maxim的EA。

我认为,在不久的将来,每当有 "多货币 "这个词时,都应该问这个问题......因为很多人认为,多币种EA可以放在任何货币对上,它就可以交易。

 
Evgeny Belyaev:

如果该地段小于允许的最低限度,那么我们将把该地段等同于允许的最低限度。尊敬的是,如果它更大,EA将以更大的手数进行交易。

不需要进行测试员检查。

也不要忘记其他所有的检查。利润率,正常化...

维塔利很久以前就指出了你的错误,但你没有找到错误,而只是在咆哮。

如果你在开仓时 使用简单的EA,它可能会在每个tick上都下一个订单。你不需要任何其他交易逻辑。检查你所有的检查功能。如果它通过了检查,则一切正常,如果它失败了,则检查每一行的代码。应该理解的是,验证器可以将设置中的任何手数设置为0或负数,在这种情况下,如果有足够的保证金,机器人应该在测试期间进行交易。

PS 最好是在MQ服务器上检查,因为验证器在该服务器上检查。
bool CheckVolumeValue(double volume)
{
   double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
   if(volume<min_volume)
   {
      Print("Volume is less than the minimum");
      return(false);
   }

   double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
   if(volume>max_volume)
   {
      Print("Volume is greater than the maximum");
      return(false);
   }

   double volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);

   int ratio=(int)MathRound(volume/volume_step);
   if(MathAbs(ratio*volume_step-volume)>0.0000001)
   {
      Print("Wrong lot size");
      return(false);
   }
     
   if(volume*MarketInfo(Symbol(),MODE_MARGINREQUIRED)>AccountEquity())
   {
      Print("Trade stop is not enough free margin to begin");
      Comment("Trade stop is not enough free margin to begin");
      return(false);
   }
   if(volume<MarketInfo(Symbol(),MODE_MINLOT))
   {
      Print("Trade stop invalid lot size");
      Comment("Trade stop invalid lot size"); 
      return(false);
   }
   return(true);
}
if(!CheckVolumeValue(lt))return;   
   if(!OrderSend(Symbol(),cmd,NormalizeDouble(lt,2),NormalizeDouble(priceStep,Digits()),Slippage,0,0,"",magic,0))

你可能没有注意到,我曾经展示过验证器--没能通过测试......

额外的

 if(IsTesting())lоt=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);

明白了。

自动产品测试成功完成。

版本测试已成功通过。你现在可以提交给版主验证。

那么,你刚才说的是什么......?

 
Alexey Viktorov:

我问的是Maxim的EA。

我认为,在不久的将来,每当有 "多货币 "这个词时,都应该问这个问题......因为很多人认为,多币种EA可以放在任何货币对上,它就可以交易。

我根本就有一个网友,从来没有一个多币种,我没有写过这样的东西...

 
Maksim Neimerik:

我根本就是一个网民,从来没有做过妈妈,我没有写过这样的东西...

这很好。我也没有读过这个。所以这是一个帝国主义的阴谋))))