再初期化でカタチが変わってしまうインジケータへの応急処置。
リペイントするインジケータで有名なものの1つに SOLAR WIND が知られています。
私は使い方を知らないので、何が正しいのかは分かりませんが、、このインジケータを表示させてから、何本か Bar が生成した後に、インジケータのプロパティを開いて閉じる(=再初期化する)と、カタチが変わってしまいます。(上図チャートの上段が初期化前、下段が初期化後)
このようなインジケータを常に再初期化された状態にしておきたい場合、正攻法はロジックを理解して適切な修正を施す事だと思いますが、それが面倒な時は以下のような書き換えで済むことがあります。
int counted_bars = IndicatorCounted(); ↓ int counted_bars = 0;
IndicatorCounted() は、前回計算した Bar の本数を返すので、その値をゼロにしてしまえば、全ての Bar を最初から計算することになる訳です。これは、どんなインジケータでも上手く行く…というものではありませんが、知っておいて損は無いテクニックかなと思います。