2回目 Trading ViewのPineスクリプトv5 検証期間の指定

マジで難しい。
本当はもっとシンプルに出来るんだろうけど、自分ではこれが限界。下の方に一応の説明は入れとくけど、めっちゃ雑。

検証期間の指定をできるように改変したよ。
後、コピペすると、なんかifのところに赤色の空白入るようになった。邪魔くせえ。

今度は、取引してるところに分かりやすい矢印とか出せるやつ付け加えたい。

後、役に立ったらお気持ち代ください。うまい棒買います。

//@version=5
strategy("ストラテジー名", overlay=true)

//パラメーターグループの作成
G1 = "インジケーター"
G2 = "検証期間"

//使った関数っぽいやつ。今はSMAをセット中。
Name1 = input.int(1,"パラメーター名1", group=G1)
Name2 = input.int(1,"パラメーター名2", group=G1)
Name3 = ta.crossover(ta.sma(close, Name1), ta.sma(close, Name2))
Name4 = ta.crossunder(ta.sma(close, Name1), ta.sma(close, Name2))

//時間指定するためのコード
test_year1 = input.int(2022,"開始年", group=G2)
test_month1 = input.int(1,"  月", group=G2)
test_day1 = input.int(1,"  日", group=G2)
test_year2 = input.int(2022,"終了年", group=G2)
test_month2 = input.int(1,"  月", group=G2)
test_day2 = input.int(1,"  日", group=G2)

test_start = timestamp("GMT+9",test_year1,test_month1,test_day1)
test_end = timestamp("GMT+9",test_year2,test_month2,test_day2)
test_period = test_start <= time and time <= test_end

//手法 if(test_period)以下を編集すること
if (test_period)
    if (Name3)
        strategy.entry("Long or Buy", strategy.long)
    if (Name4)
        strategy.entry("Short or Sell", strategy.short)

◆やったことの概要
まずは、timestamp。時間の指定やね。
本来は

timestamp(2022,7,11)

みたいに入れるけど、この状態でパラメーターを操作しようとすると、pineから書き換える必要があってだるかったから、1個1個input.intで足していった。パラメーターの欄を圧迫するからどうにかしたいけど、どうせ自分用だしいいやってなった。

後はグループ、関数、時間指定、手法で大まかに分けたから使いやすさは格段に上がった。if関数もちょっと理解が深まった。そのうち、elseとかも使うんだろうな・・・わかんねえ・・・

この記事が気に入ったらサポートをしてみませんか?