estrategia · código abierto
Estrategia de cruce del Estocástico (14, 3, 3)
Cruce %K/%D del Estocástico: compra el cruce alcista por debajo de 20 y sal cuando %K supera 80. Reglas claras, código copiable y backtest con costes. Deepwick Script ejecuta un subconjunto de Pine Script.
Reglas de entrada y salida
- Solo largos y una posición a la vez (
strategy.position_size == 0antes de entrar). Las señales se evalúan al cierre de la vela; Deepwick ejecuta las órdenes de mercado en la apertura de la vela siguiente. - %K = SMA(3) del estocástico bruto de 14 velas; %D = SMA(3) de %K.
- Entrada: sin posición, %K cruza por encima de %D y %K está por debajo de 20 (input Oversold) → compra en la apertura siguiente.
- Señal de salida: %K por encima de 80 → cierre (80 fijo en el código).
- Bracket de protección desde el precio medio de entrada: stop-loss un 2% por debajo y take-profit un 6% por encima (inputs
Stop Loss %yTake Profit %; Take Profit % = 0 desactiva el objetivo). Stops y objetivos se comprueban siguiendo el recorrido de la vela (apertura → extremo más cercano → extremo más lejano → cierre). - Tamaño y costes en
strategy(): capital inicial 10.000, 10% del capital por operación, comisión del 0,05% por ejecución, slippage no definido (0 por defecto). Los backtests guardados pagan además medio spread real en cada ejecución de mercado y de stop.
Referencia del lenguaje: Deepwick Script.
Ajustes por defecto
| Ajuste | Valor | Mín. | Máx. |
|---|---|---|---|
%K Length | 14 | 5 | 50 |
%K Smoothing | 3 | 1 | 10 |
%D Smoothing | 3 | 1 | 10 |
Oversold | 20 | 5 | 45 |
Stop Loss % | 2 | 0.5 | 10 |
Take Profit % | 6 | 0 | 20 |
Cómo ejecuta Deepwick esta estrategia
- Las órdenes de mercado se ejecutan en la apertura de la vela siguiente.
- Stops y límites siguen el recorrido de la vela: apertura → extremo más cercano → extremo más lejano → cierre.
- Los gaps se ejecutan en la apertura.
- La comisión se cobra en cada ejecución, y el slippage se aplica a las órdenes de mercado y de stop, según lo definido en
strategy().
Código fuente
Deepwick Script (un subconjunto de Pine Script)
//@version=5
strategy("Stochastic Cross", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.05)
len = input.int(14, "%K Length", minval=5, maxval=50, step=1)
kSmooth = input.int(3, "%K Smoothing", minval=1, maxval=10, step=1)
dSmooth = input.int(3, "%D Smoothing", minval=1, maxval=10, step=1)
oversold = input.int(20, "Oversold", minval=5, maxval=45, step=1)
stopPct = input.float(2, "Stop Loss %", minval=0.5, maxval=10, step=0.1)
tpPct = input.float(6, "Take Profit %", minval=0, maxval=20, step=0.1)
colorLine = input.color("color.blue", "Color Line")
colorMid = input.color("color.orange", "Color Mid")
colorUp = input.color("color.green", "Color Up")
colorDown = input.color("color.red", "Color Down")
colorNeutral = input.color("color.gray", "Color Neutral")
hh = ta.highest(high, len)
ll = ta.lowest(low, len)
kRaw = 100.0 * (close - ll) / (hh - ll)
k = ta.sma(kRaw, kSmooth)
d = ta.sma(k, dSmooth)
longSignal = strategy.position_size == 0 and ta.crossover(k, d) and k < oversold
exitSignal = strategy.position_size > 0 and k > 80
if longSignal
strategy.entry("Long", strategy.long)
if strategy.position_size > 0
strategy.exit("Risk", stop=stopPct > 0 ? strategy.position_avg_price * (1 - stopPct / 100) : na, limit=tpPct > 0 ? strategy.position_avg_price * (1 + tpPct / 100) : na)
if exitSignal
strategy.close("Long", comment="Stoch exit")
hline(80, "Overbought", color=colorNeutral, linestyle=hline.style_dashed)
hline(20, "Oversold", color=colorNeutral, linestyle=hline.style_dashed)
p__K = plot(k, "%K", color=colorLine, linewidth=2)
p__D = plot(d, "%D", color=colorMid)
plotshape(longSignal, "Long", style=shape.triangleup, location=location.belowbar, color=colorUp, text="L")
plotshape(exitSignal, "Exit", style=shape.triangledown, location=location.abovebar, color=colorDown, text="X")
alertcondition(longSignal, "Stoch long entry", "Stochastic crossed up inside oversold")
alertcondition(exitSignal, "Stoch exit", "Stochastic left overbought")
Pruébala en Deepwick
- Abre un gráfico de cualquier cripto o CFD.
- Pulsa «Scripts» y añade esta estrategia.
- Pulsa «Run» y revisa las operaciones en el Strategy Tester.
Preguntas frecuentes
¿Es el Estocástico lento o el rápido?
Es el lento: %K se suaviza con una SMA de 3 y %D es una SMA de 3 sobre ese %K.
¿Es la estrategia Stochastic RSI?
No. El Stochastic RSI aplica la fórmula estocástica sobre el RSI. Mira la página del indicador Stochastic RSI; aún no hay página de estrategia Stoch RSI.
¿Por qué solo cruces por debajo de 20?
Exigir el cruce en sobreventa filtra los cruces de zona media, que son los más ruidosos. Sube el input Oversold para tener más operaciones.