初期化中のChartNavigate - ページ 5 12345678 新しいコメント Alexey Viktorov 2018.06.26 12:18 #41 Ihor Herasko: いいえ、そうではありません。それこそがポイントだからです。これがどういうことなのか、もう少し詳しくお話ししましょう。トレーダーは、まるでテスターのようにチャートを使う。このインジケータは、現在と思われる時刻の右側に実際のチャートの一部を隠しています(実際には、この時刻は履歴のどこかにあります)。F12を押すと、オンラインチャートに次のローソク足が表示されるなど。そのため、インジケータを 装着した状態で端末を再起動しても、チャートの位置はトレーダーが学習を終了した場所に戻りません。その結果、端末が最後の本物のローソク足にチャートをリセットするため、彼/彼女は空のチャートを受け取ることになります。しかも、まったく別の場所で端末が降ろされたにもかかわらず、である。興味深い観察結果です。自分でも確認したのですが、残念ながら何も変わっていませんでした。今でもリローディングで一番新鮮な価格で購入できます。 時計を同期させる」ことを提案します。ビルド1861ですべてテストしています。あなたの体型は?このような行を前面に追加するとよいでしょう。 ChartSetInteger(0, CHART_AUTOSCROLL, false); ChartSetInteger(0, CHART_SHIFT, false); ChartNavigate(0, CHART_END, 0); にして、ずらす? もしくは、どこにもずらさないでください。こちらも問題なく動作しています。 ChartNavigate(0, CHART_CURRENT_POS, 0)どのバーでターミナルを閉じたか、どのバーで開いたか。 しかし、このバリアントは非アクティブウィンドウ上にもチャートを保持します。 嗚呼。このコードがなくても、チャートは固定されています。 Ihor Herasko 2018.06.26 13:12 #42 Alexey Viktorov:前面に次のような行を追加するとよいでしょう。 を、後からずらすのですか? そう、フルバージョンにはそのすべてが詰まっているのです。端末を再起動せずに作業すれば、すべて問題ありません。しかし、再起動するとこのような問題が発生します。そして、松葉杖の解決策も、いつも役立つとは限りません。さらに調査してみます。 Alexey Viktorov 2018.06.26 13:19 #43 Ihor Herasko: そう、フルバージョンにはそのすべてが詰まっているのです。端末を再起動せずに作業すれば、すべて問題ありません。しかし、再起動するとこのような問題が発生します。そして、松葉杖の解決策も、いつも役立つとは限りません。さらに調査してみます。 でも、端末を再起動する実験もしたことがあるんですよ。何が問題なのでしょうか?アップデートのダウンロードはできましたが、とりあえずアップデートはキャンセルしました。あなたもアップデートしたほうがいいのでは? Ihor Herasko 2018.06.26 21:46 #44 Alexey Viktorov: しかし、端末の再起動も実験してみました。何が問題なのでしょうか?アップデートをダウンロードさせたが、今のところキャンセルしている。あなたもアップデートしたほうがいいのでは?1865年製にアップグレード。問題は残る。 さらに、チャート上にデータを完全にロードした後、ChartNavigate()を使用しても、チャートは必要な場所にしばらく表示されますが、新しいティックでは、まだ一番最後のバーに戻ることが判明しています。オートスクロールボタンは無効で、他のインジケーターは使用しません。 手動でチャートを移動させても、このようなことは起こりません。今は途方に暮れています。明日、新鮮な目で見て、どこかで失敗していないか調査してみます。 Vladimir Karputov 2018.06.27 06:00 #45 MetaTrader 5 x64 build 1870 started (MetaQuotes Software Corp.) Windows 10 (build 17134) x64, IE 11, UAC, Intel Core i3-3120 M @ 2.50 GHz, Memory: 4720 / 8077 Mb, Disk: 301 / 464 Gb, GMT+2 C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075 スクリプトです。CHART_CURRENT_POS の場合のみ、安定します。CHART_BEGIN と正の "Shift"、CHART_END と負の "Shift" の場合、チャートは移動しないか、最新の価格にジャンプ(勝手にスクロール)します:自動スクロールボタンが有効な場合です。 //+------------------------------------------------------------------+ //| Test_1.mq5 | //| Copyright © 2018, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2018, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.000" #property script_show_inputs //--- input parameters input ENUM_CHART_POSITION InpPosition = CHART_CURRENT_POS; // Chart Position input int InpShift = -1; // Shift //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- ResetLastError(); //--- получим номер самого первого видимого на графике бара (нумерация как в таймсерии) int chart_first_visible_bar=ChartFirstVisibleBar(); if(chart_first_visible_bar==-1) return; //--- string comm="До: Первый бар на графике имеет номер "+IntegerToString(chart_first_visible_bar); //--- выведем комментарий Print(comm); if(ChartNavigate(ChartID(),InpPosition,InpShift)) Print("ChartNavigate ",EnumToString(InpPosition),",",InpShift," успешно"); else Print("Ошибка №",GetLastError(),", ",EnumToString(InpPosition)); //--- получим номер самого первого видимого на графике бара (нумерация как в таймсерии) chart_first_visible_bar=ChartFirstVisibleBar(); if(chart_first_visible_bar==-1) return; //--- comm="После: Первый бар на графике имеет номер "+IntegerToString(chart_first_visible_bar); //--- выведем комментарий Print(comm); } //+------------------------------------------------------------------------------+ //| Gets the index of the first visible bar on chart. | //| Indexing is performed like in timeseries: latest bars have smallest indices. | //+------------------------------------------------------------------------------+ int ChartFirstVisibleBar(const long chart_ID=0) { //--- prepare the variable to get the property value long result=-1; //--- reset the error value ResetLastError(); //--- receive the property value if(!ChartGetInteger(chart_ID,CHART_FIRST_VISIBLE_BAR,0,result)) { //--- display the error message in Experts journal Print(__FUNCTION__+", Error Code = ",GetLastError()); } //--- return the value of the chart property return((int)result); } //+------------------------------------------------------------------+ 1 ファイル: Test_ChartNavigate_Script.mq5 6 kb Alexey Viktorov 2018.06.27 08:29 #46 Ihor Herasko:1865年製にアップグレード。問題は残る。 さらに、チャート上にデータを完全にロードした後、ChartNavigate()を使用しても、チャートは必要な場所にしばらく表示されますが、新しいティックでは、まだ一番最後のバーに戻ることが判明しています。オートスクロールボタンは無効で、他のインジケーターは使用しません。 手動でチャートを移動させても、このようなことは起こりません。今は途方に暮れています。明日、頭を冷やしてもう一度調査してみます。もしかしたら、どこかで失敗しているかもしれません。すべてがうまくいくことを期待するのではなく、同じビルドを持つためにアップデートすることを提案しました。 Igorさんは、製品版のインジケーターで実験されているのでしょうか、それとも実験的なインジケーターで実験されているのでしょうか? 先ほど、ビルド1865でターミナルを再読み込みしたところ、すべて正常に動作しました。このメッセージを書いている間、定期的にチャートを見たり、チャートのウィンドウを切り替えたり...。しかし、シフトしたチャートは、ティックやスイッチングが入ってきても動じない。 以下はコードの全体像です。 #property indicator_chart_window #property indicator_plots 0 //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping ChartSetInteger(0, CHART_AUTOSCROLL, false); ChartSetInteger(0, CHART_SHIFT, false); ChartNavigate(0, CHART_END, 0); if(ChartNavigate(0, CHART_END, -100)) Comment("Успешно"); else Comment("Ошибка №", GetLastError()); //ChartRedraw(ChartID()); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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[]) { //--- //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { Comment(""); }/********************************************************************/ ある端末はこうで、別の端末はこうで、ということはなぜかないんです。 Artyom Trishkin 2018.06.27 09:09 #47 Alexey Viktorov:私は、すべてがうまくいくことを期待するのではなく、ビルドが同じになるように更新することを提案しました。 Igorさん、フルバージョンのインジケーターで実験されているのですか、それとも実験用のインジケーターで実験されているのですか? 先ほど、ビルド1865でターミナルを再読み込みしたところ、すべて正常に動作しました。このメッセージを書いている間、定期的にチャートを見たり、チャートのウィンドウを切り替えたり...。しかし、シフトしたチャートは、ティックやスイッチングが入ってきても動じない。 以下はコードの全体像です。 なんとなくですが、一方の端末がこうで、もう一方がそうでないとは思えません。歴史がまったくないシンボルを見てみよう Alexey Viktorov 2018.06.27 09:16 #48 Artyom Trishkin:全く歴史のないシンボルを探してみるどうすればいいのか? スレッドの最初の投稿の説明によると、それはインジケータであり、それは開いているチャートにハングアップします - それは、すでに履歴が読み込まれていることを意味します。そうだろ?インジケータを掛ける、端末を閉じる、端末を起動 する、---履歴はどこへ行くのか?もし、すでにあったのなら... 次に、EURMXNのシンボルをオープンしました。端末を見ずに、それが何であるか分かりますか?))) Artyom Trishkin 2018.06.27 09:22 #49 Alexey Viktorov:どうすればいいのか? スレッドの最初の投稿の説明によると、それはインジケータであり、それは開いているチャートにハングアップします - それは、すでに履歴がロードされていることを意味します。そうだろ?インジケータを掛ける、端末を閉じる、端末を起動 する、---履歴はどこへ行くのか?もし、すでにあったのなら... 2つ目は、EURMXNのシンボルを開いたことです。端末を見ずに、それが何であるか分かるのでしょうか?)))いや、無理だ...。 私が言いたかったのは、おそらくヒストリカルデータを読み込むと、チャートが終わりに向かってずれるということです。 分単位のタイムフレームにインジケータを置き、ターミナルを閉じて1時間後に開くと、ターミナルが不足分の読み込みを開始します。ずれるのでしょうか? Alexey Viktorov 2018.06.27 10:17 #50 それはニュースだ!!! H1、H4の期間限定チャートを開いて、テストに使いました。現在、M1、M5、M30で実験を開始しました。動かない!!! H1、H4への切り替えは、新しい時間があっても問題ありません。これは、昨日か今日の未明、あるいは昨日と今日の両方でテストされたものです...。ということではなく、時間の変化にとらわれてしまったのです。 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
いいえ、そうではありません。それこそがポイントだからです。これがどういうことなのか、もう少し詳しくお話ししましょう。トレーダーは、まるでテスターのようにチャートを使う。このインジケータは、現在と思われる時刻の右側に実際のチャートの一部を隠しています(実際には、この時刻は履歴のどこかにあります)。F12を押すと、オンラインチャートに次のローソク足が表示されるなど。そのため、インジケータを 装着した状態で端末を再起動しても、チャートの位置はトレーダーが学習を終了した場所に戻りません。その結果、端末が最後の本物のローソク足にチャートをリセットするため、彼/彼女は空のチャートを受け取ることになります。しかも、まったく別の場所で端末が降ろされたにもかかわらず、である。
興味深い観察結果です。自分でも確認したのですが、残念ながら何も変わっていませんでした。今でもリローディングで一番新鮮な価格で購入できます。
時計を同期させる」ことを提案します。ビルド1861ですべてテストしています。あなたの体型は?
このような行を前面に追加するとよいでしょう。
にして、ずらす?
もしくは、どこにもずらさないでください。こちらも問題なく動作しています。
どのバーでターミナルを閉じたか、どのバーで開いたか。
しかし、このバリアントは非アクティブウィンドウ上にもチャートを保持します。 嗚呼。このコードがなくても、チャートは固定されています。
前面に次のような行を追加するとよいでしょう。
を、後からずらすのですか?
そう、フルバージョンにはそのすべてが詰まっているのです。端末を再起動せずに作業すれば、すべて問題ありません。しかし、再起動するとこのような問題が発生します。そして、松葉杖の解決策も、いつも役立つとは限りません。さらに調査してみます。
そう、フルバージョンにはそのすべてが詰まっているのです。端末を再起動せずに作業すれば、すべて問題ありません。しかし、再起動するとこのような問題が発生します。そして、松葉杖の解決策も、いつも役立つとは限りません。さらに調査してみます。
しかし、端末の再起動も実験してみました。何が問題なのでしょうか?アップデートをダウンロードさせたが、今のところキャンセルしている。あなたもアップデートしたほうがいいのでは?
1865年製にアップグレード。問題は残る。
さらに、チャート上にデータを完全にロードした後、ChartNavigate()を使用しても、チャートは必要な場所にしばらく表示されますが、新しいティックでは、まだ一番最後のバーに戻ることが判明しています。オートスクロールボタンは無効で、他のインジケーターは使用しません。
手動でチャートを移動させても、このようなことは起こりません。今は途方に暮れています。明日、新鮮な目で見て、どこかで失敗していないか調査してみます。
スクリプトです。CHART_CURRENT_POS の場合のみ、安定します。CHART_BEGIN と正の "Shift"、CHART_END と負の "Shift" の場合、チャートは移動しないか、最新の価格にジャンプ(勝手にスクロール)します:自動スクロールボタンが有効な場合です。
1
1865年製にアップグレード。問題は残る。
さらに、チャート上にデータを完全にロードした後、ChartNavigate()を使用しても、チャートは必要な場所にしばらく表示されますが、新しいティックでは、まだ一番最後のバーに戻ることが判明しています。オートスクロールボタンは無効で、他のインジケーターは使用しません。
手動でチャートを移動させても、このようなことは起こりません。今は途方に暮れています。明日、頭を冷やしてもう一度調査してみます。もしかしたら、どこかで失敗しているかもしれません。
すべてがうまくいくことを期待するのではなく、同じビルドを持つためにアップデートすることを提案しました。
Igorさんは、製品版のインジケーターで実験されているのでしょうか、それとも実験的なインジケーターで実験されているのでしょうか?
先ほど、ビルド1865でターミナルを再読み込みしたところ、すべて正常に動作しました。このメッセージを書いている間、定期的にチャートを見たり、チャートのウィンドウを切り替えたり...。しかし、シフトしたチャートは、ティックやスイッチングが入ってきても動じない。
以下はコードの全体像です。
ある端末はこうで、別の端末はこうで、ということはなぜかないんです。私は、すべてがうまくいくことを期待するのではなく、ビルドが同じになるように更新することを提案しました。
Igorさん、フルバージョンのインジケーターで実験されているのですか、それとも実験用のインジケーターで実験されているのですか?
先ほど、ビルド1865でターミナルを再読み込みしたところ、すべて正常に動作しました。このメッセージを書いている間、定期的にチャートを見たり、チャートのウィンドウを切り替えたり...。しかし、シフトしたチャートは、ティックやスイッチングが入ってきても動じない。
以下はコードの全体像です。
なんとなくですが、一方の端末がこうで、もう一方がそうでないとは思えません。歴史がまったくないシンボルを見てみよう
全く歴史のないシンボルを探してみる
どうすればいいのか?
スレッドの最初の投稿の説明によると、それはインジケータであり、それは開いているチャートにハングアップします - それは、すでに履歴が読み込まれていることを意味します。そうだろ?インジケータを掛ける、端末を閉じる、端末を起動 する、---履歴はどこへ行くのか?もし、すでにあったのなら...
次に、EURMXNのシンボルをオープンしました。端末を見ずに、それが何であるか分かりますか?)))
どうすればいいのか?
スレッドの最初の投稿の説明によると、それはインジケータであり、それは開いているチャートにハングアップします - それは、すでに履歴がロードされていることを意味します。そうだろ?インジケータを掛ける、端末を閉じる、端末を起動 する、---履歴はどこへ行くのか?もし、すでにあったのなら...
2つ目は、EURMXNのシンボルを開いたことです。端末を見ずに、それが何であるか分かるのでしょうか?)))
いや、無理だ...。
私が言いたかったのは、おそらくヒストリカルデータを読み込むと、チャートが終わりに向かってずれるということです。
分単位のタイムフレームにインジケータを置き、ターミナルを閉じて1時間後に開くと、ターミナルが不足分の読み込みを開始します。ずれるのでしょうか?
それはニュースだ!!!
H1、H4の期間限定チャートを開いて、テストに使いました。現在、M1、M5、M30で実験を開始しました。動かない!!!
H1、H4への切り替えは、新しい時間があっても問題ありません。これは、昨日か今日の未明、あるいは昨日と今日の両方でテストされたものです...。ということではなく、時間の変化にとらわれてしまったのです。