
La estrategia se basa en el indicador de HalfTrend, que identifica las señales de compra al juzgar la tendencia a la baja. Cuando el indicador de HalfTrend se desvía por la baja, se compra el precio de límite de pérdida simple en la posición del valor de HalfTrend de la tendencia a la baja anterior. La estrategia utiliza el indicador de AmplitudeTrend (ATR) para ajustar dinámicamente el parámetro de amplitud del juicio de tendencia.
El principio de la estrategia
#Ventajas estratégicas #
El riesgo estratégico
La estrategia de compra de la tendencia a la baja de HalfTrend utiliza los puntos bajos de la tendencia a la baja anterior como posición de compra para comprar más en los niveles bajos relativamente seguros. La estrategia incluye elementos de estrategia de uso común, como el juicio de la tendencia, el precio límite y el stop loss, que se pueden optimizar aún más para aumentar la relación riesgo-beneficio.
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("HalfTrend Stop-Limit Buy", overlay=true)
// HalfTrend indicator parameters
length = 1
amplitude = 2.0
// HalfTrend calculation
float ph = na
float pl = na
var float dir = na
var float trend = na
if na(trend)
trend := close
ph := high
pl := low
dir := na
else
if high > ph
ph := high
if low < pl
pl := low
if close > trend and na(dir)
dir := 1
trend := close
ph := high
pl := low
if close < trend and na(dir)
dir := -1
trend := close
ph := high
pl := low
if dir == 1 and close < trend - amplitude
dir := -1
trend := close
ph := high
pl := low
if dir == -1 and close > trend + amplitude
dir := 1
trend := close
ph := high
pl := low
// Buy signal based on HalfTrend
buySignal = dir == 1 and ta.valuewhen(dir == -1, trend, 0)
// Plot HalfTrend
plot(dir == 1 ? trend : na, color=color.blue, linewidth=2, title="HalfTrend Bullish")
plot(dir == -1 ? trend : na, color=color.red, linewidth=2, title="HalfTrend Bearish")
// Place a stop-limit buy order
if (buySignal)
stopPrice = ta.valuewhen(dir == -1, trend, 0)
strategy.entry("HalfTrend Buy", strategy.long, stop=stopPrice, comment="HalfTrend Buy")