
Esta estrategia determina la dirección de la tendencia del mercado mediante el cálculo de las medias móviles y la diferencia de precios, y abre más posiciones cuando cumple con las condiciones de tendencia, evitando abrir posiciones frecuentes en situaciones de crisis.
La estrategia combina medias móviles y el análisis de la amplitud de las fluctuaciones de los precios para capturar oportunidades de subidas de precios en situaciones de tendencia.
Cuando el precio se eleva más allá de la media móvil, se indica que se encuentra en una situación de mercado múltiple. Si la diferencia entre el precio más alto y el precio más bajo de los últimos 3 períodos es mayor que el promedio de sus propios 20 períodos, lo que indica que el rango de fluctuación reciente se ha ampliado, los precios pueden aumentar considerablemente, entonces se abre una posición adicional.
Una vez abierta la posición, se establece un precio de stop loss de proporción fija, y se detiene activamente la posición para cerrar la posición cuando el precio cae por debajo de ese precio, para controlar el riesgo a la baja.
La solución al riesgo:
Esta estrategia se basa en un simple y eficaz criterio de indicadores para lograr la idea de abrir posiciones de manera eficiente en situaciones de tendencia, puede filtrar de manera efectiva los pequeños movimientos de movimiento y evitar transacciones sin sentido. Al mismo tiempo, el control de riesgo de la estrategia también está en su lugar y puede controlar bien las pérdidas potenciales.
/*backtest
start: 2023-02-21 00:00:00
end: 2024-02-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Diferencia HL y MA para Criptomonedas", shorttitle="HL MA Crypto Strategy-Ortiz", overlay=true)
// Definir longitud de MA y HL
ma_length = input(20, title="Longitud MA")
hl_length = input(3, title="Longitud HL")
exit_below_price = input(0.98, title="Salir por debajo de precio")
// Calcular MA
ma = ta.sma(close, ma_length)
// Calcular HL
hh = ta.highest(high, hl_length)
ll = ta.lowest(low, hl_length)
hl = hh - ll
// Condiciones de tendencia alcista
bullish_trend = close > ma
// Condiciones de entrada y salida
long_condition = close > ma and close > ma[1] and hl > ta.sma(hl, ma_length)
short_condition = false // No operar en tendencia bajista
exit_condition = low < close * exit_below_price
// Entrada y salida de la estrategia
if (long_condition)
strategy.entry("Buy", strategy.long)
if (short_condition)
strategy.entry("Sell", strategy.short)
if (exit_condition)
strategy.close("Buy")
// Plot de señales en el gráfico
plotshape(long_condition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(short_condition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")