ダニの話 - ページ 16 1...91011121314151617181920212223...26 新しいコメント 削除済み 2015.10.20 10:21 #151 Karputov Vladimir:以下は、依頼された内容です。24時間後の移行が正解です。 テスト方法:端末を起動した状態で、ティック履歴 ファイルを消去しました。その後、スクリプトを2回実行しました(履歴がないため、1回目の実行で履歴の読み込みを初期化しました)。 はい、ありがとうございます。しかし、非常に不思議な挙動をします。 削除済み 2015.10.20 10:37 #152 しかし、不思議な行動はこれだけでは終わらない。同じ物語の2つのクエリの瞬間を比較してみることにした。最初の瞬間は、昨日、金曜→月曜の到着ミスのことを書いたときだ。 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム ダニの話 たぽちゅんさん 2015.10.19 08:48 少し後......こんな写真になります。ALL 3000ティックモード。2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2774 2015.10.16 23:59:05: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54356 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2775 2015.10.16 23:59:05: spread = 72, ask = 1.54428, bid = 1.54356, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2776 2015.10.16 23:59:06: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54356 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2777 2015.10.16 23:59:06: spread = 75, ask = 1.54431, bid = 1.54356, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2778 2015.10.16 23:59:07: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54357 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2779 2015.10.16 23:59:07: spread = 74, ask = 1.54431, bid = 1.54357, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2780 2015.10.16 23:59:10: spread = 0, ask = 0.00000, bid = 0.00000, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2781 2015.10.19 09:44:41: spread = 18, ask = 1.54498, bid = 1.54480, last = 1.54480 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2782 2015.10.19 09:44:41: spread = 19, ask = 1.54499, bid = 1.54480, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2783 2015.10.19 09:44:42: spread = 19, ask = 1.54499, bid = 1.54480, last = 1.54480 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2784 2015.10.19 09:44:42: spread = 18, ask = 1.54498, bid = 1.54480, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2785 2015.10.19 09:44:42: spread = 18, ask = 1.54498, bid = 1.54480, last = 1.54480 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2786 2015.10.19 09:44:42: spread = 19, ask = 1.54499, bid = 1.54480, last = 0.00000 2015.10.19 11:46:33.144 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #2787 2015.10.19 09:44:42: spread = 19, ask = 1.54499, bid = 1.54480, last = 1.54480 ストーリーの穴。INFOモード時 - 同様。9.44.41以降に来るティックに注目してください。同じシンボル、同じ時間、同じモード(ALL)で、今日だけリクエストされた履歴を表示します。QK 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289463 2015.10.19 09:44:41: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54480 LN 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289464 2015.10.19 09:44:41: spread = 19, ask = 1.54499, bid = 1.54480, last = 0.00000 DO 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289465 2015.10.19 09:44:42: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54480 ES 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289466 2015.10.19 09:44:42: spread = 18, ask = 1.54498, bid = 1.54480, last = 0.00000 HR 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289467 2015.10.19 09:44:42: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54480 EG 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289468 2015.10.19 09:44:42: spread = 19, ask = 1.54499, bid = 1.54480, last = 0.00000 DI 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289469 2015.10.19 09:44:42: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54480 DH 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289470 2015.10.19 09:44:42: spread = 18, ask = 1.54498, bid = 1.54480, last = 0.00000 IM 0 13:04:51.698 test_CopyTicks_1178 (GBPUSD,M5) OnStart: #289471 2015.10.19 09:44:42: spread = 0, ask = 0.00000, bid = 0.00000, last = 1.54480配信方法が違います。そして間違いなくミリ秒が抜けている。そして、この状況でダニをどう分析するか! 削除済み 2015.10.20 10:40 #153 Renat Fatkhullin:その通りです。私が正確に指摘したのは、ティックの記入に構造も論理もないことです。各価格帯は独立しています。サプライヤーから来たものが翻訳されるのです。レナート 同じティックでも、依頼する時間によって、サプライヤーからの受け取り方が異なることがわかったのですね。履歴の形式は、接続しているサーバーに依存するのでしょうか? Maxim Dmitrievsky 2015.10.20 15:01 #154 Tapochun:これは次のビルドに搭載されることが約束されているので、そのチップを搭載することになると思います。それは "チップ "なしで、通常は良いだろう...と99%のシミュレーションの品質を言うこれらのチャートの疲れ...とか、本物は全然ダメなんですけどね :)私としては、原則的にそんなものはあってはならないし、そうでなければテスターではなく、おもちゃになってしまう。そして、バーの閉店戦略では、あまりお粥を作れない...。 削除済み 2015.10.20 15:11 #155 Maxim Dmitrievsky:仕掛け」がなくてOKならいいのですが...99%モデリングクオリティというこのチャートはもう飽きました...。とか、本物は全然ダメなんですけどね :)私としては、原則的にそんなものはあってはならないし、そうでなければテスターではなく、おもちゃになってしまう。そして、バーの閉店戦略では、あまりお粥を作れない...。チップを使わなければ、一度に起こることはほとんどありません。このティックヒストリーは、長い間待ち望まれていたもので、できるだけ早く完成させたいと考えています。テスターとリアルアカウントの両方で使えるようにしてほしい。残念ながら、フィードバックはあまりありません。スピードアップのための作業が進んでいることを期待します。 削除済み 2015.10.20 17:44 #156 Karputov Vladimir:COPY_TICKS_INFOの ティック受信フラグ (BidとAskのみ)を指定してください 。BidとAskは値「0」のままでよいのか、それともCOPY_TICKS_INFO モードでは BidとAskにゼロが含まれず、ターミナル内の「マーケットウォッチ」ウィンドウの「ティック」タブに あるものと 同様のフローと なるのか、お答えください。ビルド1200で解決する予定です。MQL5:MqlTick構造体のフォーマットを拡張しました。現在では、ティックの到着時間(ミリ秒)と、ティックのどのパラメータが変更されたかを判断するためのフラグが含まれています。struct MqlTick { datetime time; // Время последнего обновления цен double bid; // Текущая цена Bid double ask; // Текущая цена Ask double last; // Текущая цена последней сделки (Last) ulong volume; // Объем для текущей цены Last long time_msc; // Время последнего обновления цен в миллисекундах uint flags; // Флаги тиков };各ティックには、前のティックからデータが変更されたかどうかにかかわらず、常にすべてのパラメータが入力されています。これにより、過去の値をティック履歴から探し出すことなく、常に最新の価格状況を把握することができます。例えば、ティックでは買値のみが変更されるかもしれませんが、構造には新しい価格に加えて、以前の売値、出来高など他のパラメータが含まれます。現在のティックで正確にどのデータが変化したかを知るには、そのフラグを分析します。TICK_FLAG_BID - 刻み目の変化した入札価格TICK_FLAG_ASK - ティックでアスク価格が変更されました。TICK_FLAG_LAST - 直近の取引の価格が変更されたティックTICK_FLAG_VOLUME - ティックのボリュームが変更されました。TICK_FLAG_BUY - 買い取引の結果、ティックが発生しました。TICK_FLAG_SELL - 売りの取引でティックが発生しました。MqlTick構造体は2つの方式で使用されます。CopyTicks - このメソッドは、古い構造形式をサポートしていません。以前コンパイルしたEX5ファイルで古いティック形式を使用している場合、CopyTicks関数を呼び出すとエラー4006(ERR_MQL_INVALID_ARRAY)が返されます。SymbolInfoTick - メソッドは、新旧両方の構造形式をサポートしています。 Vladimir Karputov 2015.10.20 20:19 #157 だからMetaTrader 5 x64 build 1192 started (MetaQuotes Software Corp.) ... authorized on MetaQuotes-Demo through Access Point Asia (ping: 556.27 ms) と更新されたMqlTick構造体 です。 Maxim Dmitrievsky 2015.10.20 20:50 #158 Karputov Vladimir:だからとMqlTick構造 体を更新しました。また、新しいティックが端末に到着したことを適切に追跡するにはどうしたらよいでしょうか。例えば、テスターでは。"関数OnTick() "は、各ティックのハンドラではなく、Expert Advisorに市場の変化を通知するものです。変更は一括で可能です。複数のティックが同時にターミナルに来ることがありますが、OnTick()関数が1回だけ呼び出され、Expert Advisorに最新の市場状況を通知します」と述べています。 Vladimir Karputov 2015.10.20 20:52 #159 Maxim Dmitrievsky:新しいティックがターミナルに到着したことを追跡する正しい方法は何ですか?例えば、テスターでは。"OnTick() "関数は、各ティックのハンドラではなく、Expert Advisorに市場の変化を通知するものです。変更は一括で可能です。ターミナルは同時に複数のティックを受信できますが、OnTick()関数が1回だけ呼び出され、Expert Advisorに最新の市場状況を通知します」。ティック毎に トラッキングしたい場合は、インジケータで行う必要があります。インジケータはEAと違い、1ティックごとに処理します。追加:EAですべてのティックを分析することが可能になりました - チェックを入力する必要があるだけです(例えば、深さ5ティックのCopyTicksリクエストを分析する)。 Vladimir Karputov 2015.10.21 08:22 #160 1192を構築。Windows 10 x32。MetaQuotes-Demoサーバーのティック履歴 フォルダを予備的に完全削除。インジケーターの使用//+------------------------------------------------------------------+ //| test.mq5 | //| Copyright 2015, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2015, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property indicator_chart_window #property indicator_plots 0 //--- input parameter input int InpShowTicks=500; // клубина истории тиков //--- parameters MqlTick arr_mql_tick[]; // массив структур хранящий тики bool bingo=false; // false - скачано тиков меньше запрошенного //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int OnInit() { Comment(""); ResetLastError(); //--- новый размер массива структур тиков if(ArrayResize(arr_mql_tick,InpShowTicks)==-1) { Print("Error OnInit #1",GetLastError()); return(INIT_FAILED); } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { static int count; string text=""; if(bingo) return(rates_total); int copied=CopyTicks(_Symbol,arr_mql_tick,COPY_TICKS_INFO,0,InpShowTicks); if(copied==InpShowTicks) bingo=true; text="Запрошено "+IntegerToString(InpShowTicks)+" тиков, скачано "+IntegerToString(copied); Comment(text); count++; return(rates_total); } //+------------------------------------------------------------------+ ダニのダウンロードを確認しました。いくつかの商品では、500ティックが最初か2番目のティックでダウンロードされ、200Kb以上はダウンロードされません(私は単にMarket Watchからツールをチャートにドラッグ&ドロップしています)。しかし、いくつかの機器では奇跡が起こります:ティックの履歴は私に必要な500ティックを与えようとしませんが、端末は約20Mbの履歴(10ヶ月と9ヶ月の履歴)をダウンロードします。 ファイル: test.mq5 3 kb 1...91011121314151617181920212223...26 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
以下は、依頼された内容です。
24時間後の移行が正解です。
テスト方法:端末を起動した状態で、ティック履歴 ファイルを消去しました。その後、スクリプトを2回実行しました(履歴がないため、1回目の実行で履歴の読み込みを初期化しました)。
しかし、不思議な行動はこれだけでは終わらない。同じ物語の2つのクエリの瞬間を比較してみることにした。
最初の瞬間は、昨日、金曜→月曜の到着ミスのことを書いたときだ。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
ダニの話
たぽちゅんさん 2015.10.19 08:48
少し後......こんな写真になります。ALL 3000ティックモード。
ストーリーの穴。INFOモード時 - 同様。
9.44.41以降に来るティックに注目してください。同じシンボル、同じ時間、同じモード(ALL)で、今日だけリクエストされた履歴を表示します。
配信方法が違います。そして間違いなくミリ秒が抜けている。
そして、この状況でダニをどう分析するか!
その通りです。
私が正確に指摘したのは、ティックの記入に構造も論理もないことです。各価格帯は独立しています。サプライヤーから来たものが翻訳されるのです。
レナート 同じティックでも、依頼する時間によって、サプライヤーからの受け取り方が異なることがわかったのですね。
履歴の形式は、接続しているサーバーに依存するのでしょうか?
これは次のビルドに搭載されることが約束されているので、そのチップを搭載することになると思います。
それは "チップ "なしで、通常は良いだろう...と99%のシミュレーションの品質を言うこれらのチャートの疲れ...とか、本物は全然ダメなんですけどね :)私としては、原則的にそんなものはあってはならないし、そうでなければテスターではなく、おもちゃになってしまう。そして、バーの閉店戦略では、あまりお粥を作れない...。
仕掛け」がなくてOKならいいのですが...99%モデリングクオリティというこのチャートはもう飽きました...。とか、本物は全然ダメなんですけどね :)私としては、原則的にそんなものはあってはならないし、そうでなければテスターではなく、おもちゃになってしまう。そして、バーの閉店戦略では、あまりお粥を作れない...。
チップを使わなければ、一度に起こることはほとんどありません。このティックヒストリーは、長い間待ち望まれていたもので、できるだけ早く完成させたいと考えています。テスターとリアルアカウントの両方で使えるようにしてほしい。残念ながら、フィードバックはあまりありません。スピードアップのための作業が進んでいることを期待します。
COPY_TICKS_INFOの ティック受信フラグ (BidとAskのみ)を指定してください 。BidとAskは値「0」のままでよいのか、それともCOPY_TICKS_INFO モードでは BidとAskにゼロが含まれず、ターミナル内の「マーケットウォッチ」ウィンドウの「ティック」タブに あるものと 同様のフローと なるのか、お答えください。
ビルド1200で解決する予定です。
各ティックには、前のティックからデータが変更されたかどうかにかかわらず、常にすべてのパラメータが入力されています。これにより、過去の値をティック履歴から探し出すことなく、常に最新の価格状況を把握することができます。例えば、ティックでは買値のみが変更されるかもしれませんが、構造には新しい価格に加えて、以前の売値、出来高など他のパラメータが含まれます。現在のティックで正確にどのデータが変化したかを知るには、そのフラグを分析します。
MqlTick構造体は2つの方式で使用されます。
だから
と更新されたMqlTick構造体 です。
だから
とMqlTick構造 体を更新しました。
また、新しいティックが端末に到着したことを適切に追跡するにはどうしたらよいでしょうか。例えば、テスターでは。
"関数OnTick() "は、各ティックのハンドラではなく、Expert Advisorに市場の変化を通知するものです。変更は一括で可能です。複数のティックが同時にターミナルに来ることがありますが、OnTick()関数が1回だけ呼び出され、Expert Advisorに最新の市場状況を通知します」と述べています。
新しいティックがターミナルに到着したことを追跡する正しい方法は何ですか?例えば、テスターでは。
"OnTick() "関数は、各ティックのハンドラではなく、Expert Advisorに市場の変化を通知するものです。変更は一括で可能です。ターミナルは同時に複数のティックを受信できますが、OnTick()関数が1回だけ呼び出され、Expert Advisorに最新の市場状況を通知します」。
ティック毎に トラッキングしたい場合は、インジケータで行う必要があります。インジケータはEAと違い、1ティックごとに処理します。
追加:EAですべてのティックを分析することが可能になりました - チェックを入力する必要があるだけです(例えば、深さ5ティックのCopyTicksリクエストを分析する)。
1192を構築。Windows 10 x32。
MetaQuotes-Demoサーバーのティック履歴 フォルダを予備的に完全削除。インジケーターの使用
ダニのダウンロードを確認しました。いくつかの商品では、500ティックが最初か2番目のティックでダウンロードされ、200Kb以上はダウンロードされません(私は単にMarket Watchからツールをチャートにドラッグ&ドロップしています)。
しかし、いくつかの機器では奇跡が起こります:ティックの履歴は私に必要な500ティックを与えようとしませんが、端末は約20Mbの履歴(10ヶ月と9ヶ月の履歴)をダウンロードします。