
Cette stratégie consiste à acheter et à vendre des actions dans une certaine zone de choc en combinant l’indicateur aléatoire RSI et l’indicateur aléatoire d’oscillation Stochastic Oscillator avec des paramètres spécifiques.
Le code définit d’abord les paramètres K, D et SD de l’oscillateur stochastique, ainsi que les paramètres périodiques de l’indicateur RSI. Après chaque ligne K, les valeurs de l’oscillateur stochastique et du RSI sont calculées.
Cette stratégie de double filtrage des indicateurs permet de réduire efficacement les transactions inutiles provoquées par les whipsaws dans les stratégies stochastiques ordinaires. En combinaison avec l’indicateur de tendance RSI, il est possible d’éviter les transactions aveugles en l’absence d’une tendance claire.
Le plus grand risque de cette stratégie réside dans le fait que les paramètres indiqués ne s’appliquent pas nécessairement à toutes les variétés et à toutes les périodes de temps. Par exemple, au cours d’une période de temps segmentée, les paramètres du RSI et du stochastique doivent être ajustés.
Il est possible de tester plus de combinaisons d’indicateurs, comme la combinaison d’indicateurs MACD avec Stochastic ou RSI, pour former un filtre multi-indicateurs; ajuster les valeurs de paramètres spécifiques de RSI et Stochastic, pour trouver la meilleure combinaison de paramètres; ajuster l’amplitude de l’arrêt de perte en fonction de la dynamique des fluctuations des derniers N jours. Par l’optimisation des paramètres et de l’optimisation des indicateurs, la performance de la stratégie peut être améliorée en permanence.
Cette stratégie utilise l’indicateur stochastique aléatoire et l’indicateur de force de tendance RSI pour le double filtrage des indicateurs, permettant d’identifier efficacement les situations de survente et de survente. Elle est plus efficace que la stratégie d’indicateur stochastique unique.
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-14 04:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Estrategia de Oscilador Estocástico y RSI", overlay=false)
// Configuración del Oscilador Estocástico
fastK = input(14, title="K", minval=1)
slowK = input(3, title="D", minval=1)
slowD = input(3, title="SD", minval=1)
overSold = input(20, title="Oversold")
overBought = input(80, title="Overbought")
// Configuración del RSI
rsiPeriod = input(14, title="RSI Period")
// Cálculo del Oscilador Estocástico
k = sma(stoch(close, high, low, fastK), slowK)
d = sma(k, slowD)
// Cálculo del RSI
rsi = rsi(close, rsiPeriod)
// Lógica de la estrategia
if (rsi < overSold and k < overSold)
strategy.entry("Compra", strategy.long)
if (rsi > overBought and k > overBought)
strategy.entry("Venta", strategy.short)
// Establecer stop loss y take profit
stopLoss = input(100, title="Stop Loss")
takeProfit = input(100, title="Take Profit")
strategy.exit("Stop Loss / Take Profit", "Compra", stop=close - stopLoss, limit=close + takeProfit)
strategy.exit("Stop Loss / Take Profit", "Venta", stop=close + stopLoss, limit=close - takeProfit)
// Trama de gráfico
plot(k, color=color.blue, title="K")
plot(d, color=color.red, title="D")
plot(rsi, color=color.green, title="RSI")