Strategi ini menggunakan dua purata bergerak (purata bergerak pantas dan purata bergerak perlahan) dan Indeks Kekuatan Relatif (RSI) untuk mengenal pasti trend pasaran jangka pendek dan keadaan overbought / oversold. Apabila purata bergerak pantas melintasi di atas purata bergerak perlahan dan RSI di bawah tahap oversold, strategi memasuki kedudukan panjang. Apabila purata bergerak pantas melintasi di bawah purata bergerak perlahan dan RSI di atas tahap overbought, strategi memasuki kedudukan pendek. Strategi menentukan titik masuk dan keluar berdasarkan persilangan purata bergerak dan tahap RSI untuk menangkap trend harga jangka pendek.
Strategi ini menggabungkan purata bergerak berganda dan penunjuk RSI untuk menangkap trend harga jangka pendek, menjadikannya sesuai untuk perdagangan jangka pendek di pasaran yang tidak menentu. Logik strategi jelas, parameter fleksibel, dan mudah dilaksanakan dan dioptimumkan. Walau bagaimanapun, ia mungkin menghasilkan isyarat perdagangan yang berlebihan di pasaran yang bergelombang dan mempunyai keupayaan yang lemah untuk menangkap trend jangka panjang. Oleh itu, dalam aplikasi praktikal, pertimbangkan untuk memperkenalkan penunjuk tambahan, mengoptimumkan pemilihan parameter, melaksanakan langkah pengurusan risiko, dan pendekatan lain untuk meningkatkan kekuatan dan keuntungan strategi.
/*backtest start: 2024-03-24 00:00:00 end: 2024-03-25 05:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Short-Term Scalp Trading Strategy", overlay=true) // Define strategy parameters fastMA_length = input(5, title="Fast MA Length") slowMA_length = input(10, title="Slow MA Length") rsi_length = input(7, title="RSI Length") rsi_oversold = input(20, title="RSI Oversold Level") rsi_overbought = input(80, title="RSI Overbought Level") // Calculate Moving Averages fastMA = ta.sma(close, fastMA_length) slowMA = ta.sma(close, slowMA_length) // Calculate RSI rsi = ta.rsi(close, rsi_length) // Define entry conditions longCondition = ta.crossunder(fastMA, slowMA) and rsi < rsi_oversold shortCondition = ta.crossover(fastMA, slowMA) and rsi > rsi_overbought // Enter long position strategy.entry("Long", strategy.long, when=longCondition) // Enter short position strategy.entry("Short", strategy.short, when=shortCondition) // Define exit conditions longExitCondition = ta.crossunder(fastMA, slowMA) or ta.crossover(rsi, rsi_overbought) shortExitCondition = ta.crossover(fastMA, slowMA) or ta.crossunder(rsi, rsi_oversold) // Exit long position if (longExitCondition) strategy.close("Exit Long", "Long") // Exit short position if (shortExitCondition) strategy.close("Exit Short", "Short") // Plot buy and sell signals plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)