
Die Strategie kombiniert den Stochastic Oscillator mit dem Moving Average, um überkaufen und überverkaufen zu können, und richtet den Handel nach der Richtung des Moving Averages. Die Strategie eröffnet eine Überschwemmungsposition, wenn der Stochastic Oscillator in der Überverkaufszone nach oben kreuzt und der Moving Average im Aufwärtstrend ist. Die Strategie eröffnet eine offene Position, wenn der Stochastic Oscillator in der Überkaufszone nach unten kreuzt und der Moving Average im Abwärtstrend ist.
Die Strategie verwendet die Trendrichtung der Moving Averages, um Handelssignale zu filtern und Risiken zu kontrollieren, indem sie die Trendrichtung der Moving Averages nutzt, um Handelssignale zu filtern und Risiken zu kontrollieren, während die Überkaufe und Überverkäufe der Märkte erfasst werden. Die Strategie ist klar konzipiert, leicht zu verstehen und umzusetzen. Die Strategie hat jedoch auch einige Einschränkungen, wie z. B. die Verzögerung der Indikatoren, häufige Geschäfte.
/*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")