ライブラリ: Virtual - ページ 2

 
ここにあったディスカッションのスレッドはすべて消えてしまった。
 
うーん、偶然に削除されたのか、それとも評価ポイントが削除されたのか?
 

いくつかのEAを高速化する無料の方法を忘れていた。

このEAはその一例です。

#include <MT4Orders.mqh> //https://www.mql5.com/ja/code/16006
/*
#define VIRTUAL_LIMITS_TP_SLIPPAGE // リミッターとTPは最初の受入価格で執行される - 正のスリッページ
#define VIRTUAL_TESTER_FAST // テスターのExpert Advisorを高速化します。
#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/ja/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%)


私たちは最適化を 5倍高速化する ことができました。


シングルパス。

バーチャルなし。

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).


Virtualあり。

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倍の加速。無料 - Testerで取引が行われ、チャートが作成され、テーブルが埋められる。


実際には、この方法で10-20%の加速が得られることが多い。これは1日5時間まで。

 
有用なスレッドが一掃されていくのは悲しいことだ。最初の頃はインストールに関することがたくさんあった。
 
fxsaber:
ここにあったディスカッション・スレッド全体が消えてしまった。

はい、スレッド自体も再作成されました。私のお気に入りから消えた(

 
Andrey Khatimlianskii:

そう、そしてこのトピック自体も再作成された。お気に入りから消えた(

それは事実です、ありがとうございます、今気づきました(

 
Andrey Khatimlianskii:

それと、このトピック自体も作り直しました。お気に入りから消えてしまった(

残念ながら、復活の可能性はゼロだ。そこにはたくさんの例やアイデアがあり、私自身も時々見返していた。ここには、聖書に関する知識や技術のベースという、一種のスクイーズがあった。

それがすべてなくなってしまった。削除のきっかけが昨日のコード更新でないことを祈る。これから他のバイブルを更新するかどうか悩むだろう。

 

バックアップを取ることはマナーである。さらに良いトーンは、何が起こったかの理由を公に説明することと考えられている。

しかし、このすべては、障害がユーザーではなく、サイトの側にある場合。そしてここで奇妙な状況が迫っている...

今のところ、インターネットアーカイブにのみ期待しています。

 
Stanislav Korotky:

バックアップを取ることはマナーである。起こったことの理由を公に説明するのは、さらに良いマナーである。

今のところ、唯一の希望はインターネット・アーカイブである。

ちなみに、そう、ウェブアーカイブはまだ生きていれば見るべきだ。もちろん、すべてではないが、彼らは頻繁にセーブポイントを持っているわけではない。

 
Stanislav Korotky:

今のところ、唯一の希望はインターネット・アーカイブだ。

オフトピック。どなたか貼っていただけるとうれしいです。