Idea utama strategi ini adalah untuk menggabungkan penunjuk RSI dan keadaan AI tersuai untuk menemui peluang perdagangan. Ia akan menubuhkan kedudukan panjang atau pendek apabila beberapa syarat dipenuhi, dan menggunakan tahap keuntungan dan stop loss tetap.
Strategi ini dilaksanakan melalui langkah-langkah berikut:
Di samping itu, strategi ini akan menghasilkan amaran mengenai penciptaan isyarat dan merangka nilai RSI pada carta.
Strategi ini mempunyai beberapa kelebihan utama:
Terdapat juga beberapa risiko yang perlu dipertimbangkan:
Ini boleh dikurangkan dengan menyesuaikan parameter RSI, mengoptimumkan logik AI, melegakan jarak stop loss, dll.
Beberapa cara strategi ini boleh ditingkatkan lagi:
Ringkasnya, ini adalah strategi canggih yang sangat boleh dikonfigurasikan dan dioptimumkan untuk perdagangan berdasarkan RSI dan logik AI tersuai. Ia menentukan arah trend melalui gabungan pelbagai sumber isyarat, melaksanakan perdagangan dengan pengurusan risiko dan mengambil prosedur keuntungan / hentian kerugian. Strategi ini boleh memberikan prestasi perdagangan yang baik untuk pengguna, dengan keupayaan pengembangan dan pengoptimuman yang banyak.
/*backtest start: 2022-12-28 00:00:00 end: 2024-01-03 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Improved RSI Scalping Strategy", overlay=true) // Parameters rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Threshold") rsiOversold = input.int(30, title="RSI Oversold Threshold") takeProfitPips = input.int(10, title="Take Profit (Pips)") stopLossPips = input.int(5, title="Stop Loss (Pips)") riskPercentage = input.float(1, title="Risk Percentage", minval=0, maxval=100, step=0.1) // Calculate RSI rsiValue = ta.rsi(close, rsiLength) // Custom AI Conditions aiCondition1Long = ta.crossover(rsiValue, 50) aiCondition1Short = ta.crossunder(rsiValue, 50) // Add more AI conditions here var aiCondition2Long = ta.crossover(rsiValue, 30) var aiCondition2Short = ta.crossunder(rsiValue, 70) // Combine AI conditions with RSI longCondition = aiCondition1Long or aiCondition2Long or ta.crossover(rsiValue, rsiOversold) shortCondition = aiCondition1Short or aiCondition2Short or ta.crossunder(rsiValue, rsiOverbought) // Calculate position size based on risk percentage equity = strategy.equity riskAmount = (equity * riskPercentage) / 100 positionSize = riskAmount / (stopLossPips * syminfo.mintick) // Calculate Take Profit and Stop Loss levels takeProfitLevel = close + takeProfitPips * syminfo.mintick stopLossLevel = close - stopLossPips * syminfo.mintick // Long entry strategy.entry("Long Entry", strategy.long, when=longCondition[1] and not longCondition, qty=1) strategy.exit("Take Profit/Stop Loss", from_entry="Long Entry", limit=takeProfitLevel, stop=stopLossLevel) // Short entry strategy.entry("Short Entry", strategy.short, when=shortCondition[1] and not shortCondition, qty=1) strategy.exit("Take Profit/Stop Loss", from_entry="Short Entry", limit=takeProfitLevel, stop=stopLossLevel) // Alerts alertcondition(longCondition, title="Long Entry Signal", message="Long Entry Signal") alertcondition(shortCondition, title="Short Entry Signal", message="Short Entry Signal") // Plot RSI on the chart plot(rsiValue, title="RSI", color=color.blue)