
Gagasan inti dari strategi ini adalah untuk menemukan peluang perdagangan dengan kombinasi indikator RSI dan kondisi AI yang disesuaikan. Ini akan membangun posisi overhead atau overhead ketika beberapa kondisi terpenuhi, dan menggunakan tingkat stop loss yang tetap.
Strategi ini dilakukan melalui beberapa langkah:
Strategi ini juga memberikan peringatan saat sinyal perdagangan terbentuk dan menggambar kurva RSI di grafik.
Strategi ini memiliki beberapa keuntungan:
Strategi ini juga memiliki beberapa risiko:
Risiko ini dapat dikurangi dengan menyesuaikan parameter RSI, mengoptimalkan kondisi AI, dan melepaskan jarak penghentian yang sesuai.
Strategi ini juga dapat dioptimalkan dengan:
Secara keseluruhan, ini adalah strategi tingkat tinggi yang memiliki ruang yang dapat disesuaikan dan dioptimalkan untuk berdagang berdasarkan indikator RSI dan kondisi yang disesuaikan oleh AI. Strategi ini menilai arah tren dengan menggabungkan beberapa sumber sinyal, menggunakan manajemen risiko dan mekanisme stop loss untuk berdagang.
/*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)