
SMK ULTRA TREND 双均線交差戦略は,5日指数移動平均 ((EMA5) と20日指数移動平均 ((EMA20) の交差信号に基づく取引シグナルを生成する量化取引戦略である.この戦略の核心思想は,短期均線と中期均線の交差を利用して,市場トレンドの変化を捉えることである.EMA5の上を通過すると買入シグナルが生じ,EMA5下を通過すると売出シグナルが生じます.また,この戦略は,表の上でサポートラインとレジスタンスラインを描き出すことで,トレンドの方向と強さを判断するのに役立つサポートとレジスタンスポイントの概念を組み合わせています.
SMK ULTRA TRENDの双均線交差策の原理は,以下のステップにまとめられる.
SMK ULTRA TREND双均線交差策略は,EMA5とEMA20の交差信号によって市場トレンドを捕捉し,サポートラインとレジスタンスラインなどの補助ツールと組み合わせて取引決定に参考を提供する,シンプルで実用的量的取引策略である.この戦略の優点は,論理的に明確で,適応性が強く,実行しやすく,最適化できることです.欠点は,揺れ動いている市場で頻繁に取引と偽信号が発生する可能性があり,シグナルフィルタリング,パラメータ最適化,ポジション管理,ストップダストなどの方法で戦略のパフォーマンスを改善し,戦略の安定性と収益性を向上させる必要があります.
/*backtest
start: 2023-05-17 00:00:00
end: 2024-05-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMK ULTRA TREND STRATEGY", overlay=true)
// Define the length for EMAs
ema5_length = 5
ema20_length = 20
// Calculate EMAs
ema5 = ta.ema(close, ema5_length)
ema20 = ta.ema(close, ema20_length)
// Plot EMAs
plot(ema5, title="EMA 5", color=color.red )
plot(ema20, title="EMA 20", color=color.blue)
// Generate buy and sell signals
buySignal = ta.crossover(ema5, ema20)
sellSignal = ta.crossunder(ema5, ema20)
// Plot buy and sell signals
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Execute buy and sell orders
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.close("sell")
// Define support and resistance lengths
pivotLen = 5
// Calculate support and resistance levels
var float supportLevel = na
var float resistanceLevel = na
if (ta.pivotlow(low, pivotLen, pivotLen))
supportLevel := low[pivotLen]
if (ta.pivothigh(high, pivotLen, pivotLen))
resistanceLevel := high[pivotLen]
// Plot support and resistance levels
plot(supportLevel, title="Support Level", color=color.green, linewidth=2, style=plot.style_linebr)
plot(resistanceLevel, title="Resistance Level", color=color.red, linewidth=2, style=plot.style_linebr)