この戦略は,トレンドを把握しリスクを管理するために,8期および21期指数動向平均値 (EMA) とパラボリックSAR指標を組み合わせます.この戦略は,特定のクロスオーバーおよび価格アクション条件に基づいてポジションを開閉することを目的としています.
この戦略は,異なる期間の2つのEMA (8期と21期) とパラボリックSAR指標を使用して,エントリーおよび出口条件を決定する.短期EMAが長期EMAを超越し,閉じる価格がSARを超えると,戦略はロングポジションを開く.短期EMAが長期EMAを下回り,閉じる価格がSARを下回ると,戦略はショートポジションを開く.閉じる価格がSARを下回るとロングポジションが閉鎖され,閉じる価格がSARを下回るとショートポジションが閉鎖される.また,戦略は各取引のリスクを制御するために固定ストップロストポイントを設定する.さらに,戦略は,すべてのポジションが各取引日の15:15に閉鎖されることを要求する.
EMAとパラボリックSARの組み合わせ戦略は,一般的に使用される2つの技術指標を組み合わせることで,トレンドとリスクを制御しようと試みます.この戦略はシンプルで理解しやすいので,初心者が学び,使用するのに適しています.しかし,この戦略には,市場の変動に適応しやすさが不十分であり,市場情緒や基本的な要因を考慮していないなどのいくつかの制限もあります.したがって,実践的な応用では,戦略の安定性と収益性を高めるために,特定の市場や取引機器に基づいて最適化および改善する必要があります.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA and Parabolic SAR Strategy", overlay=true) // Input parameters for EMAs and Parabolic SAR emaShortPeriod = input.int(8, title="Short EMA Period") emaLongPeriod = input.int(21, title="Long EMA Period") sarStart = input.float(0.02, title="Parabolic SAR Start") sarIncrement = input.float(0.02, title="Parabolic SAR Increment") sarMaximum = input.float(0.2, title="Parabolic SAR Maximum") fixedSL = input.int(83, title="Fixed Stop Loss (pts)") // Calculate EMAs and Parabolic SAR emaShort = ta.ema(close, emaShortPeriod) emaLong = ta.ema(close, emaLongPeriod) sar = ta.sar(sarStart, sarIncrement, sarMaximum) // Entry conditions longCondition = ta.crossover(emaShort, emaLong) and close > sar shortCondition = ta.crossunder(emaShort, emaLong) and close < sar // Exit conditions longExitCondition = close < sar shortExitCondition = close > sar // Strategy entry and exit if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (longExitCondition) strategy.close("Long") if (shortExitCondition) strategy.close("Short") // Fixed Stop Loss strategy.exit("Long Exit", "Long", stop=close - fixedSL * syminfo.mintick) strategy.exit("Short Exit", "Short", stop=close + fixedSL * syminfo.mintick) // Exit all positions at 15:15 exitHour = 15 exitMinute = 15 exitTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow), exitHour, exitMinute) if (timenow >= exitTime) strategy.close_all() // Plot EMAs and Parabolic SAR plot(emaShort, color=color.blue, title="8 EMA") plot(emaLong, color=color.red, title="21 EMA") plot(sar, style=plot.style_cross, color=color.green, title="Parabolic SAR")