
Die Strategie basiert auf einem Stochastic Slow Oscillator und kombiniert Moving Averages, Relativ Strong Indices (RSI) und KI-Technologien. Die Strategie beurteilt die Überschneidung von Signalen aus dem Stochastic Slow Oscillator, wobei die Position des Preises gegenüber dem 200-Tage-Moving Average sowie die Signale eines KI-Modells berücksichtigt werden, um ein Kauf- oder Verkaufssignal zu ermitteln. Die Strategie setzt auch Stopps und Stop-Losses ein, um das Risiko zu kontrollieren.
Die Strategie verwendet Zufallsindikatoren, um Überkauf-Überverkaufsignale zu erfassen. Die Strategie nutzt Trendfilter und intelligente Signalgeneration, um die Stabilität und Anpassungsfähigkeit der Strategie zu verbessern. Obwohl die Strategie bestimmte Risiken wie Indikatorfehler und Modellunsicherheit birgt, können die Leistung und die Risikokontrolle der Strategie durch Optimierung der Indikatorparameter, Verbesserung der KI-Modelle und der Anwendung von Methoden für dynamische Risikokontrolle weiter verbessert werden.
/*backtest
start: 2024-03-12 00:00:00
end: 2024-04-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Stochastic Slow Strategy with More Entries and AI", overlay=true)
length = input.int(30, minval=1)
OverBought = input(40)
OverSold = input(19)
smoothK = input.int(18, minval=1)
smoothD = input.int(7, minval=1)
minKValue = input(12, title="Minimum K Value")
// Stochastic calculations
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k, d)
cu = ta.crossunder(k, d)
// Trend filter (200-period simple moving average)
ema200 = ta.sma(close, 200)
// Define la función para calcular la señal de la red neuronal recurrente
rnn_signal(price_series) =>
// Aquí implementa tu modelo de red neuronal recurrente para generar la señal
// Puedes usar bibliotecas externas o implementar tu propio modelo aquí
// Ejemplo de señal aleatoria
signal = ta.rsi(price_series, 14) > 50 ? 1 : -1
// Devuelve la señal generada por la red neuronal recurrente
signal
// Calcula la señal utilizando la función definida anteriormente
ai_signal = rnn_signal(close)
// Entry conditions
longCondition = ta.crossover(close, ema200) and k < OverSold and k > minKValue and ai_signal == 1
shortCondition = ta.crossunder(close, ema200) and k > OverBought and k > minKValue and ai_signal == -1
if (not na(k) and not na(d))
if (co and k < OverSold and k > minKValue)
strategy.entry("LONG", strategy.long, comment="LONG")
strategy.exit("ExitLong", "LONG", profit = close * 500, loss = close * 200)
if (cu and k > OverBought and k > minKValue)
strategy.entry("SHORT", strategy.short, comment="SHORT")
strategy.exit("ExitShort", "SHORT", profit = close * 500, loss = close * 200)
if (longCondition)
strategy.entry("LongEntry", strategy.long, comment="LongEntry")
strategy.exit("ExitLongEntry", "LongEntry", profit = close * 500, loss = close * 200)
if (shortCondition)
strategy.entry("ShortEntry", strategy.short, comment="ShortEntry")
strategy.exit("ExitShortEntry", "ShortEntry", profit = close * 500, loss = close * 200)
// Plotting
plot(ema200, color=color.blue, title="200 SMA")