chatGPTでPINEscriptのインジケータ書いてみた。3日目から5日目
PINEscriptのdebugについて
昨日、chatGPTにしてやられたのでデバッグを自分でやるしかない。ところがPINEscriptではコンソール出力できない、代替物の紹介。
参考にしたサイトはこちら。
コンソール出力に代わりに、バーの値を表示させる「データウインドウ」、これはバーの4本値やインジケータの値だけじゃなくて、明示すればデバッグ情報も、表示させることができるそうな。
チャート画面右側の縦メニューアイコンの、データウインドウ(上から4つめ)をクリックすると表示される。
label()を使って、ここに数値や文字を表示させる。
参考画像
さらに参考になるPINEスクリプトのコードがこちら。
データウインドウに表示させる関数とサンプルを聞いてみた。
ちゃんと動くか検証していく。
label.new , NG
plotchar , OK
plot , OK
alertcondition , コンパイルエラー
alertcondition の コンパイルエラーを聞いてみた。
次に、plotchar と plot を同時に動かせるか、やってみた。
結果はOK。(plotの表示色をオレンジに変更した)
デバッグのためにデータウインドウに表示出したいだけなら、plotcharとplot使うのが簡単。
plotcharの色をRSIの値に応じて変えてみた。60以上、40以下、それ以外の3色で指定した。
結果は、RSI値に応じて色が変わるとデータウインドウの数値の色も変わるのでデバッグしやすくなった。
// RSI計算
rsi = rsi(close, length)
// データウインドウに変数の値を表示
color = color.yellow
if rsi >= 60
color := color.blue
else if rsi <= 40
color := color.red
plotchar(rsi, color=color, title="RSI", location = location.top)
//
plot(rsi, "RSI", color.gray, linewidth=1)
これならデバッグで使える。
以上、ここまで。次からはこのデバッグ手法を使って動かしたいコードのデバッグに入ります。
チップはこちらからお願いします