ライブラリ: Symbol - ページ 5 123456789101112 新しいコメント fxsaber 2018.08.02 19:11 #41 Viktar Dzemikhau: なぜカスタムシンボルが必要なのでしょうか? ティック履歴を 取ることができます。取引条件の観点から、ソースがTSにどの程度適合するかを即座に理解できます。 異なるシンボルの価格履歴を同期させ、誤った裁定取引を回避することができます。異なる価格履歴でテスターの統計的Expert Advisorを実行し、取引条件を比較できます。異なるフィード間のラグを比較できます。価格履歴の明らかなエラーを削除し、穴を埋めることができます。必要な統計データ(モンテカルリTC)を使って独自の価格履歴を生成することができます。合成シンボルの価格履歴を作成し、TCを実行することができます。...このブランチにはいくつかの機能が実装されています。 fxsaber 2018.09.11 15:58 #42 fxsaber:MT5テスターでは、原則として(例えばFX)、指値注文は正のスリッページを持ち、これはExpertRemoveを呼び出す。これにより、Optimisationが大幅にスピードアップします。 カスタム・シンボルでは残高がマイナスでも取引が行われるため、これは特に重要です。単純な ExpertRemove では、カスタム・シンボルにそのデータがない場合(ほとんどの場合)、現在のポジショ ンを最終価格ゼロで 強制決済してしまうからです。 したがって、ポーカー なしでバックテストから抜けるには、ExpertRemoveの前に以下の操作を行う必要があります。 // 指値注文によるポジションの決済 bool CloseAll() { bool Res = true; for (int i = OrdersTotal() - 1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS)) Res &= (OrderType() > OP_SELL) ? OrderDelete(OrderTicket()) : OrderSend(OrderSymbol(), OrderType() ? OP_BUYLIMIT : OP_SELLLIMIT , OrderLots(), OrderClosePrice(), 100, 0, 0) && false; return(Res); } void OnTick( void ) { if (IsRemove() && CloseAll()) ExpertRemove(); } 現在のティックでのクロージングは、ネッティング(指値注文のスリッページを除去する本来のタスクが実装されている場所)のみになるので、注意してください。 取引、自動取引システム、取引戦略のテストに関するフォーラム。 ライブラリ: シンボル fxsaber, 2018.04.06 16:43 取引所シンボルのネッティング口座の 現在値での指値注文は、次のティックを待たずに即座に執行されます(テスターでも)。 重要なのは株式シンボルだけでなく、ネッティング口座も重要であることに注意してください。例えば、Hedge-MQ-DemoでMOEXシンボルを取っても、同じNetting-MQ-Demoと同じように(そしてTesterで)実行されるわけではありません。 これは、全く同じMOEXシンボルでのバックテストが、口座タイプによって異なることがある理由の一つです。そのため、次のティックを待たなければならないこともあります。 それがダンスです。 fxsaber 2018.09.11 17:37 #43 取引、自動取引システム、取引戦略のテストに関するフォーラム ライブラリ: シンボル fxsaber, 2018.04.07 22:37 まとめ実際のティックでは、ティック数は16倍減少し(最も軽いフィルター)、最適化の速度は14倍増加し、品質は全く低下しませんでした(ここに入力しなかった分析)。もちろん、これはTSを特定の方法で記述した場合にのみ可能です。特に、バー分析がない場合だ。 以前の無料のユニバーサル・アクセラレーションでは 2倍しか上がらなかった。現在のものも無料(品質は落ちない)だが、普遍性は低い。しかし、見返りは1桁以上ある。今はこの方法でしかTCを最適化していない。間違いはない。加速に関する話題なので、加速のためのもう一つのレシピを紹介しよう。 取引、自動取引システム、取引戦略のテストに関するフォーラム。 エラー、バグ、質問 fxsaber, 2018.09.11 17:15 Tester フォルダを 5GbRAMDisk に移動し、MT5 ディレクトリで実行しました。 mklink /j Tester z:\Tester SSDは安らかに眠り、最適化は無料で~1.5倍(目測)速くなった!同時に SSD は死んで いません。 Libraries: Symbol リバーシング: 最大ドローダウンの削減と他の相場のテスト OpenCL を使用したローソク足パターンのテスト fxsaber 2018.09.12 20:52 #44 fxsaber:単純なExpertRemoveは使えない。なぜなら、カスタム・シンボルでそのデータがない場合(ほとんどの場合)、現在のポジションは強制的に最終価格ゼロで クローズされるからだ。 これらはそのようなダンスです。松葉杖はまた別の 取引、自動取引システム、取引戦略のテストに関するフォーラム エラー、バグ、質問 fxsaber, 2018.09.12 18:30 ビデオの中で 実際のティックで取引所インストルメント。バーはBidで構築され、フリッパーデータはなく、BUYポジションがオープンされています。ポジションの現在の終値がゼロであることがよくわかります。 PositionGetDouble(POSITION_PRICE_CURRENT) が常にゼロであることがよくわかります。テスターに、ある銘柄シンボルがBidでBUYポジションをクローズすべきであると説明するにはどうすればよいでしょうか?現在、エクイティさえも計算されていません。ですから、今のところ唯一の解決策は、(Bid+Ask)/2を フリッパーすることです。 fxsaber 2018.09.30 11:31 #45 fxsaber: 加速に関する話題なのでテスターが3ヶ月間(800万ティック)の "real ticks "ウォークスルーに100ミリ秒かかる(4000 OrderSend、800トレード+EAロジック)。レシピはカスタムシンボル です。 Denis Kirichenko 2018.10.11 10:02 #46 コードをありがとう。これを元に自分でも作ってみたんだ。ただ、クローン方法を少し変更して、履歴のある部分だけロードできるようにした。そうしないと、刻みが多いとRAMを大量に消費してしまう。 bool CiCustomSymbol::Clone(const string _src_symbol,const ulong _from_msc=0,const ulong _to_msc=LONG_MAX) fxsaber 2018.10.11 10:23 #47 Denis Kirichenko:履歴のある部分だけロードできるように、クローン作成方法を少し調整した。そうしないと、ティックがたくさんある場合、RAMを大量に消費してしまう。ありがとうございます。 Denis Kirichenko 2018.10.11 18:32 #48 また、ファイルからカスタム履歴をロードする2つのメソッドを作成しました。例えば、ティックと分を含む2つのファイルがあるとします。タスクは、それらを選択したシンボルのティックとクォートのデータベースにロードすることです。 bool LoadTicks(const string _src_file_name); bool LoadRates(const string _src_file_name); fxsaber 2018.10.11 18:59 #49 Denis Kirichenko:また、ファイルからカスタム履歴をロードする2つのメソッドを作成しました。例えば、ティックと分を含む2つのファイルがあるとします。タスクは、それらを選択したシンボルのティックとクォートのデータベースにロードすることです。そのため、一般的なケースではフォーマットは定義されていません。 Denis Kirichenko 2018.10.11 19:13 #50 fxsaber:だから、フォーマットは一般的に定義されていないそうですね、でも考えないと。しかし、私は書式を指定したティックのアーカイブを持っているので、とりあえずそれを作ってみた。<DATE>,<TIME>,<BID>,<ASK>というシンプルなものだ。 123456789101112 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
なぜカスタムシンボルが必要なのでしょうか?
ティック履歴を 取ることができます。取引条件の観点から、ソースがTSにどの程度適合するかを即座に理解できます。
このブランチにはいくつかの機能が実装されています。
MT5テスターでは、原則として(例えばFX)、指値注文は正のスリッページを持ち、これはExpertRemoveを呼び出す。これにより、Optimisationが大幅にスピードアップします。
カスタム・シンボルでは残高がマイナスでも取引が行われるため、これは特に重要です。
単純な ExpertRemove では、カスタム・シンボルにそのデータがない場合(ほとんどの場合)、現在のポジショ ンを最終価格ゼロで 強制決済してしまうからです。
したがって、ポーカー なしでバックテストから抜けるには、ExpertRemoveの前に以下の操作を行う必要があります。
現在のティックでのクロージングは、ネッティング(指値注文のスリッページを除去する本来のタスクが実装されている場所)のみになるので、注意してください。
取引、自動取引システム、取引戦略のテストに関するフォーラム。
ライブラリ: シンボル
fxsaber, 2018.04.06 16:43
取引所シンボルのネッティング口座の 現在値での指値注文は、次のティックを待たずに即座に執行されます(テスターでも)。
重要なのは株式シンボルだけでなく、ネッティング口座も重要であることに注意してください。例えば、Hedge-MQ-DemoでMOEXシンボルを取っても、同じNetting-MQ-Demoと同じように(そしてTesterで)実行されるわけではありません。
これは、全く同じMOEXシンボルでのバックテストが、口座タイプによって異なることがある理由の一つです。
そのため、次のティックを待たなければならないこともあります。
それがダンスです。
取引、自動取引システム、取引戦略のテストに関するフォーラム
ライブラリ: シンボル
fxsaber, 2018.04.07 22:37
まとめ
実際のティックでは、ティック数は16倍減少し(最も軽いフィルター)、最適化の速度は14倍増加し、品質は全く低下しませんでした(ここに入力しなかった分析)。もちろん、これはTSを特定の方法で記述した場合にのみ可能です。特に、バー分析がない場合だ。
以前の無料のユニバーサル・アクセラレーションでは 2倍しか上がらなかった。現在のものも無料(品質は落ちない)だが、普遍性は低い。しかし、見返りは1桁以上ある。今はこの方法でしかTCを最適化していない。間違いはない。
加速に関する話題なので、加速のためのもう一つのレシピを紹介しよう。
取引、自動取引システム、取引戦略のテストに関するフォーラム。
エラー、バグ、質問
fxsaber, 2018.09.11 17:15
Tester フォルダを 5GbRAMDisk に移動し、MT5 ディレクトリで実行しました。
SSDは安らかに眠り、最適化は無料で~1.5倍(目測)速くなった!
同時に SSD は死んで いません。
単純なExpertRemoveは使えない。なぜなら、カスタム・シンボルでそのデータがない場合(ほとんどの場合)、現在のポジションは強制的に最終価格ゼロで クローズされるからだ。
これらはそのようなダンスです。
松葉杖はまた別の
取引、自動取引システム、取引戦略のテストに関するフォーラム
エラー、バグ、質問
fxsaber, 2018.09.12 18:30
ビデオの中で
実際のティックで取引所インストルメント。バーはBidで構築され、フリッパーデータはなく、BUYポジションがオープンされています。ポジションの現在の終値がゼロであることがよくわかります。
が常にゼロであることがよくわかります。テスターに、ある銘柄シンボルがBidでBUYポジションをクローズすべきであると説明するにはどうすればよいでしょうか?現在、エクイティさえも計算されていません。
ですから、今のところ唯一の解決策は、(Bid+Ask)/2を フリッパーすることです。
加速に関する話題なので
テスターが3ヶ月間(800万ティック)の "real ticks "ウォークスルーに100ミリ秒かかる(4000 OrderSend、800トレード+EAロジック)。レシピはカスタムシンボル です。
コードをありがとう。これを元に自分でも作ってみたんだ。ただ、クローン方法を少し変更して、履歴のある部分だけロードできるようにした。そうしないと、刻みが多いとRAMを大量に消費してしまう。
履歴のある部分だけロードできるように、クローン作成方法を少し調整した。そうしないと、ティックがたくさんある場合、RAMを大量に消費してしまう。
ありがとうございます。
また、ファイルからカスタム履歴をロードする2つのメソッドを作成しました。例えば、ティックと分を含む2つのファイルがあるとします。タスクは、それらを選択したシンボルのティックとクォートのデータベースにロードすることです。
また、ファイルからカスタム履歴をロードする2つのメソッドを作成しました。例えば、ティックと分を含む2つのファイルがあるとします。タスクは、それらを選択したシンボルのティックとクォートのデータベースにロードすることです。
そのため、一般的なケースではフォーマットは定義されていません。
だから、フォーマットは一般的に定義されていない
そうですね、でも考えないと。しかし、私は書式を指定したティックのアーカイブを持っているので、とりあえずそれを作ってみた。<DATE>,<TIME>,<BID>,<ASK>というシンプルなものだ。