この戦略は,複数の移動平均のクロスオーバーとRSI指標に基づいたトレンドフォロー取引システムである. EMA20,EMA50,SMA200を組み合わせて市場のトレンドを決定し,RSI指標を使用して取引信号をフィルタリングし,価格が以前の高値を突破すると取引を実行する.この戦略は1時間および日々のタイムフレームに適した固定得益とストップロスの条件を実装する.
基本的な論理は次の条件に基づいています
1. 傾向決定: EMA20 は EMA50 を上,SMA200 は両 EMA を下,上昇傾向を確認しなければならない.
2. 価格ポジション: 現在の閉場価格は,主要なサポートレベルを保証する EMA20 または EMA50 の 1% の範囲内である必要があります.
3. RSIフィルター:RSI値は,設定された
この戦略は,よく構造化され,論理的に健全なトレンドフォローシステムである.複数の技術指標の組み合わせを通じて,包括的なリスク管理を維持しながら,市場のトレンドを効果的に把握する.この戦略は最適化のための大きな余地があり,継続的な改善を通じて安定性と収益性を向上させることができます.中長期のトレーダーにとって,これは価値のある戦略的枠組みを表します.
/*backtest start: 2025-01-02 00:00:00 end: 2025-01-09 00:00:00 period: 5m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA/SMA Strategy", overlay=false) // Input parameters ema20Length = input(20, title="20 EMA Length") ema50Length = input(50, title="50 EMA Length") sma200Length = input(200, title="200 SMA Length") rsiLength = input(14, title="RSI Length") rsiThreshold = input(40, title="RSI Threshold") // Calculate indicators ema20 = ta.ema(close, ema20Length) ema50 = ta.ema(close, ema50Length) sma200 = ta.sma(close, sma200Length) rsiValue = ta.rsi(close, rsiLength) // Conditions emaCondition = ema20 > ema50 and sma200 < ema20 and sma200 < ema50 priceNearEMA = (close <= ema20 * 1.01 and close >= ema20 * 0.99) or (close <= ema50 * 1.01 and close >= ema50 * 0.99) rsiCondition = rsiValue > rsiThreshold // Entry condition: Price crosses previous candle high entryCondition = priceNearEMA and rsiCondition and emaCondition and (close > high[1]) // Strategy entry if entryCondition strategy.entry("Long", strategy.long) // Take profit and stop loss settings takeProfitLevel = strategy.position_avg_price * 1.25 // Take profit at +25% stopLossLevel = strategy.position_avg_price * 0.90 // Stop loss at -10% // Exit conditions if strategy.position_size > 0 strategy.exit("Take Profit", from_entry="Long", limit=takeProfitLevel) strategy.exit("Stop Loss", from_entry="Long", stop=stopLossLevel) // Plotting indicators for visualization plot(ema20, color=color.blue, title="20 EMA") plot(ema50, color=color.red, title="50 EMA") plot(sma200, color=color.green, title="200 SMA") hline(rsiThreshold, "RSI Threshold", color=color.orange)