しかし、mt5のストラテジー・テスターはそのティック・データでは動作しません。:(
ティックデータからMT5用の人工的なシンボルを作成するスクリプトをコーディングして、この人工的なシンボル(複数可)をテストし、1つのローカルティックデータで最適化できるようにしていただけませんか?
== グーグル翻訳
しかし、MT5のストラテジー・テスターはティック・データでは動作しません。 :(MT5 用の人工シンボルをティックデータから作成し、この人工シンボルを自分のローカルのティックデータを使用してテストおよび最適化できるようにするスクリプトをコーディングしていただけませんか?
//https://www.mql5.com/ja/code/20225 #include <fxsaber\ThirdPartyTicks\Web.mqh> #include <fxsaber\ThirdPartyTicks\String.mqh> #include <fxsaber\ThirdPartyTicks\Data.mqh> struct SYMBOL_PROFILE { string Name; double BuyLots; double SellLots; bool operator ==( const SYMBOL_PROFILE &Value) const { return(this.Name == Value.Name); } string ToString( void ) const { return(this.Name + " +" + ::DoubleToString(this.BuyLots, 2) + " -" + ::DoubleToString(this.SellLots, 2)); } }; class SYMBOLS_PROFILE : public DATA<SYMBOL_PROFILE > { private: static const uchar CensoredURL[]; public: SYMBOLS_PROFILE( const string URL = NULL ) { uchar Bytes[]; if (WEB::Get(Bytes, (URL == NULL) ? ::CharArrayToString(SYMBOLS_PROFILE::CensoredURL) : URL)) { string Str = ::CharArrayToString(Bytes); STRING::Between(Str, "<tbody>", "</tbody"); STRING::Between(Str, "<tbody>", "</tbody"); Str = STRING::Between(Str, "<tbody>", "</tbody"); SYMBOL_PROFILE SymbProfile; while (::StringLen(Str) > 400) { SymbProfile.Name = STRING::Between(Str, "<td width=\"10%\">", "</td>"); SymbProfile.BuyLots = (double)STRING::Between(Str, "<span>", "</span>"); SymbProfile.SellLots = (double)STRING::Between(Str, "<span>", "</span>"); this.Add(SymbProfile); } } } string ToString(void ) const { string Res = NULL; const uint Size = this.GetAmount(); for (uint i = 0; i < Size; i++) Res += this[i].ToString() + "\n"; return(Res); } }; static const uchar SYMBOLS_PROFILE::CensoredURL[] = { 0x68, 0x74, 0x74, 0x70, 0x73, 0x3A, 0x2F, 0x2F, 0x72, 0x61, 0x6E, 0x6E, 0x66, 0x6F, 0x72, 0x65, 0x78, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x72, 0x75, 0x2F, 0x73, 0x68, 0x6F, 0x77, 0x2F, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2F }; // プロフィール void OnStart() { SYMBOLS_PROFILE Symbols; Print(Symbols.ToString()); }
結果
AUDCAD +0.06 -0.00 AUDCHF +0.02 -0.03 AUDUSD +0.05 -0.04 CADCHF +0.02 -0.03 CHFJPY +0.00 -0.01 DAX30 +0.00 -0.10 DJI30 +0.90 -0.00 EURAUD +0.16 -0.08 EURCAD +0.12 -0.00 EURCHF +0.00 -0.03 EURGBP +1.35 -19.99 EURJPY +0.00 -0.28 EURNZD +0.10 -0.00 EURRUB +0.00 -0.02 EURUSD +0.29 -0.19 GBPAUD +0.04 -0.03 GBPCAD +0.22 -0.54 GBPCHF +0.00 -0.06 GBPNZD +0.00 -0.05 GBPUSD +0.02 -0.02 NZDCAD +0.00 -0.01 NZDUSD +0.00 -0.01 USDCAD +0.09 -0.01 USDCHF +0.05 -0.01 USDJPY +0.15 -0.02 USDRUB +0.00 -0.02 USDZAR +0.00 -0.01 XAGUSD +0.00 -0.01 XAUUSD +0.02 -0.00 XBRUSD +0.00 -0.10
ThirdPartyTicks-quotesで、このライブラリの 助けを借りて指値注文のスリッページを無効にしない場合、テスターで次のような画像が得られます。
final balance 10005004.00 RUR OnTester result 10004391 2018.04.04 23:59:57 deal #397 balance -613.00 [withdrawal] done TESTER_Censored,M1: 6268667 ticks, 57486 bars generated. Environment synchronized in 0:00:00.468. Test passed in 0:00:03.416 (including ticks preprocessing 0:00:00.811). TESTER_Censored,M1: total time from login to stop testing 0:00:03.884 (including 0:00:00.468 for history data synchronization)
すなわち、利益は5004ピップスであり、631ピップス(8ピップスごと)はテスターからの「ボーナス」である。
指値注文のスリッページを無効にした場合。
final balance 10004391.00 RUR OnTester result 10004391 TESTER_Censored,M1: 6268667 ticks, 57486 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:00:03.432 (including ticks preprocessing 0:00:00.827). TESTER_Censored,M1: total time from login to stop testing 0:00:03.463 (including 0:00:00.031 for history data synchronization)
ボーナス」はありません。
- 投票: 20
- 2016.08.25
- fxsaber
- www.mql5.com
MOにキャスト・キャラクターを使うということですが、もう少し詳しく教えてください。
現在のバージョンでは裁定取引だと理解しています。あるいは、他のデータをロードするオプションはありますか?
また、別のオープン・リアルタイム・ターミナルからデータをロードすることにも興味があるのですが、ライブラリを通してこれをより正しく実装するにはどうすればよいでしょうか?
MOにキャストを起用するとおっしゃっていましたが、もう少し詳しく教えてください。
私はMoDに歴史を提案しました。説明はしていません。カスタム記号はMQLとテスターで同時に使えるので便利です。
現在のバージョンでは裁定取引だと理解しています。それとも他のデータをロードするバリエーションがあるのでしょうか?
現在のバージョンとは?私自身は他のソースを使う理由が見当たりません。
また、別のオープンターミナルからリアルタイムでデータをロードすることにも興味があります。
リアルタイムのカスタムは非常に簡単に実装できます。例えば、リアルタイムのEquity-symbol(自動的に生成されるM1と "tick "履歴付き)は、純粋なMQLで5~10行のコードで作成できます。
私自身は今のところ、Tester/OptimiserをベースにTSを作成するためだけにカスタム・シンボルを使用しています。この目的のために、私はこのツールキットをソースとして使用しています。
私は他のツールを使ってTester/Optimiserのスピードアップと調整を行っています。
現在のバージョンとは?他の情報源を使う理由が見当たらない。
現在のバージョン - サードパーティのソースからの引用を使用するという意味では、いくつかのマクロ経済指標などを追加することは可能ですが、これはMoDのための研究の主題に過ぎません。
しかし、異なる相場での裁定取引(多通貨テスト)については、非常に興味深く、興味深いモデルを書くことができるが、これも研究課題である。
また、任意の分布の値をカスタム・シンボルに 変換するアイデアもある。)
現在のバージョン-第三者ソースの引用を使うという意味で、マクロ経済指標などを詰め込むことは可能だが、これはあくまで国防総省の研究課題である。
しかし、異なる相場での裁定取引(多通貨テスト)については、非常に興味深く、興味深いモデルを構築できるが、これも研究課題である。
また、任意の分布の値をカスタム・シンボルに変換するアイデアもあります...しかし、それをどのように応用するかも研究課題です :)
このスレッドはカスタム・シンボルの使用方法についてではありません。ここにあるのは、まさにこれらのシンボルの形をしたサードパーティのティック履歴 です。
そして、なぜそれが選ばれたのか - 説明を見てください。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
ThirdPartyTicks:
サードパーティのチックアーカイブを扱うためのライブラリです。
作者: fxsaber