
星光移動平均交差策略は,移動平均とMACD指数に基づいた定量取引策策である.この策略は,2つの異なる周期の単純な移動平均 ((SMA)) の交差信号を使用して,買入と売却のタイミングを決定し,MACD指数でトレンドと動きを判断する.短期移動平均が長期移動平均を上方突破すると,買入シグナルが生じ,逆に,短期移動平均が長期移動平均を下方突破すると,売り出シグナルが生じます.この策は,市場の長期の傾向を捕捉しようとし,MACD指数を使用して,トレンドの強さと持続性を確認します.
星光移動平均交差策の核心原理は,異なる周期移動平均の交差信号を使用して市場の傾向の変化を判断することである.短期移動平均が下から長期移動平均を突破すると,市場が新しい上昇傾向を形成している可能性があることを示すとき,戦略は買い信号を生成する.逆に,短期移動平均が上から長期移動平均を下回ると,市場が新しい下降傾向を形成している可能性があることを示すとき,戦略は売り信号を生成する.
移動平均の交差信号を使用するだけでなく,この戦略はMACD指標を補助的な判断ツールとして導入した. MACDは2つの線で構成されています: MACD線と信号線. MACD線が下方から信号線を突破すると,市場の上昇力が強化され,逆に, MACD線が上方から下方まで落ちると,市場の下降力が強化され,戦略の信頼性が向上します.
スターライト移動平均クロス戦略は,トレンド追跡と動量確認に基づく量化取引戦略である. それは,異なる周期移動平均のクロス信号とMACD指標を活用して,市場の中長期のトレンドを捉え,簡単に理解し,トレンド追跡し,信号確認し,適応性が強いという利点がある. しかし,この戦略には,後退性,振動市場,パラメータセンシティブなどのリスクもある.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Starlight Strategy", overlay=true)
// Define the inputs for the moving averages
shortLength = input.int(20, title="Short Moving Average Length")
longLength = input.int(50, title="Long Moving Average Length")
// Calculate the moving averages
shortMA = ta.sma(close, shortLength)
longMA = ta.sma(close, longLength)
// Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
// Plot the moving averages
plot(shortMA, color=color.orange, title="Short Moving Average")
plot(longMA, color=color.green, title="Long Moving Average")
// Plot MACD on a separate chart
hline(0, "Zero Line", color=color.gray)
plot(macdLine, color=color.red, title="MACD Line")
plot(signalLine, color=color.purple, title="Signal Line")
// Generate buy and sell signals
buySignal = ta.crossover(shortMA, longMA)
sellSignal = ta.crossunder(shortMA, longMA)
// Plot buy and sell signals
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Strategy execution
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("Buy")