
Esta estrategia se llama estrategia de stop loss de compra orientada a la baja oscilación. Utiliza el cruce de las medias móviles como una señal de compra, combinada con el stop loss para bloquear ganancias, y se aplica a las monedas de baja oscilación.
La estrategia utiliza un promedio móvil de 3 períodos diferentes: 50 períodos, 100 períodos y 200 períodos. Su lógica de compra es: hacer más entradas cuando la línea de 50 períodos atraviesa la línea de 100 períodos y la línea de 100 períodos atraviesa la línea de 200 períodos.
Esta señal indica que el mercado está saliendo de la zona de baja volatilidad y comenzando a entrar en un estado de tendencia. La subida rápida de 50 ciclos representa un aumento repentino de la fuerza interna a corto plazo y comienza a impulsar la línea media larga hacia arriba; La línea de 100 ciclos también comienza a subir, lo que indica que la fuerza intermedia se suma y se estabiliza en la tendencia.
Después de la entrada, la estrategia utiliza el stop loss para bloquear las ganancias. El objetivo del stop loss es el 8% del precio de entrada, y la línea de stop loss es el 4% del precio de entrada. La configuración del stop loss es mayor que el stop loss, lo que favorece la ganancia sobre las pérdidas y garantiza la rentabilidad general de la estrategia.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Respuesta:
La estrategia se puede optimizar en los siguientes aspectos:
En resumen, la estrategia tiene una lógica clara de funcionamiento general, se puede aplicar de manera flexible para obtener ganancias de bajo riesgo mediante la configuración del ciclo de la media móvil y el stop loss amplitud. Se puede optimizar posteriormente desde la señal de entrada, el modo de parada, etc., para buscar el mejor efecto con la adaptación de los parámetros.
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(shorttitle='Low volatility Buy w/ TP & SL (by Coinrule)',title='Low volatility Buy w/ TP & SL', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => time >= start and time <= finish ? true : false // create function "within window of time"
//MA inputs and calculations
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_normal= sma(close, input(100))
//Entry
strategy.entry(id="long", long = true, when = movingaverage_slow > movingaverage_normal and movingaverage_fast > movingaverage_normal)
//Exit
longStopPrice = strategy.position_avg_price * (1 - 0.04)
longTakeProfit = strategy.position_avg_price * (1 + 0.08)
strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())
//PLOT
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=3)
plot(movingaverage_normal, color=color.blue, linewidth=2)