Pineスクリプト初級講座2

前回は、ゴールデンクロスを使った手法のインディケータを作成しましたが、今回はストラテジーを作成して、ゴールデンクロスを使った手法が有効か検証してみます。

ゴールデンクロスを使ったストラテジー

//@version=4
strategy("Dual Moving Average Cross Strategy", overlay=true)

// パラメーターの設定
fastLength = input(14, minval=1)
slowLength = input(20, minval=1)
maType = input(title="MA Type", type=input.string, defval="SMA", options=["SMA", "EMA"])

// 移動平均線の計算
fastMA = maType == "SMA" ? sma(close, fastLength) : ema(close, fastLength)
slowMA = maType == "SMA" ? sma(close, slowLength) : ema(close, slowLength)

// ゴールデンクロスとデッドクロスのシグナル
crossUp = crossover(fastMA, slowMA)
crossDown = crossunder(fastMA, slowMA)

// 現在のポジションの取得
position = strategy.position_size != 0 ? strategy.position_size / abs(strategy.position_size) : 0

// ゴールデンクロスで買い、デッドクロスで売り

// 決済
if (crossUp and position != 0)
    strategy.close()

// 反対売買
if (position == 1 and crossDown)
    strategy.entry("Sell", strategy.short)
else if (position == -1 and crossUp)
    strategy.entry("Buy", strategy.long)

// 移動平均線をプロット
plot(fastMA, color=color.red, title="Fast MA")
plot(slowMA, color=color.blue, title="Slow MA")

// シグナルをプロット
plotshape(crossUp, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Golden Cross")
plotshape(crossDown, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Dead Cross")

コメント

タイトルとURLをコピーしました