この戦略は,ストカスティックRSIとEMAを組み合わせて,トレンドを検出し,取引シグナルを検証する.価格がEMA20を超えてEMA9とEMA14の間に戻ると,ストカスティックRSIが過剰販売レベル以下になると,ロングシグナルが生成される.価格がEMA20を下回ってEMA9とEMA14の間に戻ると,ストカスティックRSIが過剰購入レベル以上になると,ショートシグナルが生成される.
この戦略の主なアイデアは,ストカスティックRSIを使用して,メイントレンド (EMA20によって代表される) の価格リトラセーションが適切なオーバーバイトまたはオーバーセールエリアに達したかどうかを判断することであり,リトラセーションの強さを検証するために,高速EMAと中間EMAを使用することです.価格が高速EMAと中間EMAを突破した場合,リトラセーションが終了し,トレンドが逆転することがあり,ポジションに入場するには適しません.価格がEMA9とEMA14の間にリトラセーションを行うときのみ,トレンドの方向にポジションに入場すると考えられます.この多条件の検証方法は,信号品質を効果的に改善し,誤った判断を減らすことができます.
この戦略は,トレンドリトレースを把握しながらリスクを効果的に制御するために,ストーカスティックRSIとEMA多条件検証を組み合わせています.全体的な考え方はシンプルで理解しやすいもので,初心者が学び,使用するのに適しています.しかし,戦略自体には,横向市場でのパフォーマンスが悪いこと,トレンド動きの把握が不十分であるなど,いくつかの制限もあります.実際の状況に応じて柔軟に調整する必要があります.将来,ダイナミックパラメータ,より多くの指標検証,より堅牢なリターンを得るためのマネーマネジメントなどの側面から戦略を最適化し改善することも検討できます.一般的に,この戦略は,変更および拡張できる基本的なテンプレートとして機能し,良い出発点および学習材料です.
/*backtest start: 2023-03-02 00:00:00 end: 2024-03-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Crypto-EMA_Pullback=-", overlay=true,initial_capital = 10000000,default_qty_type=strategy.percent_of_equity, default_qty_value=10.0, pyramiding = 10) // Inputs lengthRsi = input(14, title="RSI Length") k = input(3, title="Stoch %K") d = input(3, title="Stoch %D") lengthStoch = input(14, title="Stochastic RSI Length") overSold = input(25, title="Oversold Level") overBought = input(85, title="Overbought Level") emaFastLength = input(9, title="Fast EMA Length") emaMediumLength = input(14, title="Medium EMA Length") emaSlowLength = input(20, title="Slow EMA Length") // Calculating EMAs emaFast = ta.ema(close, emaFastLength) emaMedium = ta.ema(close, emaMediumLength) emaSlow = ta.ema(close, emaSlowLength) // Calculating the RSI and Stoch RSI rsi = ta.rsi(close, lengthRsi) stochRsiK = ta.sma(ta.stoch(rsi, rsi, rsi, lengthStoch), k) stochRsiD = ta.sma(stochRsiK, d) // Entry Conditions bullishCondition = close > emaSlow and close < emaFast and close < emaMedium and stochRsiK < overSold bearishCondition = close < emaSlow and close > emaFast and close > emaMedium and stochRsiK > overBought // Strategy Execution if (bullishCondition) strategy.entry("Long", strategy.long) if (bearishCondition) strategy.entry("Short", strategy.short) // Plotting plot(emaFast, color=color.blue, title="Fast EMA") plot(emaMedium, color=color.orange, title="Medium EMA") plot(emaSlow, color=color.red, title="Slow EMA") hline(overSold, "Oversold", color=color.green) hline(overBought, "Overbought", color=color.red)