
La estrategia de corto plazo de límite de la cabeza vacía es una estrategia de comercio de alta frecuencia que intenta establecer posiciones de cabeza vacía y establecer niveles mínimos de stop loss y stop loss cuando el precio se acerca o rompe la línea de soporte. La estrategia utiliza brechas de corto plazo en los precios para capturar la fluctuación del mercado y obtener ganancias.
La estrategia comienza calculando la línea de regresión lineal del precio. Si el precio de cierre real es inferior al precio de cierre previsto, se establece una posición de más; si el precio de cierre real es superior al precio de cierre previsto, se establece una posición de más.
Los parámetros clave incluyen:
La idea principal de esta estrategia es capturar brechas de corta duración en la línea de la media. Establecer posiciones a tiempo cuando el precio se acerca o rompe las líneas de soporte o resistencia; y establecer paros y paradas de muy pequeña pérdida, cerrar las posiciones inmediatamente después de obtener ganancias y repetir el proceso.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Las respuestas a los riesgos incluyen:
La estrategia podría optimizarse aún más si se incluyen:
Las estrategias de corto plazo son típicas de las estrategias de alta frecuencia. Las estrategias de corto plazo capturan las fluctuaciones de los precios a corto plazo mediante la construcción de posiciones a tiempo cerca de los puntos de precio clave y la configuración de un mínimo stop loss. Aunque se pueden obtener mayores ganancias, también se enfrentan a ciertos riesgos.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Extreme Scalping", overlay=true )
src = input(close,title="Source")
len = input(defval=14, minval=1, title="Length")
offset = input(1)
out = linreg(src, len, offset)
plot(out)
gap_tick=input(100)
fixedTP=input(300)
fixedSL=input(100)
useFixedSLTP=input(true)
direction=input(defval="ALL",title="Direction of order",options=["ALL","BUY ONLY","SELL ONLY"])
gap=gap_tick*syminfo.mintick
plot(out+gap,color=color.red)
plot(out-gap,color=color.green)
tp=useFixedSLTP?fixedTP:gap_tick
sl=useFixedSLTP?fixedSL:gap_tick
longCondition = close<(out-gap) and (direction=="ALL" or direction=="BUY ONLY")
shortCondition = close>(out+gap) and (direction=="ALL" or direction=="SELL ONLY")
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("exit long","Long",profit = tp,loss = sl)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("exit short","Short",profit =tp,loss=sl)
// === Backtesting Dates === thanks to Trost
// testPeriodSwitch = input(true, "Custom Backtesting Dates")
// testStartYear = input(2019, "Backtest Start Year")
// testStartMonth = input(10, "Backtest Start Month")
// testStartDay = input(3, "Backtest Start Day")
// testStartHour = input(0, "Backtest Start Hour")
// testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
// testStopYear = input(2019, "Backtest Stop Year")
// testStopMonth = input(12, "Backtest Stop Month")
// testStopDay = input(31, "Backtest Stop Day")
// testStopHour = input(23, "Backtest Stop Hour")
// testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0)
// testPeriod() =>
// time >= testPeriodStart and time <= testPeriodStop ? true : false
// isPeriod = testPeriodSwitch == true ? testPeriod() : true
// // === /END
// if not isPeriod
// strategy.cancel_all()
// strategy.close_all()