
A estratégia baseia-se no indicador HalfTrend, que identifica os sinais de compra por meio da determinação de uma tendência de alta amplitude. Quando o indicador HalfTrend é exagerado, o preço de limite de perda é comprado em um único ponto de parada no local do valor de HalfTrend da tendência anterior. A estratégia usa o indicador AmplitudeTrend (ATR) para ajustar dinamicamente o parâmetro de amplitude para a determinação da tendência.
#Princípios de estratégia#
A vantagem estratégica
O risco estratégico
Resumo A estratégia de compra de limite de perda de compra de tracking de tendência de queda de HalfTrend decide o momento de compra, usando o ponto baixo da tendência de queda anterior como uma posição de compra, a fim de fazer mais entrada em níveis baixos relativamente seguros. A estratégia inclui elementos de estratégia de uso comum, como julgamento de tendência, limite de preço, stop loss, etc., que podem ser otimizados ainda mais para aumentar a taxa de risco-retorno.
/*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")