私たちのファンページに参加してください
- ビュー:
- 1170
- 評価:
- パブリッシュ済み:
- 2018.05.17 09:44
- アップデート済み:
- 2018.08.30 13:15
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
さまざまな情報源からのティック履歴の取得を可能にするMetaTrader 4のサードパーティアプリケーションは常に高い人気を持っています。この履歴は、通常、ストラテジーテスターでのエキスパートアドバイザーの動作の確認や研究(機械学習など)のために使用されます。ユーザーが議論しているいくつかの情報源は、「グレイル(grail)」の探索においてほとんど標準となっています。
基準
このMQL5ライブラリには、ティックを比較するための基準はありません。ティックアーカイブの提案された情報源を選択する理由は説明されていません。しかし、このアーカイブはまったく新しく、完全には研究されていません。したがって、独自の評価基準を作成するには、簡単なアクションを実行します。任意の組み込みのMetaTrader 5銘柄とスクリプトで(サードパーティの真のティック履歴に基づいて)作成されたカスタム銘柄で「全ティックが実ティックに基づく 」モードを使用してエキスパートアドバイザーを実行し、得られた結果を比較します。このプロセスでは、端末またはそれ以外の追加の操作についての深い知識は必要ありません。
スクリプト
このスクリプトは、内蔵された情報源からティック履歴にアクセスし、それに基づいて適切なカスタム銘柄を作成します。
ソースコードのコメントは、その原則を部分的に説明しています。
// https://www.mql5.com/ja/code/20225 #property script_show_inputs #include <fxsaber\ThirdPartyTicks\ThirdPartyTicks.mqh> sinput bool Sync = true; // 同期 sinput string symbol = ""; // 銘柄(NULL - 現在、"AllSymbols" - 全て) THIRDPARTYTICKS ThirdPartyTicks; // 相場のローカルアーカイブへの接続 // 1銘柄 void CreateSymbol() { // 操作する銘柄の定義 const string Symb = (symbol == "") ?StringSubstr(_Symbol, 0, 6) : symbol; if (Sync) ThirdPartyTicks.Refresh(); // ティックアーカイブ源から利用できるデータを読む ThirdPartyTicks[Symb].Update(); // ローカルアーカイブと選択した銘柄の源を同期させる ThirdPartyTicks[Symb].ToCustomSymbol(true); // ローカルアーカイブに基づいてカスタム銘柄を作成する } // 全ての銘柄 void CreateAllSymbols() { if (Sync) ThirdPartyTicks.Refresh(); // ティックアーカイブ源から利用できるデータを読む const uint Amount = ThirdPartyTicks.GetAmount(); for (uint i = 0; _CS(i < Amount); i++) { ThirdPartyTicks[i]..Update(); // ローカルアーカイブと選択した銘柄の情報源を同期させる ThirdPartyTicks[i].ToCustomSymbol(); // ローカルアーカイブに基づいてカスタム銘柄を作成する</s1> } } void OnStart() { if (symbol != "AllSymbols") CreateSymbol(); else if (MessageBox("Creating all the symbols can take a long time. Do you agree?", __FILE__, MB_YESNO | MB_ICONQUESTION) == IDYES) CreateAllSymbols(); }
スクリプトの適切な操作のためには、相場情報源のアドレスを端末設定に指定する必要があります。
スクリプト操作中のアクションの詳細はログに書き込まれます。
UnZip <source_name>\EURUSD.<suffix>\EURUSD.<suffix>_20180313.csv.zip 724002 bytes - unpack size 5466504 bytes. Total Ticks (EURUSD.<suffix>) = 1645897 Corrected 3 ticks. EURUSD.<suffix>_<source_name> saved ticks = 1645897
その後で、新しいカスタム銘柄を使用してテスターでエキスパートアドバイザーを実行します。
特徴
- 標準のMQL5関数のみが使用されるため、DLLはなく、市場に適しています。
- 相場のアーカイブは、CSVファイルを含むZIPアーカイブとしてローカルマシンに保存されます。
- 相場のアーカイブは情報源と同期されており、欠けているデータだけがダウンロードされます。
- ソースファイルにはZIP及びSymbolライブラリがインクルードされます。
- このスクリプトは、インターネットに接続していないローカルのアーカイブでも動作します。
- ローカルアーカイブ内のデータは、手動で編集または追加できます。
- ファイルストレージの操作は、ディレクトリに依存しません。フォルダを作成して、そこにデータを保存することができます。
- バー履歴は、「実際のティックに基づく全てのティック」テストモードから「始値のみ」に切り替えるときの品質の最小限の損失を考慮して作成されます。取引システムはリミット注文を使用します。
- スクリプトの中核は同名のライブラリです。より面白いシナリオを作成することができます。
- ソースは最適化されておらず、教育目的で提供されています。
- ライブラリをコアとして完全に普遍的にするためには、任意の情報源や相場の形式で操作するためにに変更する必要があります。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/20225

このバージョンのMACDでは、MACD計算にEMAの代わりにハル移動平均が使用されます(元のGerald Appel版同様)。これにより、EMAバージョンよりも「高速」になり、スキャルピング技術やトレンド分析手法(長い計算時間を使用する場合)に適すようになります。

2つのiMA(移動平均、MA)と1つのiRSI(相対強度指数、RSI)に基づくエキスパートアドバイザーです。仮想利益が追跡され、2つの銘柄で動作します。

このバージョンのストキャスティクスでは、ストキャスティクスの計算に使用する前に価格が平滑化されることによって、誤ったアラートの数が減少します。これによって、トレンド取引システムに簡単に使用できるような滑らかなストキャスティクスがもたらされます。

この非常によく知られているRSI of averageは、メインループ内の3行のコード(これらの行にRSIスロープ変更の色割り当てが含まれています)ですべて作成されます。他の指標のテンプレートとしての使用が可能で、MetaTrader 5ではすべてが非常に複雑であると考える人には簡潔化のソリューションとなるでしょう。