エラー、バグ、質問 - ページ 2934

 
Vitaly Muzichenko:

そのため、データがコピーされていない場合は終了するようにする

次のクリックですべてが読み込まれ、コードが正しく動作します。

いいえ、私の場合、コードはひどく間違って動作し、オブジェクトはインジケータ内の位置から滑り落ちてしまいます。履歴の読み込みに対応する...

 
Евгений Баженов:

こんにちは、私は自分のロボットをテストしています、テストが終わった 後、ログにrequotesと多くのフィールドを見ました、これらのメッセージスタックは何を意味し、それらを表示しないようにするには、コードに何を追加することができますか?ありがとうございます!あけましておめでとうございます

シンボルの取引セッションは、クォートセッションより小さいと推測されます。その後、相場はテスターに入るが、その期間中の取引は禁止されている。

 
x572intraday:

バカなのは、https://www.mql5.com/ru/docs/series/timeseries_access、コードに履歴を読み込むという記事でSleep()に触れていますが、Sleep()のヘルプには「Sleep()関数はカスタムインジケーターからは呼び出せません、なぜならインジケーターはインターフェーススレッドで実行されるので遅くしてはいけません」と書かれていることです。インジケータで履歴を読み込む必要があることが判明しました。

誰のバカ?

EAではなくインジケーターにデータを要求した場合、この同じデータを遅滞なく受信することができます。Vitalyが正しく言っている。

OnInitで必要なシンボル期間を要求し、必要な履歴の作成を開始させる。

 
Slava:

誰のバカ?

エキスパートアドバイザーではなく、インジケーターからデータを要求した場合、このデータは遅延なく、そのまますぐに提供されます。ヴィタリーは正しく言った。

OnInitで必要なシンボル期間を要求し、必要な履歴の作成を開始させる。

1.もし私の理解が正しければ、インジケーターの最初に一度だけリクエストすることをお勧めします ここhttps://www.mql5.com/ru/docs/runtime/event_fire Init イベントは、多くの条件に囲まれています。「このイベントは、シンボルやチャートの期間を変更した後、MetaEditorでプログラムを再コンパイルした後、EAやカスタムインジケータからの入力パラメータを変更した後にも生成さ れます。Expert Advisor もアカウント変更後、初期化されます。" しかし、ユーザーはこれらのイベントを発生させる必要はなく、唯一現在のTFにゆったりと座って指標を見ることができるので、複数回の履歴の再初期化と再読み込みは起こりません。しかし、履歴の欠如は必ずしも作業開始時に発生するわけではなく、作業中のランダムなタイミングで突然繰り返しエラーが発生する(さらに言えば、指標の長期作業中には全く発生しない場合もあり、作業開始時にはエラーが発生していないことも多い)。それなら、OnInitだけ でなくOnCalculateでも 履歴の欠落部分をダウンロードすれば、エラーの再発を防ぐことができるのではないでしょうか?

それとも、「正しい履歴の構築を開始する」というのは、OnInitで 一度やっておけば、あとは必要ないということでしょうか?しかし、このインジケータはマルチタイム・リライムであるため、全履歴を読み込み、すべてのタイムフレームをチューニングしてもエラーが発生する一方で、同じ条件下ではエラーが発生しないこともあります。

2.歴史の一部が欠落している」とはどういう意味ですか?インストール後、初めてターミナルを起動すると、欠落していた履歴、文字通り左側の以前の履歴がダウンロードされます。しかし、CopyTime(_Symbol,tf,0,1,Arr)をコピーする、つまり履歴バーではなく右側の最新バーをコピーしてしまうのです。新しいバーは、歴史やその欠落に何らかの形で関わることができるのでしょうか?

3.私の曖昧な説明では問題を理解できないかもしれないことは認めます。https://www.mql5.com/ru/forum/133408。 したがって、私はCodeBaseを通じて インジケータを無料で公開したいので、開発者や一緒にデバッグしたい他の人とコメント付きのコードを共有する用意があるのです。ところで、その場合、未発表のフリーコードを公開してもいいのでしょうか?

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
События клиентского терминала - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:

1.私の理解が正しければ、インジケータの動作開始時、OnInitで 一度リクエストを行うことを提案していますね。こちらhttps://www.mql5.com/ru/docs/runtime/event_fire Init イベントは、多くの付帯条件に囲まれています。「このイベントは、シンボルやチャートの期間を変更した後、MetaEditorでプログラムを再コンパイルした後、EAやカスタムインジケータからの入力パラメータを変更した後にも生成さ れます。Expert Advisor もアカウント変更後、初期化されます。" しかし、ユーザーはこれらのイベントを発生させる必要はなく、唯一現在のTFにゆったりと座って指標を見ることができるので、複数回の履歴の再初期化と再読み込みは起こりません。しかし、履歴の欠如は必ずしも作業開始時に発生するわけではなく、作業中のランダムなタイミングで突然繰り返しエラーが発生する(さらに言えば、指標の長期作業中には全く発生しない場合もあり、作業開始時にはエラーが発生していないことも多い)。それなら、OnInitだけ でなくOnCalculateでも 履歴の欠落部分をダウンロードすれば、エラーの再発を防げるのでは?

それとも、「正しい履歴の構築を開始する」というのは、OnInitで 一度やっておけば、あとは必要ないということでしょうか?しかし、一方では、このインジケータはマルチタイムおよびリルタイムであるため、シンボルの全履歴を読み込み、すべてのタイムフレームを終了してもエラーが発生し、他方では、同じ条件ではエラーが発生しない場合があります。

2.物語の一部が欠落している」という概念そのものは、どのような意味を持つのでしょうか。インストール後、初めてターミナルを起動すると、欠落していた履歴、文字通り左側の以前の履歴がダウンロードされます。しかし、CopyTime(_Symbol,tf,0,1,Arr)をコピーする、つまり履歴バーではなく右側の最新バーをコピーしてしまうのです。新しいバーは、何らかの形で歴史やその欠落に関わることができるのでしょうか?
指標では、要求されたデータが準備できていない場合、誰もその出力を保証してくれません。

スクリプトとExpert Advisorは十分な保証があります。

したがって、指標では、データが利用可能になるサイクルを待つことになる。

正しいデータを取得する確率を上げるために、インジケータで偽のデータ要求をする。これにより、データのバックグラウンドでの読み込みが誘発されます。
 
Renat Fatkhullin:
指標では、要求されたデータが準備できない場合、誰も発行することを保証しない。

私の低い鐘楼から見ると、要求されたデータは現時点で最新のバーであるため、準備ができているように見えます。準備できないわけがない。チャート上に表示されれば、準備完了です。

 
Renat Fatkhullin:
指標では、要求されたデータが準備できていない場合、誰もその公開を保証してくれません。

スクリプトとエキスパートには、十分な保証があります。

だから、指標はデータの可用性のサイクルに次ぐサイクルを待つことになる。

かっこいい...ポストの中の新年でも新年あけましておめでとうございます !!!!

 
x572intraday:

私の低い鐘楼から見ると、要求されたデータは現時点で最新のバーであるため、準備ができているように見えます。準備できないわけがない。チャート上に表示されれば、準備完了です。

私の答えをよく読んでください。
 
Renat Fatkhullin:
私の答えをよく読んでください。

データの可用性という概念を定義する必要がある。端末にバーが表示された場合、すでに利用可能なのか、それとも他の選択肢があるのか?そうそう、レナートさん、前回の記事のポイント3はどうですか?

 
x572intraday:

データの可用性という概念を定義する必要がある。端末にバーが表示された場合、すでに利用可能なのか、それとも他の選択肢があるのか?そうそう、レナートさん、前回の記事のポイント3はどうですか?

関数の応答があった場合、データは使用できません。

もし、それに反する証拠があるのなら、完全に一貫した、技術的に再現可能な方法で提供する必要があります。