この戦略は,複数の移動平均値とRSI指標に基づいたトレンドフォローシステムである. 20,50および200期移動平均値の組み合わせを使用して,相対的なポジションを通じて市場動向を分析し,貿易信号のRSI確認と組み合わせます.この戦略は,利益を保護するために,動的なストップ・ロストと利益目標とトライリング・ストップを組み込む.
この戦略の核心は,市場動向を決定するために3つの移動平均値 (MA20,MA50,MA200) の相対的なポジションを分析することにある.この戦略は,クロスオーバーと相対的なポジションに焦点を当てた18の異なる移動平均値の組み合わせシナリオを定義している.短期MAsが長期MAsよりも高くなったとき,またその逆でもロングポジションが好ましい.過剰取引を避けるために,RSIはフィルターとして導入され,RSIが70未満でロングエントリ,ショートエントリが30を超える場合,1:10のリスク・リターン比率を採用し,利益を保護するために25ポイントのトレーリングストップを使用している.
これは,明確な論理を持つ,よく構造化されたトレンドフォロー戦略である.複数の移動平均システムとRSIフィルタリングの組み合わせにより,比較的信頼性の高い取引システムが作られる.リスク管理メカニズムは,早期出口なしで後退停止を通じて利益を保護するために,よく設計されている.最適化余地がある一方で,全体的な枠組みは,実践的な応用価値を持つ科学的に設計されている.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Refined MA Strategy with Trailing Stop for 30m", overlay=true) // Define the moving averages TR20 = ta.sma(close, 20) TR50 = ta.sma(close, 50) TR200 = ta.sma(close, 200) // Define the RSI for additional filtering rsi = ta.rsi(close, 14) // Define the scenarios scenario1 = TR20 > TR50 and TR50 > TR200 scenario2 = TR50 > TR20 and TR20 > TR200 scenario3 = TR200 > TR50 and TR50 > TR20 scenario4 = TR50 > TR200 and TR200 > TR20 scenario5 = TR20 > TR200 and TR200 > TR50 scenario6 = TR200 > TR20 and TR20 > TR50 scenario7 = TR20 == TR50 and TR50 > TR200 scenario8 = TR50 == TR20 and TR20 > TR200 scenario9 = TR200 == TR50 and TR50 > TR20 scenario10 = TR20 > TR50 and TR50 == TR200 scenario11 = TR50 > TR20 and TR20 == TR200 scenario12 = TR20 > TR50 and TR50 == TR200 scenario13 = TR20 == TR50 and TR50 == TR200 scenario14 = TR20 > TR50 and TR200 == TR50 scenario15 = TR50 > TR20 and TR200 == TR50 scenario16 = TR20 > TR50 and TR50 == TR200 scenario17 = TR20 > TR50 and TR50 == TR200 scenario18 = TR20 > TR50 and TR50 == TR200 // Entry conditions longCondition = (scenario1 or scenario2 or scenario5) and rsi < 70 shortCondition = (scenario3 or scenario4 or scenario6) and rsi > 30 // Execute trades based on scenarios with 50 points stop loss and 1:10 RR, using a trailing stop of 25 points if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit", from_entry="Long", limit=close + 250, trail_offset=25) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit", from_entry="Short", limit=close - 250, trail_offset=25)