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

 
Ilya Malev:

...

とにかく、OnTimerからOnCalculateを呼び出すとうまくいくことが曲りなりにも示されている)

時系列で正しい値の伝達を追加する必要がある

記事には、まさにこの例が示されています。)

同じ方法でテストした別の例はこちら:MQL5レシピ - 価格乖離分析用多通貨インジケータの開発 >>>。

 
Karputov Vladimir:

OnCalculate()を終了する前に変数countをインクリメントする必要があります - そうすれば、この変数はOnCalculateのすべての実行を正しくカウントします。

全部をカウントするのではなく、石目計算までしかカウントしないはずです。その間ずっと、countは0以上、そして-1だった。実はどうでもいいことなんです。大切なのは

1) インジケーターの最初の起動時に、一度呼び出され(OnCalculate)、「更新」ボタンを押さなければ、次のティック(土日祝日、最大数日)まで起動しない。

2) この最初の呼び出しでは、 Ishimokuインジケータは 計算する時間がない(より複雑なインジケータはともかく)。

3) OnCalculateの代わりにOnTimerを使用する場合(またはOnTimerからOnCalculateを呼び出す場合)、ユーザーは自動的に構築されるインジケータを開始することができ、そうでなければ、ユーザーは(おそらく数回)更新ボタンを押すか、次のティックを待つ必要があります。同じMT4と比較すると、明らかに不便です。

アナトリ・カザルスキー
シンプルな指標ではごく普通のことです。しかし、より複雑なものでは、正しく動作しないことがあります。)
私見ですが、OnCalculateの代わりにOnTimerを使うのが簡単だと思います。
 
Ilya Malev:

そこでは、すべてを数える必要はなく、「石目」の計算まででよかった。その間ずっとカウントは0以上になり、その後-1になっていた。一般的には、問題ありません。大切なのは

...

OnCalculateでユーザーが入力数を確認できるようにすることです。同時にOnCalculate自体でも、CopyBufferの 結果が0以上の場合、バッファの値への 取り込みに成功した旨のメッセージを表示します。その結果、OnCalculateの入力成功数が視覚的に確認できるようになりました。
 
Karputov Vladimir:
OnCalculateでユーザーが入力数を確認できるようにすることです。この場合、OnCalculate 自体では、CopyBuffer の結果が 0 より大きいとき、バッファへの値の 受信に成功した旨のメッセージを出力する。その結果、OnCalculateの入力成功数が視覚的に確認できるようになりました。

わかりますよ、ただ、もうこの例から少し先に進んでしまっているんです。使って、整理して、本題に戻りました。例では、1回目の実行から週末に計算が行われないことを確認した。少なくとも私にはそれが確認できました。常に "Refresh "をクリックする必要がありました。個人的には、ユーザーにとって許せないことだと思います。そこで、OnTimerでやってみることにします。

削除済み  

OnCalculateでタイムスケールの準備ができるのを待つことはできません。そのため、準備ができていない場合は、1ミリ秒間のEventTimerを作り、OnTimerで準備状況を確認します。タイムスリリーの準備ができたら、すぐにOnCalculateを 呼び出し、KillTimerでタイマーを終了させます。

もう一つ質問があるのですが、必要なタイムラインがすべて準備できているかどうかを100% 確認するにはどうしたらよいのでしょうか?

 

他のインジケータから呼び出されるインジケータのOnTimerが全く実行されないようです。そのため、OnTimerから更新することはできません。MT4に比べて、操作中にチャートの「更新」を何十回も無駄にクリックするのを我慢しなければならないようです。

ツールバーにはそのようなオプションはなく、またホットキーもないため、運が悪いことにメニューからマウスを使って毎回行うことになります。そして、1秒よりはるかに長い時間をかけて作られる「重い」インジケーターがあります。

 
Ilya Malev:

...また、ビルドに1秒よりはるかに長い時間を要する「重い」インジケータがあります。

インジケーターが "重い "という問題に遭遇したことがあります。リンク先に順番に目を通してみてください-きっと興味を持たれるはずです。

重要なポイント - シンボルのための1つの重い指標は、そのシンボル上のすべてのEAの作業を遅くする。別のチャットでも!!!!!。重いインジケータは悪だ :)

2)問題解決のための説明と選択肢を含むテーマ

3.マーケット内での問題の解決 方法

 
Andrey Miguzov:

重い」指標という問題に直面。リンク先を順番に見ていってください。

私はEAと指標の間でデータを交換する必要はありませんし、指標自体は、一部「重い」ものの、開始時にすべての履歴の計算の瞬間にのみ、比較的長い計算を実行します。

問題は、OnCalculateの 最初の起動 時にこのインジケータで使用している他のすべてのインジケータの計算を待つことができず、OnCalculate自体が次のティックで初めて再度呼び出されることで、例えば週末には存在しないのです。OnCalculateの代わりに(あるいは一緒に)OnTimerを使うことはできません。なぜなら、ユーザーによって呼び出されたのではなく、例えばiCustomを使って他のインディケータから呼び出されたインディケータでは呼び出されないからです(私のテストによると今のところそうです)。インジケータに使われている全てのインジケータの計算を自動的に待ち、ユーザーの干渉を受けずに(新しいティックの頻度が足りなければ、チャートのドロップダウンメニューから「更新」ボタンを定期的に押さずに)情報を提供するソリューションを見つけたいのです。

 
Ilya Malev:

Expert Advisor と指標の間でデータのやり取りをする必要がなく、指標自体も、一部「重い」けれども、開始時の全履歴の計算の瞬間だけ比較的長い計算をする。

問題は、OnCalculateの 最初の起動 時に、このインジケータで使用している他のすべてのインジケータの計算を待つことができず、OnCalculate自体が次のティックで初めて再度呼び出され、例えば週末には存在しないことである。OnCalculateの代わりに(あるいは一緒に)OnTimerを使うことはできません。なぜなら、ユーザーによって呼び出されたのではなく、例えばiCustomを使って他のインディケータから呼び出されたインディケータでは呼び出されないからです(私のテストによれば今のところそうです)。私は、インジケータが自動的にすべてのインジケータの計算を待ち、ユーザーの介入なしに情報を提供できるような解決策を見つけたいと思います(新しいティックの頻度が十分でない場合は、チャートのドロップダウンメニューから「更新」ボタンを定期的に押さずに)。

そのようにタスクが設定されていれば、本当に必要ないのです。

しかし、インジケータを作成し、インジケータからデータを受け取り、データを処理し、結果をインジケータビジュアライザに渡すExpert Advisorを作成することは可能です。そうすれば、あなたがおっしゃるような問題は起きないでしょう。その他にも、さまざまな問題が...。

この解決策はあまり良いものではありませんが、記述したような問題を解消するのに役立ちます。

 

mt5でリアル口座を 開設した場合、社員から電話がかかってきて口座開設の手続きが完了するまで、どのくらいかかるのか、教えてください。