
この戦略は,指数移動平均 (EMA) 交差に基づく多頭戦略である.価格が下からEMAを破るときに多頭入場し,価格が上からEMAを破るときに平仓する.この戦略は,潜在的下行リスクを制御し,利益をロックするために,補助的なリスク管理手段として,ストップ (SL),目標利益 (TP) とストップ (TSL) を追跡する.
この戦略は,EMAの交差をベースにしたシンプルで効果的な取引方法を提供し,EMAの潜在的トレンドを追跡し,同時に,ストップ・ロズ,ターゲットの利回り,ストップ・ロスを追跡するなどのリスク対策を採用します.しかし,戦略には,偽の突破,シグナル遅延,揺れ動いた市場の不良なパフォーマンス,パラメーターの感受性などのリスクがあります.最適化戦略は,他の指標との組み合わせ,ダイナミックなストップ・ロズ・利回り設定,トレンドの確認,および複数の時間枠の分析を考慮することができます.実際のアプリケーションでは,特定の市場と取引スタイルに応じて適切な調整が必要です.
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Long Entry on EMA Cross with Risk Management", overlay=true)
// Parameters
emaLength = input(20, title="EMA Length")
stopLossPercent = input(1, title="Stop Loss %")
targetPercent = input(2, title="Target %")
trailingStopLossPercent = input(0.5, title="Trailing Stop Loss %")
// Calculate EMA
ema = ema(close, emaLength)
// Long Entry Condition
longCondition = crossover(close, ema)
// Exit Condition
exitCondition = crossunder(close, ema)
// Stop Loss, Target Profit, Trailing Stop Loss
stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent / 100)
targetProfitLevel = strategy.position_avg_price * (1 + targetPercent / 100)
trailingStopLossLevel = close * (1 - trailingStopLossPercent / 100)
trailingStopLossLevel := max(trailingStopLossLevel, nz(trailingStopLossLevel[1]))
// Submit Long Order
strategy.entry("Long", strategy.long, when=longCondition)
// Submit Exit Orders
strategy.exit("Exit", "Long", stop=stopLossLevel, limit=targetProfitLevel, trail_offset=trailingStopLossLevel, when=exitCondition)
// Plot EMA
plot(ema, color=color.blue, linewidth=2)
// Plot Stop Loss, Target Profit, and Trailing Stop Loss Levels
plot(stopLossLevel, title="Stop Loss", color=color.red, linewidth=2)
plot(targetProfitLevel, title="Target Profit", color=color.green, linewidth=2)
plot(trailingStopLossLevel, title="Trailing Stop Loss", color=color.orange, linewidth=2)