程序库: 虚拟 - 页 2

 
这里的整个讨论主题都消失了。
 
嗯,是不小心清理掉了,还是评分点被删除了? 真遗憾,这个主题很有用。
 

我忘了有一种免费方法可以加速某些 EA。

这个 EA 就是一个例子。

#include <MT4Orders.mqh> //https://www.mql5.com/zh/code/16006
/*
#define VIRTUAL_LIMITS_TP_SLIPPAGE // 限价和止损以第一个接受价格执行 - 正滑点
#define VIRTUAL_TESTER_FAST // 这可以加快测试器中智能交易系统的运行速度。
#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/zh/code/22577
*/
input int inRange = 0;
input int inOffset = 10;

void OnTick( void )
{
  static double Offset = inOffset * _Point;
  
  MqlTick Tick;
  
  if (SymbolInfoTick(_Symbol, Tick) && Tick.bid && Tick.ask)
  {
    const double PriceHigh = NormalizeDouble(MathMax(Tick.bid + Offset, Tick.ask + _Point), _Digits);
    const double PriceLow = NormalizeDouble(MathMin(Tick.ask - Offset, Tick.bid - _Point), _Digits);
    
    bool BuyLimit = false;
    bool SellLimit = false;
    
    for (int i = OrdersTotal() - 1; i >= 0; i--)
      if (OrderSelect(i, SELECT_BY_POS))
        switch (OrderType())
        {
          case OP_BUY:
            BuyLimit = true;
            
            if (OrderTakeProfit() != PriceHigh)
              OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), PriceHigh, 0);
            break;
          case OP_SELL:
            SellLimit = true;
            
            if (OrderTakeProfit() != PriceLow)
              OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), PriceLow, 0);
            break;
          case OP_BUYLIMIT:
            BuyLimit = true;
            
            if ((OrderTakeProfit() != PriceHigh) || (OrderOpenPrice() != PriceLow))
              OrderModify(OrderTicket(), PriceLow, OrderStopLoss(), PriceHigh, 0);
            break;
          case OP_SELLLIMIT:
            SellLimit = true;
          
            if ((OrderTakeProfit() != PriceLow) || (OrderOpenPrice() != PriceHigh))
              OrderModify(OrderTicket(), PriceHigh, OrderStopLoss(), PriceLow, 0);
        }

    if (!BuyLimit)
      OrderSend(_Symbol, OP_BUYLIMIT, 1, PriceLow, 0, 0, PriceHigh);
  
    if (!SellLimit)
      OrderSend(_Symbol, OP_SELLLIMIT, 1, PriceHigh, 0, 0, PriceLow);
  }
}


优化。

在点数和实际点数模式下的优化速度。

optimization finished, total passes 6
optimization done in 9 minutes 12 seconds
shortest pass 0:01:30.359, longest pass 0:01:33.652, average pass 0:01:32.059
local 6 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


在取消注释源代码后。

optimization finished, total passes 6
optimization done in 1 minutes 54 seconds
shortest pass 0:00:18.341, longest pass 0:00:21.834, average pass 0:00:19.104
local 6 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


我们得到了五倍的免费优化加速



无虚拟。

23366361 ticks, 213919 bars generated. Environment synchronized in 0:00:00.073. Test passed in 0:04:31.191 (including ticks preprocessing 0:00:02.984).


使用虚拟

23366361 ticks, 213919 bars generated. Environment synchronized in 0:00:00.070. Test passed in 0:00:22.723 (including ticks preprocessing 0:00:03.047).


免费加速 12 倍。免费 - 在测试器中进行交易、建立图表、填写表格等。


在实践中,使用这种方法通常可以加速 10-20%。每天最多五个小时。

 
只是遗憾的是,有用的主题都被清理掉了。一开始有很多关于安装的内容。
 
fxsaber:
这里的整个讨论主题都消失了。

是的,而且主题本身也被重新创建了。它从我的收藏夹 (

 
Andrey Khatimlianskii:

对了,这个主题本身已经重新创建。它从我的收藏夹中消失了 (

这是事实,谢谢,我刚刚才注意到。

 
Andrey Khatimlianskii:

是的,这个主题本身已经重新创建。它从我的收藏夹中消失了 (

不幸的是,恢复的可能性为零。那里有很多例子和想法,我自己也时常去看。这里有一种挤压:关于圣经的知识和技能的基础。

现在全没了。我希望删除的导火索不是昨天的代码更新。你会想现在是否要更新其他圣经。

 

有备份被认为是一种良好的风度。公开解释发生故障的原因更被认为是一种良好的风度。

但所有这些,如果故障是网站的一部分,而不是用户的一部分。这里出现了一种奇怪的情况......

到目前为止,希望只在互联网档案上。

 
Stanislav Korotky:

有备份被认为是一种礼貌。公开解释事情发生的原因更是一种礼貌。

目前,唯一的希望就是互联网档案。

顺便说一句,是的,如果网络档案还活着,就应该看看,当然不是所有的网络档案,因为它们没有频繁的保存点。

 
Stanislav Korotky:

目前,唯一的希望就是互联网档案馆。

离题了。如果有人能贴出来,那就太好了。