Bibliotheken: Virtual - Seite 2

 
Der gesamte Diskussionsfaden, der hier war, ist verschwunden.
 
hmm, versehentlich aufgeräumt oder wie Bewertungspunkte entfernt? schade, nützlicher Thread.
 

Ich habe vergessen, dass es eine kostenlose Möglichkeit gibt, einige EAs zu beschleunigen.

Dieser EA ist ein Beispiel dafür.

#include <MT4Orders.mqh> // https://www.mql5.com/de/code/16006
/*
#define VIRTUAL_LIMITS_TP_SLIPPAGE // Limiter und TPs werden zum ersten Annahmepreis ausgeführt - positive Slippages
#define VIRTUAL_TESTER_FAST // Dies kann den Expert Advisor im Tester beschleunigen.
#include <fxsaber\Virtual\Virtual.mqh> // https://www.mql5.com/de/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);
  }
}


Optimierung.

Optimierung der Geschwindigkeit im Modus nach Pips und echten Ticks.

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


Nach dem Auskommentieren des Quelltextes.

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


Wir erhielten eine kostenlose Beschleunigung der Optimierung um das Fünffache.


Einzelner Durchlauf.

Ohne Virtual.

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


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


Kostenlose Beschleunigung um das 12-fache. Kostenlos - im Tester werden Trades gemacht, Charts erstellt, Tabellen ausgefüllt usw.


In der Praxis führt die Anwendung dieser Methode meist zu einer Beschleunigung von 10-20%. Das sind bis zu fünf Stunden pro Tag.

 
Es ist nur traurig, dass nützliche Threads aufgeräumt werden. Am Anfang gab es eine Menge über die Installation.
 
fxsaber:
Der gesamte Diskussionsfaden, der sich hier befand, ist verschwunden.

Ja, und der Thread selbst wurde neu erstellt. Er ist aus meinen Favoriten verschwunden (

 
Andrey Khatimlianskii:

Oh, und das Thema selbst ist neu erstellt worden. Es ist aus meinen Favoriten verschwunden (

Das ist eine Tatsache, danke, habe ich gerade bemerkt.(

 
Andrey Khatimlianskii:

Oh, und das Thema selbst ist neu erstellt worden. Es ist aus meinen Favoriten verschwunden (

Leider keine Chance auf Wiederherstellung. Es gab dort eine Menge Beispiele und Ideen, auf die ich selbst von Zeit zu Zeit zurückkam. Hier gab es eine Art Engpass: eine Basis von Wissen und Fähigkeiten über die Bibel.

Das ist alles weg. Ich hoffe, der Auslöser für die Löschung war nicht das gestrige Code-Update. Sie werden sich fragen, ob Sie jetzt andere Bibeln aktualisieren sollen.

 

Es gehört zum guten Ton, Sicherheitskopien zu haben. Noch mehr guter Ton gilt als eine öffentliche Erklärung der Gründe für das, was passiert ist.

Aber all dies, wenn der Fehler ist auf dem Teil der Website, nicht der Benutzer. Und hier zeichnet sich eine seltsame Situation ab ...

Für jetzt, Hoffnung nur auf das Internet-Archiv.

 
Stanislav Korotky:

Es gehört zum guten Ton, Backups zu haben. Noch mehr gehört es zum guten Ton, die Gründe für den Vorfall öffentlich zu erklären.

Im Moment ist die einzige Hoffnung das Internetarchiv.

Übrigens, ja, das Internetarchiv sollte man sich ansehen, wenn es noch lebt, natürlich nicht alle, sie haben keine häufigen Speicherpunkte.

 
Stanislav Korotky:

Im Moment besteht die einzige Hoffnung im Internet-Archiv.

Off-topic. Wenn es jemand veröffentlichen kann, wäre das gut.