
La idea principal de esta estrategia es abrir más posiciones después de que aparezcan ciertas formas de la línea K, es decir, hacer más entradas cuando aparezca una línea que salta hacia abajo y la siguiente línea K se abre cuando el punto bajo de la línea K se desvía.
Las condiciones específicas para este juicio son: la línea K anterior tiene un punto mínimo más bajo y un punto máximo más alto en comparación con las dos líneas K anteriores, es decir, un salto hacia abajo; y el punto mínimo de la línea K actual es menor o igual al punto mínimo de la línea K anterior, es decir, un retroceso. Al satisfacer estas dos condiciones al mismo tiempo, haga más entradas cuando la siguiente línea K se abra.
Si el precio de la posición es superior al 2% del precio de apertura, el precio de la posición se cerrará cuando el precio toque el precio de la parada o el precio de la parada.
La mayor ventaja de esta estrategia es que se aprovechan las oportunidades de rebote que son muy probables en el corto plazo. Cuando se presenta una línea K que salta hacia abajo y luego se produce un retroceso, esta es una forma técnica muy poderosa que indica que la fuerza de la cabeza aérea puede agotarse a ese nivel y que hay una gran probabilidad de que se produzca un rebote. Por lo tanto, esta es una estrategia relativamente adecuada para operaciones de línea corta.
El principal riesgo de esta estrategia es la posibilidad de que los precios sigan bajando después de la finalización de la corrección. Debido a que estamos haciendo más cerca de los mínimos de la corrección, si no se detiene a tiempo, se pueden enfrentar grandes pérdidas. Además, si la amplitud de la corrección es menor y el punto de parada está más cerca, se puede ajustar.
Se pueden considerar otros indicadores para determinar el momento de entrada, como volver a entrar en el mercado cuando se produce el MACD, o calcular el precio típico para ver si está en posición de soporte, etc. Esto puede filtrar algunas señales falsas y mejorar la estabilidad de la estrategia. Además, se puede estudiar el rendimiento de la estrategia en diferentes variedades y diferentes períodos de tiempo para encontrar la combinación óptima de parámetros. También se pueden optimizar automáticamente los parámetros mediante métodos como el aprendizaje automático.
La estrategia en general es una estrategia típica de reajuste de la brecha de la línea corta. Se aprovecha la oportunidad de rebote que ofrece la forma fuerte de reajuste que se produce con el salto en el aire. Pero al mismo tiempo, se enfrenta al riesgo de no poder detenerse a tiempo y causar grandes pérdidas.
/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Created by Leon Ross
//study(title="OutsideDownOpenLower", shorttitle="ODOL", overlay=true)
strategy(title = "Outside", shorttitle = "OB", overlay = true )
//Window of time
//start = timestamp(2018, 01, 01, 00, 00) // backtest start window
//finish = timestamp(2018, 12, 31, 23, 59) // backtest finish window
//window() => time >= start and time <= finish ? true : false // create function "within window of time"
//Conditions
outsideBar = low < low[1] and high > high[1] and close < open
allConditions = outsideBar
//Stop and Take Profit as percentages
//inpTakeProfit = input(2, title='Take Profit %', type=float)/100
//takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit)
//useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na
//inpStopLoss = input(1, title='Stop Loss %', type=float)/100
//stopLossValue = strategy.position_avg_price * (1 - inpStopLoss)
//useStopLoss = inpStopLoss > 0 ? stopLossValue : na
//entry = strategy.position_avg_price
//Stop as last bars low and profit as percentage
entry = strategy.position_avg_price
inpTakeProfit = input(2.0, title='Take Profit %', type=float)/100
takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit)
useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na
inpStopLoss = valuewhen(allConditions, low, 0)
stopLossValue = inpStopLoss
useStopLoss = inpStopLoss > 0 ? stopLossValue : na
//Plots
bgcolor(allConditions ==1 ? aqua : na, transp=70)
plot(entry, color=blue, style=linebr, linewidth=2)
plot(useStopLoss, color=red, style=linebr, linewidth=2)
plot(useTakeProfit, color=green, style=linebr, linewidth=2)
//Entires
strategy.entry(id = "Long", long = true, when = allConditions) // use function or simple condition to decide when to get in
//Exits
//if (barssince(allConditions) == 2)
//strategy.close("Long")
//else
strategy.exit("Exit Long", from_entry = "Long", stop = useStopLoss)