この記事では,主に複数の指数関数移動平均値 (EMA) と相対強度指数 (RSI) をベースに Ravikant_sharma が開発した定量的な取引戦略を分析しています.この戦略は価格動向を特定し,異なるサイクルとRSIの値を持つ EMA を横断してエントリーと出口点を決定します.
この戦略は,9日,21日,51日,100日および200日線を含む異なる期間の5つのEMAを使用する.コードでは最初の4つのEMAのみがグラフ化されている.RSIパラメータは14に設定されている.
購入前に次の条件の1つを満たす必要があります.
同時に,RSIは65以上で 強い上昇傾向を示します
ポジションを閉じる前に,次の条件の1つを満たす必要があります.
典型的な傾向であり,次の強みを持つ戦略をたどる.
リスクはあります
この戦略は,次の方法でさらに最適化できます.
結論として,これは全体的に信頼性があり,実行が容易なトレンドフォロー戦略です.トレンド方向のEMAクロスオーバーと偽信号のRSIフィルターにより,良いバックテスト結果は,安定した利益を得るためにさらなるパラメータとモデル最適化のための堅固な基盤を提供します.しかし,トレーダーは依然としてリスクをもたらす急激な逆転や不適切なパラメータに注意する必要があります.
/*backtest start: 2024-01-30 00:00:00 end: 2024-02-29 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Ravikant_sharma //@version=5 strategy('new', overlay=true) start = timestamp(1990, 1, 1, 0, 0) end = timestamp(2043, 12, 12, 23, 59) ema0 = ta.ema(close, 9) ema1 = ta.ema(close, 21) ema2 = ta.ema(close, 51) ema3 = ta.ema(close, 100) ema4 = ta.ema(close, 200) rsi2=ta.rsi(ta.sma(close,14),14) plot(ema0, '9', color.new(color.green, 0)) plot(ema1, '21', color.new(color.black, 0)) plot(ema2, '51', color.new(color.red, 0)) plot(ema3, '200', color.new(color.blue, 0)) //plot(ema4, '100', color.new(color.gray, 0)) //LongEntry = ( ta.crossover(ema0,ema3) or ta.crossover(ema0,ema2) or ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) // LongEntry=false if ta.crossover(ema0,ema1) if rsi2>65 LongEntry:=true if ta.crossover(ema1,ema2) if rsi2>65 LongEntry:=true LongExit = ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98) if time >= start and time <= end if(LongEntry and rsi2>60) strategy.entry('Long', strategy.long, 1) if(LongExit) strategy.close('Long')