Strategi ini didasarkan pada Relative Strength Index (RSI) dan standar deviasi (DEV) dari volatilitas harga. Strategi ini menentukan titik masuk dengan membandingkan harga dengan band atas dan bawah, sambil menggunakan RSI sebagai indikator penyaringan tambahan. Strategi ini menghasilkan sinyal masuk panjang ketika harga melanggar band bawah dan RSI berada di bawah ambang oversold, dan sinyal masuk pendek ketika harga melanggar band atas dan RSI berada di atas ambang overbought. Strategi ini menutup panjang ketika harga melanggar band bawah exit atau RSI melebihi ambang overbought, dan menutup posisi pendek ketika harga melanggar band atas exit atau RSI jatuh di bawah ambang oversold.
Strategi ini menggabungkan saluran volatilitas dan Indeks Kekuatan Relatif untuk membuat keputusan masuk dan keluar berdasarkan fluktuasi harga sambil merujuk pada indikator RSI. Ini dapat lebih baik menangkap tren jangka pendek dan memotong kerugian dan mengambil keuntungan secara tepat waktu. Namun, kinerja strategi relatif sensitif terhadap pengaturan parameter dan perlu dioptimalkan untuk lingkungan pasar yang berbeda dan aset yang mendasari. Pada saat yang sama, pertimbangkan untuk memperkenalkan indikator lain untuk membantu menilai tren pasar untuk sepenuhnya memanfaatkan keuntungan dari strategi ini. Secara keseluruhan, strategi ini memiliki ide yang jelas, logika yang ketat, dan merupakan strategi perdagangan kuantitatif yang baik.
/*backtest start: 2024-05-20 00:00:00 end: 2024-05-27 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © tmalvao //@version=5 strategy("Estratégia de Desvio Padrão com RSI", overlay=true, margin_long=100, margin_short=100) // Parâmetros length = input.int(20, title="Período do Desvio Padrão") thresholdEntry = input.float(1.5, title="Limite de Entrada") thresholdExit = input.float(0.5, title="Limite de Saída") rsiLength = input.int(14, title="Período do RSI") rsiOverbought = input.int(70, title="RSI Overbought") rsiOversold = input.int(30, title="RSI Oversold") // Cálculo do Desvio Padrão price = close stdDev = ta.stdev(price, length) // Média Móvel Simples sma = ta.sma(price, length) // Limites baseados no Desvio Padrão upperLimit = sma + thresholdEntry * stdDev lowerLimit = sma - thresholdEntry * stdDev exitUpperLimit = sma + thresholdExit * stdDev exitLowerLimit = sma - thresholdExit * stdDev // Cálculo do RSI rsi = ta.rsi(price, rsiLength) // Condições de Entrada com RSI longCondition = ta.crossover(price, lowerLimit) and rsi < rsiOversold shortCondition = ta.crossunder(price, upperLimit) and rsi > rsiOverbought // Condições de Saída com RSI exitLongCondition = ta.crossunder(price, exitLowerLimit) or rsi > rsiOverbought exitShortCondition = ta.crossover(price, exitUpperLimit) or rsi < rsiOversold // Plotar Linhas plot(upperLimit, color=color.red, title="Limite Superior") plot(lowerLimit, color=color.green, title="Limite Inferior") plot(exitUpperLimit, color=color.orange, title="Limite de Saída Superior") plot(exitLowerLimit, color=color.blue, title="Limite de Saída Inferior") plot(sma, color=color.gray, title="SMA") hline(rsiOverbought, "RSI Overbought", color=color.red) hline(rsiOversold, "RSI Oversold", color=color.green) plot(rsi, title="RSI", color=color.purple) // Estratégia de Trade if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short")