リアルタイムで見るTiki - ページ 7 1234567891011121314...26 新しいコメント fxsaber 2020.01.30 23:42 #61 prostotrader: 何かを証明したり反証したりするためには、コードを掲載しなければならないのです あなたは、隣接するOnTickイベント間にレコードが存在し、それがCopyTicks-historyに入り、OnBookEventを介してリアルタイムにキャッチできることを証明するために、自分自身を犠牲にしたのです。 残念ながら、上記のログではわかりません。 prostotrader 2020.01.30 23:46 #62 fxsaber: 隣接するOnTickイベント間にレコードが存在し、それがCopyTicksの履歴に入り、OnBookEventを介してリアルタイムにキャッチできることを証明していますね。 残念ながら、上記のログではわからない。 動作するコードを掲載して証明し、なぜ速く、リアルタイムで動作するのかを説明しました。 MQL5関数の ヘルプや個人的な経験に基づいています。 自分で確認したい?あるいは、動作するコードでその逆を証明する。 fxsaber 2020.01.30 23:49 #63 prostotrader: 私は、動作するコードを掲載し、なぜ速く、リアルタイムで動作するのかを説明することで、これを証明しました。 残念ながら、OnTick CopyTicks-historyのエントリーが欠落しているという形で主な証明リンクが欠落している場合、それを受け入れることはできません。 prostotrader 2020.01.30 23:51 #64 fxsaber: 残念ながら、OnTick CopyTicks-history レコードの欠落という形で、証明の主要なリンクが欠落している場合、それを受け入れることはできません。 で、何が問題なんだ? ぜひ、ご自身でお確かめください。 fxsaber 2020.01.30 23:56 #65 prostotrader: で、何なんだ? ぜひ、ご自身でお確かめください。 あなたの証明は論理的な根拠だけでは受け入れられず、他の視点との矛盾を指摘されただけです。 prostotrader 2020.01.31 00:07 #66 fxsaber: ただ、あなたの証明は論理的な理由だけでは受け入れられず、他の視点との矛盾を指摘したに過ぎません。 なるほど、でもOnBookEvent()のヘルプを読むことをお勧めします。 私は何かを証明するつもりはなく、トピックの主題で いくつかの動作する コードを書き、(フォーラムのユーザーの要求で)説明しただけです。 なぜこのメソッドがOnTick()よりも優れているのか、もし信じない人が いたら、自分で調べてみてください。 あるいは、私の説明を否定するような動作するコードを投稿してください。 によって追加されました。 このフォーラムには、OnBookEvent()を使ったことがないFOREX関係者が何千 人もいます。 しかもタンブラーで。 このスレに書き込んでくれる人全員に何かしてあげればいいのか? Andrey Khatimlianskii 2020.01.31 08:36 #67 prostotrader:最初のOnTick()の時刻2020.01.30 19:31:11.112秒の時間 OnTick()2020.01.30 19:31:11.802つまり、690msが経過しており、その間、この690msのOnTick()OnBookEvent()が15回発生したこのクリック音は、ダニとは 関係ないと思っているのでしょうか? エッジバンド(ビッド/アスク)やフリッパーに影響しないスタックの変化を呼び出さないのであれば、はい、これらのトリガーはティックに無関係です。 プロストトレーダー: もうひとつ、多くの人が忘れている本質的なポイントがあります。EAが入力データを解析して判断を下すまでのスピードです。OnTick()の代わりにOnBookEvent()を使用すると、私のEAはあなたのEAより速く なります。 あなたは勘違いしている、何度でも言う。 このEAは、1つのターミナルで2つのチャートで実行できます。1つは「OnBookEventを使用」モードで、もう1つは「OnTickを使用」モードです(これは入力パラメータです)。イベントハンドラ内のコードは同一です(別の関数に入れ、そこから呼び出すこともできますが、それは意味がありません)。 //--- enum ENUM_BOOK_OR_TICK { USE_BOOK, // Use OnBookEvent USE_TICK // Use OnTick }; input ENUM_BOOK_OR_TICK Mode = USE_BOOK; //--- bool is_book; long last_tick_time = 0; MqlTick cur_ticks[], last_tick; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if ( Mode == USE_BOOK ) { is_book = MarketBookAdd(Symbol()); if ( !is_book ) Alert( "MarketBookAdd failed with error #", GetLastError(), "!" ); } last_tick_time = 0; return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { if(is_book == true) MarketBookRelease(Symbol()); } //+------------------------------------------------------------------+ //| BookEvent function | //+------------------------------------------------------------------+ void OnBookEvent(const string &symbol) { if ( Mode != USE_BOOK || symbol != _Symbol ) return; if ( last_tick_time <= 0 ) { if ( CopyTicks( _Symbol, cur_ticks, COPY_TICKS_ALL, 0, 1 ) > 0 ) { last_tick_time = cur_ticks[0].time_msc; last_tick = cur_ticks[0]; } } if ( last_tick_time > 0 ) { int new_ticks = CopyTicks( _Symbol, cur_ticks, COPY_TICKS_ALL, last_tick_time, 0 ); for ( int i = 0; i < new_ticks; i ++ ) { PrintTick( "OnBook", cur_ticks[i] ); } if ( new_ticks > 0 ) { last_tick_time = cur_ticks[new_ticks-1].time_msc; last_tick = cur_ticks[new_ticks-1]; } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick() { if ( Mode != USE_TICK ) return; if ( last_tick_time <= 0 ) { if ( CopyTicks( _Symbol, cur_ticks, COPY_TICKS_ALL, 0, 1 ) > 0 ) { last_tick_time = cur_ticks[0].time_msc; last_tick = cur_ticks[0]; } } if ( last_tick_time > 0 ) { int new_ticks = CopyTicks( _Symbol, cur_ticks, COPY_TICKS_ALL, last_tick_time, 0 ); for ( int i = 0; i < new_ticks; i ++ ) { PrintTick( "OnTick", cur_ticks[i] ); } if ( new_ticks > 0 ) { last_tick_time = cur_ticks[new_ticks-1].time_msc; last_tick = cur_ticks[new_ticks-1]; } } } void PrintTick( string func_name, MqlTick &tick ) { if ( tick.time_msc == last_tick.time_msc && tick.bid == last_tick.bid && tick.ask == last_tick.ask && tick.last == last_tick.last ) return; Print( GetTickCount64(), ": tick received from ", func_name, ": ", tick.time, " ", tick.time_msc, " ", DoubleToString( tick.bid, _Digits ), " / ", DoubleToString( tick.ask, _Digits ), " / ", DoubleToString( tick.last, _Digits ) ); }; そして、EAのログを見て、ティック受信の時刻を分析します。 何か面白いことを見つけたら(例えば、OnTickからのティック(GetTickCount64)の取得時間がOnBookからの同じ時間(同じティックの場合)より長いなど)、ここに投稿してください。 prostotrader 2020.01.31 10:54 #68 Andrey Khatimlianskii: エッジバンド(ビッド/アスク)やフリッパーに影響しないカップの変化を呼び出さないのであれば、そう、それらのトリガーはティックとは関係ないのです。 あなたは間違っている、何度でも言う。 このEAを1つの端末で2つのチャートで実行します。1つは「Use OnBookEvent」モードで、もう1つは「Use OnTick」モードです(これは入力パラメータです)。イベントハンドラ内のコードは同一です(別の関数に入れ、そこから呼び出すこともできますが、それは意味がありません)。 そして、EAのログを見て、ティック受信の時刻を分析します。 何か面白いことを見つけたら(例えば、OnTickからのティック(GetTickCount64)の取得時間がOnBookからの類似の時間(同じティックの場合)より長い)、ここに投稿してください。 言ったとおりだ! ログ(共同作業)の1行目に、私の説明の直接の確認があります。 OnTick()のトリガーが遅いため、古いデータを受信する。 ファイル: 20200131.log 220 kb Andrey Khatimlianskii 2020.01.31 11:03 #69 prostotrader: 言ったとおりだ! ログ(コラボレーション)の1行目は、私の説明をそのまま裏付けるものです OnTick()のトリガーが遅いので、古いデータを取得する。 このログの前に何らかの情報を表示する。 発売直後(一番最初のエントリー)だったのでしょうか?EAをどのような順番で実行したのですか? ps: 添付のログを参照してください、今見てみます。 prostotrader 2020.01.31 11:03 #70 Andrey Khatimlianskii: このログの前に何らかの情報を表示する。 発売直後(一番最初のエントリー)だったのでしょうか?EAをどのような順番で実行したのですか? オンブックが先、オンティックが先、ログは上記に添付 1234567891011121314...26 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何かを証明したり反証したりするためには、コードを掲載しなければならないのです
あなたは、隣接するOnTickイベント間にレコードが存在し、それがCopyTicks-historyに入り、OnBookEventを介してリアルタイムにキャッチできることを証明するために、自分自身を犠牲にしたのです。
残念ながら、上記のログではわかりません。
隣接するOnTickイベント間にレコードが存在し、それがCopyTicksの履歴に入り、OnBookEventを介してリアルタイムにキャッチできることを証明していますね。
残念ながら、上記のログではわからない。
動作するコードを掲載して証明し、なぜ速く、リアルタイムで動作するのかを説明しました。
MQL5関数の ヘルプや個人的な経験に基づいています。
自分で確認したい?あるいは、動作するコードでその逆を証明する。
私は、動作するコードを掲載し、なぜ速く、リアルタイムで動作するのかを説明することで、これを証明しました。
残念ながら、OnTick CopyTicks-historyのエントリーが欠落しているという形で主な証明リンクが欠落している場合、それを受け入れることはできません。
残念ながら、OnTick CopyTicks-history レコードの欠落という形で、証明の主要なリンクが欠落している場合、それを受け入れることはできません。
で、何が問題なんだ?
ぜひ、ご自身でお確かめください。
で、何なんだ?
ぜひ、ご自身でお確かめください。
あなたの証明は論理的な根拠だけでは受け入れられず、他の視点との矛盾を指摘されただけです。
ただ、あなたの証明は論理的な理由だけでは受け入れられず、他の視点との矛盾を指摘したに過ぎません。
なるほど、でもOnBookEvent()のヘルプを読むことをお勧めします。
私は何かを証明するつもりはなく、トピックの主題で いくつかの動作する コードを書き、(フォーラムのユーザーの要求で)説明しただけです。
なぜこのメソッドがOnTick()よりも優れているのか、もし信じない人が いたら、自分で調べてみてください。
あるいは、私の説明を否定するような動作するコードを投稿してください。
によって追加されました。
このフォーラムには、OnBookEvent()を使ったことがないFOREX関係者が何千 人もいます。
しかもタンブラーで。
このスレに書き込んでくれる人全員に何かしてあげればいいのか?
最初のOnTick()の時刻2020.01.30 19:31:11.112
秒の時間 OnTick()2020.01.30 19:31:11.802
つまり、690msが経過しており、その間、この690msのOnTick()
OnBookEvent()が15回発生した
このクリック音は、ダニとは 関係ないと思っているのでしょうか?
エッジバンド(ビッド/アスク)やフリッパーに影響しないスタックの変化を呼び出さないのであれば、はい、これらのトリガーはティックに無関係です。
もうひとつ、多くの人が忘れている本質的なポイントがあります。
EAが入力データを解析して判断を下すまでのスピードです。
OnTick()の代わりにOnBookEvent()を使用すると、私のEAはあなたのEAより速く なります。
あなたは勘違いしている、何度でも言う。
このEAは、1つのターミナルで2つのチャートで実行できます。1つは「OnBookEventを使用」モードで、もう1つは「OnTickを使用」モードです(これは入力パラメータです)。イベントハンドラ内のコードは同一です(別の関数に入れ、そこから呼び出すこともできますが、それは意味がありません)。
そして、EAのログを見て、ティック受信の時刻を分析します。
何か面白いことを見つけたら(例えば、OnTickからのティック(GetTickCount64)の取得時間がOnBookからの同じ時間(同じティックの場合)より長いなど)、ここに投稿してください。
エッジバンド(ビッド/アスク)やフリッパーに影響しないカップの変化を呼び出さないのであれば、そう、それらのトリガーはティックとは関係ないのです。
あなたは間違っている、何度でも言う。
このEAを1つの端末で2つのチャートで実行します。1つは「Use OnBookEvent」モードで、もう1つは「Use OnTick」モードです(これは入力パラメータです)。イベントハンドラ内のコードは同一です(別の関数に入れ、そこから呼び出すこともできますが、それは意味がありません)。
そして、EAのログを見て、ティック受信の時刻を分析します。
何か面白いことを見つけたら(例えば、OnTickからのティック(GetTickCount64)の取得時間がOnBookからの類似の時間(同じティックの場合)より長い)、ここに投稿してください。
言ったとおりだ!
ログ(共同作業)の1行目に、私の説明の直接の確認があります。
OnTick()のトリガーが遅いため、古いデータを受信する。
言ったとおりだ!
ログ(コラボレーション)の1行目は、私の説明をそのまま裏付けるものです
OnTick()のトリガーが遅いので、古いデータを取得する。
このログの前に何らかの情報を表示する。
発売直後(一番最初のエントリー)だったのでしょうか?EAをどのような順番で実行したのですか?
ps: 添付のログを参照してください、今見てみます。
このログの前に何らかの情報を表示する。
発売直後(一番最初のエントリー)だったのでしょうか?EAをどのような順番で実行したのですか?
オンブックが先、オンティックが先、ログは上記に添付