
この戦略は,二均線交差に基づくトレンド追跡システムで,短期と長期の移動平均の交差によって市場のトレンドを捉え,リスクと利益の1:3の比率で取引リスクを管理する.この戦略は,固定したストップと利益の目標を使用し,移動のストップメカニズムと組み合わせて利益を保護する.
戦略は74周期の短期移動平均 ((Short SMA) と70周期の長期移動平均 ((Long SMA) を主要な指標として使用する.短期平均線が長期平均線を上方から横切るとき,システムは多行信号を生成する.短期平均線が長期平均線を下方から横切るとき,システムは空白信号を生成する.各取引のポジションサイズは0.002で固定され,止損は353ドルで設定され,利益は止損目標の3倍である.
これは,構造が整った,論理が明確なトレンド追跡戦略である.均線交差捕捉によるトレンド,厳格なリスク管理とポジションコントロールを採用し,中長期取引に適している.均線遅れなどの固有の欠陥があるにもかかわらず,推奨された最適化の方向,特に動的パラメータ調整と市場環境フィルタリングの導入により,戦略の安定性と収益性がさらに向上する見込みである.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-17 00:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bitcoin Strategy by Jag", overlay=true)
// Input Parameters
shortSMALength = input.int(74, title="Short SMA Length")
longSMALength = input.int(70, title="Long SMA Length")
trailStopOffset = input.float(353, title="Trailing Stop Offset (USD)") // Trailing Stop Loss Offset in USD
tradeSize = input.float(1, title="Trade Size")
// Automatically set Take Profit as 3 times Stop Loss
fixedTakeProfit = trailStopOffset * 3
// Backtesting Date Range
startDate = timestamp(2025, 02,13, 0, 0)
endDate = timestamp(2025, 03, 31, 23, 59)
withinDateRange = true
// Indicators
shortSMA = ta.sma(close, shortSMALength)
longSMA = ta.sma(close, longSMALength)
// Crossover Conditions
longCondition = withinDateRange and ta.crossover(shortSMA, longSMA)
shortCondition = withinDateRange and ta.crossunder(shortSMA, longSMA)
// Entry Logic
if (strategy.position_size == 0) // Only allow new trades if no position is open
if (longCondition)
strategy.entry("Long", strategy.long, tradeSize)
if (shortCondition)
strategy.entry("Short", strategy.short, tradeSize)
// Exit Logic for Long Position
if (strategy.position_size > 0)
strategy.exit("Long exit", "Long", stop=strategy.position_avg_price - trailStopOffset, limit=strategy.position_avg_price + fixedTakeProfit) // Using stop and limit
// Exit Logic for Short Position
if (strategy.position_size < 0)
strategy.exit("Short Exit", "Short", stop=strategy.position_avg_price + trailStopOffset, limit=strategy.position_avg_price - fixedTakeProfit) // Using stop and limit
// Plot Moving Averages
plot(shortSMA, color=color.blue, title="Short SMA")
plot(longSMA, color=color.black, title="Long SMA")
// Visual Signals
plotshape(series=longCondition and strategy.position_size == 0, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)
plotshape(series=shortCondition and strategy.position_size == 0, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)