マルチタイムフレームは気をつけないとリペイント処理されてしまう
トレーディングビューでマルチタイムフレームのPINEスクリプトを書くと以下のようなコードとなる。
plot(security(syminfo.tickerid, <span class="hljs-string">"60"</span>, sma(close, <span class="hljs-number">10</span>)), color=color.blue, offset=<span class="hljs-number">0</span>, linewidth=<span class="hljs-number">3</span>)
このコードのままだと、
どーやらリペイントというものが発生していて、先読みしてしまうことで、ローソク足が確定する前の情報をよんで描画してしまうという現象が起きる。
初回の読み込み時は問題ないけど、、、ずーっと表示してると、チャートがグチャグチャになってしまうので、、、まともに使えないやんってことになる。
また、ストラテジーのコードを書くとこの先読みのリペイント現象が発生してしまうことでめちゃくちゃ利益でそうなものがかけてしまう。マルチタイムフレームを使ったストラテジーには気をつけないと…ほんと、騙されてしまう。でも、tradingviewでは、こういったリペイント処理されちゃってるコードが多いのも事実です
=>過去の記事
ここで掲載した及川式のPINESCRIPTはリペイントしちゃってるので(汗)、

リペイントなしにしたい場合は、次に紹介するコードを参考に修正してください。
トレーディングビューでのリペイントを防ぐ方法
リペイントを防ぐ方法としては、security関数にオプションつけて実行するだけでOKのようだ。
f_secureSecurity(_symbol, _res, _src) => security(_symbol, _res, _src[1], lookahead = barmerge.lookahead_on)
plot(f_secureSecurity(syminfo.tickerid, <span class="hljs-string">"60"</span>, sma(close, <span class="hljs-number">10</span>)), color=color.blue, offset=<span class="hljs-number">0</span>, linewidth=<span class="hljs-number">3</span>)
参考にした情報

ここでは、いろいろなリペイントする、しないの比較が一括でできるpinescriptが掲載されており参考になる。f_secureSecurityを使うやり方が一番シンプルで簡単なやり方となるようです。
それにしても、、、これだけ違いがでるのかぁ・・・。