この戦略は,トレンドフォローに基づいた定量的な取引戦略を実施するために,相対強度指数 (RSI) と指数移動平均 (EMA) の技術指標を組み合わせます.これは主にトレンド市場に適しており,トレンドから利益を得るために価格逆転が特定されたときに参入します.
ロングエントリー信号:
この2つの条件が満たされた場合,ロングポジションが入力されます.
各取引の最大損失は,総口座価値の 3%に制限されています.ストップ損失の配置は,市場の特徴を考慮する必要があります.
ポジションのサイズ: 最大損失 / (エントリー価格 - ストップ損失価格) = ポジションサイズ
取引リスクを効果的に制御します
主要な出口信号:
両方の信号が表示されたら ポジションは終了します
この戦略は,トレンドフォローと平均逆転の利点を組み合わせている.EMAは全体的なトレンドを決定し,その後,潜在的な逆転ゾーンでエントリー信号が発生し,安定性のためにトレンドと逆転の両方から利益を得ることができる.RSIパラメータは,異なる市場のために最適化され,戦略を堅牢にすることができる.
トレーディングリスクレベルを直接制御することで 取引毎の固定最大損失は資本を保護します
この戦略は,明らかなトレンド市場ではうまく機能する.複雑で不安定な環境では,トレンドのためにEMAを使用することは制限がある可能性があります.また,RSIには実際の価格アクションから確認を必要とするいくつかの遅延効果があります.
ストップ損失配置はPnLにとって極めて重要であり,異なる市場に対して慎重にテストする必要があります. 幅が大きすぎると,単一の損失が拡大し,幅が狭すぎると,ノイズは望ましくないストップを引き起こす可能性があります. 継続的な最適化のためにライブテストが必要です.
より多くの市場に対応するために異なるRSIパラメータをテストする.最適な取引サイズ比を見つける.より強力なエントリー/エグジットシステムを構築するために他の技術指標を追加する.これらはすべて探求に値するオプションです.
この戦略は,トレンドフォローと平均逆転戦略の強みを統合している.より大きなトレンドを特定しながら,潜在的な逆転でエントリーが行われる.RSI最適化はより多くの市場体制に適応させる.固定取引リスクレベルは,中長期間にわたって運用を安定させる.さまざまな市場とスタイルを使用して調整と強度テストを通じてさらなる改善が可能である.
/*backtest start: 2023-10-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Stratégie RSI et EMA avec Gestion du Risque", overlay=true) // Paramètres de la stratégie rsiLength = input(14, "Longueur du RSI") rsiOverbought = input(70, "Niveau de Surachat RSI") rsiOversold = input(30, "Niveau de Survente RSI") // Calcul du RSI rsiValue = rsi(close, rsiLength) // Paramètres des EMA ema20 = ema(close, 20) ema50 = ema(close, 50) ema200 = ema(close, 200) // Paramètre du risque par trade riskPerTrade = input(0.03, "Risque par Trade (3%)") // Distance du stop-loss en pips (à ajuster selon votre stratégie) stopLossPips = input(1, "Distance du Stop-Loss en pips") // Calcul de la taille de position et du stop-loss calculatePositionSize(entryPrice, stopLossPips) => stopLossPrice = entryPrice - stopLossPips * syminfo.mintick riskPerTradeValue = strategy.equity * riskPerTrade positionSize = riskPerTradeValue / (entryPrice - stopLossPrice) positionSize // Conditions d'entrée longCondition = (rsiValue < rsiOversold) and (close > ema20 or close > ema50 or close > ema200) if longCondition strategy.entry("Long", strategy.long, qty=1) // Conditions de sortie exitCondition = (rsiValue > rsiOverbought) or (close < ema20 or close < ema50 or close < ema200) if exitCondition strategy.close("Long") // Affichage des EMA et RSI sur le graphique plot(ema20, color=color.red) plot(ema50, color=color.green) plot(ema200, color=color.blue) hline(rsiOverbought, "Niveau de Surachat RSI", color=color.red) hline(rsiOversold, "Niveau de Survente RSI", color=color.blue) plot(rsiValue, "RSI", color=color.purple)