Diese Strategie kombiniert den Stochastischen Oszillator und den gleitenden Durchschnitt (MA) zur Bestimmung von überkauften und überverkauften Marktbedingungen und verwendet die Trendrichtung des gleitenden Durchschnitts zur Bestimmung der Handelsrichtung. Wenn der Stochastische Oszillator im Überverkaufszone nach oben kreuzt und der gleitende Durchschnitt im Aufwärtstrend ist, eröffnet die Strategie eine Long-Position; wenn der Stochastische Oszillator im überkauften Bereich nach unten kreuzt und der gleitende Durchschnitt im Abwärtstrend ist, eröffnet die Strategie eine Short-Position. Darüber hinaus setzt die Strategie einen Stop Loss zur Risikokontrolle.
Diese Strategie kombiniert den Stochastischen Oszillator und den gleitenden Durchschnitt, um überkaufte und überverkaufte Marktbedingungen zu erfassen, während die Trendrichtung des gleitenden Durchschnitts zur Filterung von Handelssignalen und zum Festlegen eines Stop-Loss zur Risikokontrolle verwendet wird. Die Strategielogik ist klar und leicht zu verstehen und umzusetzen. Die Strategie hat jedoch auch einige Einschränkungen, wie Indikatorverzögerung und häufigen Handel. Durch die Einführung anderer technischer Indikatoren, die Optimierung von Stop-Loss-Methoden, die dynamische Anpassung von Parametern und die Implementierung der Positionsgröße können die Leistung und Robustheit der Strategie weiter verbessert werden.
/*backtest start: 2024-04-22 00:00:00 end: 2024-04-29 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_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/ // © Pablo_2uc //@version=5 strategy("Estrategia Stoch + MA c/ SL", overlay=true) // Parámetros del Estocástico length = input.int(14, title="Longitud Estocástico") smoothK = input.int(3, title="Suavizado K") smoothD = input.int(3, title="Suavizado D") oversold = input.int(20, title="Sobreventa") overbought = input.int(80, title="Sobrecompra") // Parámetros de la Media Móvil maLength = input.int(9, title="Longitud MA") maSource = input(close, title="Fuente MA") // Capital inicial capital = 500 // Tamaño de posición (10% del capital) positionSize = 1 // Stop Loss (2% del precio de entrada) stopLossPercent = input.int(2, title="Stop Loss (%)") / 100 // Cálculo del Estocástico k = ta.sma(ta.stoch(close, high, low, length), smoothK) d = ta.sma(k, smoothD) // Cálculo de la Media Móvil ma = ta.sma(maSource, maLength) // Condiciones de entrada en largo y corto longCondition = ta.crossunder(k, oversold) and ma > ma[1] shortCondition = ta.crossover(k, overbought) and ma < ma[1] // Condiciones de salida exitLongCondition = ta.crossover(k, ma) and ma < ma[1] exitShortCondition = ta.crossunder(k, ma) and ma > ma[1] // Estrategia if (longCondition) strategy.entry("Long", strategy.long, qty=positionSize) strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent)) if (shortCondition) strategy.entry("Short", strategy.short, qty=positionSize) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent)) // Cierre de posiciones if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short")