
La estrategia de doble salto es una estrategia cuantitativa utilizada para el comercio de Bitcoin y oro en línea corta. Se combina con el uso de medias móviles, bandas de Brin y paradas ATR para identificar señales de ruptura y administrar el riesgo.
La estrategia de doble salto en alto utiliza el cruce de EMA rápido y EMA lento para determinar la dirección de la tendencia. Cuando el EMA rápido se eleva, se genera una señal de compra; cuando el EMA rápido se eleva, se genera una señal de venta.
Concretamente, para juzgar una señal de compra, se requieren las siguientes dos condiciones: 1) un EMA rápido que atraviese un EMA lento; 2) el precio de cierre esté cerca o debajo de la banda de Brin en el camino o en el medio camino. De manera similar, se requiere un sell signal que atraviese un EMA lento bajo un EMA rápido y que se acerque a la banda de Brin en el camino o en el medio camino.
Además, la estrategia de doble salto también utiliza el indicador ATR para calcular el stop dinámico para controlar el riesgo de una sola transacción. La posición de parada específica es el punto más bajo de las dos líneas K más recientes menos N veces el ATR.
La estrategia de doble salto puede ser optimizada en los siguientes aspectos:
La estrategia de doble salto en alto utiliza el seguimiento de tendencias y el filtrado de rupturas al mismo tiempo, lo que permite identificar de manera efectiva las oportunidades de corto plazo. Combinado con el riesgo de gestión de pérdidas dinámicas, es muy adecuado para el comercio de corto plazo de monedas digitales y variedades de metales preciosos con una alta volatilidad.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © singhak8757
//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)
// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)
// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)
// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)
// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)
// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")
// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")
// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)
// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")
// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)