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

 
Alexey Navoykov:
以前から、大きなプロジェクトでカスタムマクロ名をハイライトすると、必ずしもうまくいかないことに気づいていました。 他のファイルで定義された多くのマクロが、なぜかハイライトされません。 まだパターンを解明できていません。 私が見たのは、あるファイルのある行以降で定義されたマクロが、他のファイルではハイライトされないことです。 誰かこの現象が起こった人はいませんか?
はい
 
Alexey Navoykov:
以前から、大きなプロジェクトでカスタムマクロ名をハイライトすると、必ずしもうまくいかないことに気づいていました。 他のファイルで定義された多くのマクロが、なぜかハイライトされません。 まだパターンを解明できていません。 私が見たのは、あるファイルで定義されたすべてのマクロが、ある行を境に他のファイルではハイライトされなくなることです。 誰かこの現象を見た人はいませんか?

私も似たようなことに気づきました。その正確さは保証できない。

 
Alexey Navoykov:
以前から、プロジェクト内のカスタムマクロ名が常にハイライトされるわけではないことに気づいていました。 他のファイルで定義された多くのマクロはハイライトされません。 まだ理由はわかりませんが、あるファイルで定義されたすべてのマクロは、ある行を境に他のファイルではハイライトされなくなります。 誰かこの現象を見たことがある人はいますか?

新しい変数やクラス・フィールドの自動修正がうまくいかないことがありますが、通常はプロジェクトを 再コンパイルすることで修正できます。

私の理解では、MEではバックグラウンドでハイライトと自動修正を処理するプロセスが実行され、ある時点で、すべての情報を更新する時間がない(またはしたくない)のです。

 
さて、rates_totalについてですが、OnCalculateの どのような構築がよりスマートで最適なのか、コミュニティに質問させてください。
以前はOnCalculateでこのような構造を使っていたのですが、
if (rates_total==prev_calculated) {}        // новый тик, перерисовываем последний бар, все бары на своих местах
else if (rates_total-prev_calculated==1) {} // момент формирования нового бара 
else {}                                     // пересчитываем последние(rates_total-prev_calculated) бар


しかし、prev_calculated>rates_totalとなる状況があるかもしれないことに気づいてからは、何もわかっていないことに気づき、諦めて、すべてのバーの再計算が数秒程度で済むなら、そういう作りにするようにしました。

if (rates_total==prev_calculated) {}        // новый тик, перерисовываем последний бар, все бары на своих местах
else if (rates_total-prev_calculated==1) {} // момент формирования нового бара 
else {}                                     // пересчитываем все бары

どうすればいいのか、どうすればうまくいくのか。

 
Nikolai Semko:
rates_totalについて話しているので、OnCalculateのどの構造がよりエレガントで最適なのか、コミュニティに質問させてください。
OnCalculateでこのような構造を使っていました。


しかし、prev_calculated>rates_totalとなる状況があるかもしれないことに気づいてからは、何もわかっていないことに気づき、諦めて、すべてのバーの再計算が数秒程度で済むなら、そういう作りにするようにしました。

誰がどのように行い、どのように、一般的に有能なのか?

何が起こっているのか理解できるからこそ、リテラシーがあるのです。施工についての注意点の代わりに >=1 と書くか、if(rates_total > prev_calculated) と書くと、ミスしたバーがポンプアップされた場合に再計算されます。

さらに、mql5やmql4の厳密な指示では、配列を オーバーシュートさせないために、左端のバーから何本目のバーが計算に含まれるかも考慮する必要があります。ということは、私自身、あらゆるシーンに対応できるテンプレートがないことがわかります。

 
Nikolai Semko:
さて、rates_totalについてですが、OnCalculateのどのような構築がよりエレガントで最適なのか、コミュニティに聞いてみたいと思います。
OnCalculateでこのような構造を使っていました。


しかし、prev_calculated>rates_totalとなる状況があるかもしれないと理解したとき、何も理解していないことに気づき、頭を振り、すべてのバーの再計算が数秒以内で済むのであれば、この構造を採用することにしたのです。

は、誰がどのように行い、どのように一般的に正しく行われているのでしょうか?

limit = rates_total - prev_calculated を計算しています。
そして、limit > 1 であれば、limit = rates_total - 1 (または最初の計算に必要なバー数-1)と初期化する。
そして、limitから>=0までのループ。
携帯電話からコードができない・・・。
 
Nikolai Semko:
rates_totalについて話しているので、OnCalculateのどの構造がよりエレガントで最適なのか、コミュニティに質問させてください。
OnCalculateでこのような構造を使っていました。


prev_calculated>rates_totalの状況があることを理解したとき、私は何も理解していないことに気づき、すべてのバーの再計算が数秒以上かからないのであれば、あきらめてこの構造を使用することにしたのです。

誰がどのように、どのように、一般的に、有能なのか?

原則として、質問は、開発者からの例では、(MTの配信)計算の異なる方法を、さらにBarsCalculated()Bears.mql5で使用されて関連しています。

私は最近、MT4の下で議論して、今のところ、次のパターンに落ち着きました: https://www.mql5.com/ru/forum/314931/page2#comment_11946579

MT5で確認する必要がありますが、チャートの挙動が違います(MT4 / MT5)。MT5では、マウスホイールで履歴の最初にスクロールすると、prev_calculatedがゼロにリセットされるようです。昨年、MT5でインディケータを書きましたが、そのような挙動を見て驚きました。

ZZY:カスタムチャートを作成し、タイマーで履歴をスクロールする - rates_totalとprev_calculatedの動作を追跡するために、いわゆるテストベッドが必要 - rates_totalとiBars()の不一致について数ページ前にここに書いた - それも考慮に入れる必要があります。

彼のインジケータの書き方は、すべてが丁寧で好感が持てます。 ただ、ソースコードの書式に非常に癖があるのが難点です。

 
Igor Makanu:

源氏物語独特の形式


 
Сергей Таболин:


スタイラーの 使い方はわかったのですが、1行に複数の演算子を入れるとスタイラーが効かないのです

;)

https://www.mql5.com/ru/code/22766
 

ちょっと質問です。

ulongは最大値18............................。

61という値が出たのですが......。

そして、この値のIntegerToString() は、90を出力する.........まったく。

問題を見つけるのに時間がかかりました。

ローカライズする方法はないのでしょうか?