この戦略は,トレンドを決定し,USDJPYの取引シグナルを生成するために,SMA線と組み合わせたダブルRインジケーターを使用する.ダブルRインジケーターには,パラボリックSARトレーリングストップインジケーターとRSIオーバーバイトオーバーセールインジケーターが含まれます.ダブルRインジケーターを通じてトレンドとオーバーバイトオーバーセール状況を判断し,SMAラインで購入・販売シグナルを生成します.
この戦略は主に以下の3つの技術指標を利用する.
パラボリック SAR トレイリングストップインジケーター:潜在的なストップ損失点を表示し,価格動向と潜在的な逆転点を決定するために使用できます. コードはパラメータ設定に基づいてSAR値を計算し,プロットします.
RSIオーバーカップ・オーバーセール指標:価格がオーバーカップまたはオーバーセールかどうかを判断する.このコードはRSIパラメータとオーバーカップ/オーバーセールしきい値を設定し,RSI曲線を計算し,プロットする.
SMA線: 10日間のSMA線と 20日間のSMA線を計算し,プロットする.
この3つの指標を組み合わせると,購入・販売ポイントの論理は以下のとおりです.
閉じて182日間のSMA線を超えるとロングになり,10日間のSMAは20日間のSMA線を超え RSIは30日間のoversoldラインを下から突破します
閉じて182日間のSMA線を下回り,10日間のSMAが20日間のSMA線を下回り,RSIが上から70日間の超買い線を突破するとショートになります
この戦略には以下の利点があります.
トレンド方向を決定するためにダブルR指標を使用することで,取引信号を効果的に確認できます.過剰購入/過剰販売のRSIと傾向逆転のSARは,より信頼性のために一緒に動作します.
SMAフィルターを追加すると,偽のブレイクを避けるのに役立ちます.RSIだけに頼ると,機会を逃す可能性があります.
15分タイムフレームは,短期的なブレイクアウトをタイムリーに把握します.日中取引では,15分は短期的なトレンドをキャピタライズするのに最適です.
2.5ヶ月間の15分間のバックテストデータは戦略を十分に検証します 2.5ヶ月間の15分間のデータは基本的に信頼性を決定することができます
いくつかのリスクがあります:
限られたバックテストデータは将来のパフォーマンスを完全に表現することはできません.長期的有効性を決定するには2.5ヶ月が不十分です.
RSIは,実際の価格動向から逸脱する,誤った信号を与える可能性があります.
SMAは遅延効果があり,価格変動に反応が遅いため,良いエントリーポイントが欠けている.
日中取引はリスクが高く ニュースやオバーナイトポジションのリスクにより影響を受けます
戦略を最適化する方法:
バックテストの期間を 6ヶ月または 1 年に延長して,より十分な検証を行う.
RSIを補完したり 置き換えたりして より信頼性の高い信号を出すことができます
5日間と20日間のSMAの組み合わせを最適化するか,より堅固なブレイクを得るため,より長いSMAを追加します.
ストップ・ロスのメカニズムを追加し,イントラデイやトラッキング・ストップ・ロスのような単一の取引損失を制御します.
利回りを最適化します 利回りや部分利回りなどで より多くの利回りを確保します
戦略全体では,USDJPY内日取引を実装するために,オーバーバイト・オーバーセールとSMAのフィルターのためのダブルR指標を使用している.短期的なトレンドを把握する利点もあるが,バックテストデータの不足などのリスクもある.タイムフレームを拡大し,パラメータを最適化し,ストップ損失/取利益を追加することによってさらに改善することができる.
/*backtest start: 2023-09-08 00:00:00 end: 2023-10-08 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Chrome", overlay=false, pyramiding = 1, commission_value = 0.01, currency = currency.USD, initial_capital = 1000) // Parabolic Support And Resistance start = input(0.02) increment = input(0.02) maximum = input(0.20) sar = sar(start, increment, maximum) //plot(sar, style = circles, linewidth = 2) // (v)RSI RSIlength = input(6,title="RSI Period Length") RSIoverSold = 30 RSIoverBought = 70 RSImid = 50 price = close vrsi = rsi(price, RSIlength) plot(vrsi) a = hline(70) b = hline(30) strategy.entry("buy", strategy.long, when = close > sma(close, 182) and sma(close, 10) > sma(close, 20) and crossover(vrsi, RSIoverSold)) strategy.entry("short", strategy.short, when = close < sma(close, 182) and sma(close, 10) < sma(close, 20) and crossunder(vrsi, RSIoverBought))