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

 
Alexey Kozitsyn:
はい、もちろんです。
まあ、もしそうで、値が0に設定されていれば、もちろん何かが間違っているわけですが...。画像から、各バーに値0の矢印があるのがわかると思います。
 
Alexey Viktorov:
もしそうで、値が0であれば、確かに何か問題があるのでしょう...。画像から、各バーに値0の矢印があるのがわかると思います。
仕掛けは、empty =EMPTY_VALUE です。
 
Alexey Kozitsyn:
仕掛けは、empty =EMPTY_VALUE です。
Emptyは空ですが、PLOT_EMPTY_VALUEには、グラフやデータウィンドウに表示されない値が割り当て られています。EMPTY_VALUEを0に変更してみてください。
PlotIndexSetDouble(plot_index, PLOT_EMPTY_VALUE, 0);
 
(string)NormalizeDouble(0.99872, 5) - 非常に長い結果です。
 
Alexey Viktorov:
Emptyは空ですが、PLOT_EMPTY_VALUEには、チャートおよびデータウィンドウに表示されない値が割り当て られています。EMPTY_VALUEを0に変更してみてください。
いや、まだクラッシュはある。ここで、EMPTY_VALUEを EMPTY = EMPTY_VALUE定数に置き換えてみました。今は良くなっています。しかし、それでもTFを変更するとチャートにゴミが出る。EMPTY = 0とした。さらに良いのですが、やはりTFが頻繁に変更されると、チャートにゴミが含まれます。一般的には、CDにアプリケーションを書き込むことが多いのですが。
 
Alexey Kozitsyn:
いや、まだバグがあるんです。これで、コード中のEMPTY_VALUEを 定数EMPTY = EMPTY_VALUEに置き換えて みました。今は良くなっています。しかし、それでもTFを変更するとチャートにゴミが出る。EMPTY = 0と した。さらに良いのですが、やはりTFが頻繁に変更されると、チャートにゴミが含まれます。一般的には、CDにアプリケーションを書き込むことが多いのですが。

あれは何だったんだろう?全く別の話をしていたんです。まあ、ピンチの時はバッファのリセットの代わりに

ArrayInitialize(массив, 0);

に設定することができます。

ArrayInitialize(массив, EMPTY_VALUE);
 
Alexey Viktorov:

あれは何だったんだろう?全く別の話をしていたんです。まあ、ピンチの時はバッファのリセットの代わりに

にすればいい。

コード内のすべての初期化処理を一度に変更することです。書いたコードは必要な場所で初期化されます。ArrayInitialize() はOnDeinit()の中で実行されますが、その結果はすでに前述したとおりです。
 

Alexey Kozitsyn:
...

ArrayInitialize()はOnDeinit()の中で実行されますが、その結果は既に上述した通りです。

OnInit()を試してみてください。
 
Anatoli Kazharski:
OnInit()の中で試してみてください。

初回実行時にOnCalculate()で初期化がある(prev_calculated == 0)。OnInit()に移動することで何か変わると思いますか?まあ、もちろん努力はしますが、これは空想の域を出ないものなので......。

カットする。やはり、OnDeinit()で配列を初期化 し、次の起動時(入力パラメータ変更時)には使用しないようにしました。これ(バッファとして使用しない配列の初期化)が役に立てば-それもMTのバグでしょう。配列が使われていないだけでなく、(マークアップされていない)配列が初期化されても、表示に影響が出ることが判明します...。

 
fxsaber:
(string)NormalizeDouble(0.99872, 5)は非常に長い結果です。

こんにちは。

メッセージありがとうございます。