このクロスプラット フォームは、最も簡単な方法で仮想トレード環境の操作をすることができます。
このライブラリでは、あたかも実際のトレード環境に仮想トレード環境を作成することができます。 提供されたクロスプラット フォームライブラリは重要なプロパティがありますが、このライブラリ関数は新しくありません。そのため、使用法を勉強する必要はありません。 MetaTrader4 の(MetaTrader5ではありません) トレードロジックで十分です。
MetaTrader4 のトレードロジックは、より使いやすく、クロスプラット フォームのEAを開発できるので、仮想トレードに選ばれました。
このライブラリ関数は、事前に準備された例によって伝統的に発揮できます。
// Launching TS in real and virtual trading environments #include <MT4Orders.mqh> // https://www.mql5.com/en/code/16006 #include <fxsaber\Virtual\Virtual.mqh> // Virtual trading environment input double Lots = 1; input int Interval = 100; // Position lifetime input bool Example = true; // What code example to select // Reversal TS void System() { if (!OrderSelect(OrdersTotal() - 1, SELECT_BY_POS)) OrderSend(_Symbol, OP_BUY, Lots, SymbolInfoDouble(_Symbol, SYMBOL_ASK), 100, 0, 0); // If there is no position, open one else if (TimeCurrent() - OrderOpenTime() > Interval) // If the position lifetime exceeds the specified time { // Reverse the position OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 100); OrderSend(_Symbol, 1 - OrderType(), Lots, OrderClosePrice(), 100, 0, 0); } } void OnTick() { static const int handle = VIRTUAL::Create(); // Virtual trading environment handle created. 0 - real trading environment if (Example) { if (VIRTUAL::SelectByHandle()) // Real trading environment selected System(); // Launching TS on a selected trading environment (real) if (VIRTUAL::SelectByHandle(handle)) // Virtual trading environment selected { VIRTUAL::NewTick(); // Added tick to the virtual trading environment System(); // Launching TS on a selected trading environment (virtual) } } else // Alternative fixation of the same actions. // Move along all existing trading environments for (int i = 0; i <= VIRTUAL::Total(); i++) if (VIRTUAL::SelectByIndex(i)) // Selected appropriate trading environment { VIRTUAL::NewTick(); // Added tick to a selected trading environment System(); // Launching TS on a selected trading environment } Comment(VIRTUAL::ToString()); // Display the status of the virtual trading environment on the chart }
これが、クロスプラット フォーム反転EAです。 MetaTrader4スタイルのおかげで、わずかな文字 (System 関数) でトレードロジックを記述できます。 このEAは、現実トレード環境と仮想トレード環境で 同時に起動します。 これは、MetaTrader4 や MetaTrader5 テスター (CTRL + F5) で見ることができます。

このスクリーン ショットは、リアル環境とバーチャル環境でトレードが同じであることを示します。
TS コードは変わりません。 トレード環境だけが選択されています。
ここに表示されるコードは冗長です。 2 つのバージョンは、ライブラリを操作のロジックを表示します。
テスターの加速シナリオ (p 5) が他のものより多く必要なので、仮想環境とコードの先頭の 2 つの文字列を追加することによって、任意の TS を切り替える関数を追加しました。
#define VIRTUAL_TESTER // Launch in the virtual trading environment #include <fxsaber\Virtual\Virtual.mqh> // Virtual trading environment
強調表示された文字列は、TS の元のコードに干渉しないようにできます。

このモードは、テスター用にしました。 リアル環境の代わりに仮想環境を有効にした状態で (VirtualTester = true) 長期的な最適化が開始されたことを表します。 最適化の速度 (時間) の大幅な向上がみられます。 得られた結果(OnTester criterion - Balance)は、実際の取引環境で標準的な実行ができます (VirtualTester = false)。
テスターの加速を意図した同じの 2 つの文字列は、別の一般的な問題 - TS 反転を解決することができます。

ReverseDEAls = trueモードは、取引の反転ができます。 内部のアルゴリズムは次のとおりです。
したがって、EAのロジックはどのような方法でも違反していません。 同時に、TS 反転を見ることができます。 このモードは、テスターにもあります。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/22577
MAMy Expert
MAMy v.3 インジケータベースのEA
TrendLinEAlert_V2
このインジケータには、スロープトレンド ラインが表示されます。 そのパラメータは、トレーダーによってインジケータが起動されるときに設定されます。 トレンド ラインは、シグナルトリガー レベルを定義します。 トレンド ラインのブレイクスルーのメールとプッシュ通知を伴うシグナルをアクティブにします。