
Esta estratégia baseia-se no indicador de canal de tendência ultra design de sinais de entradas e saídas, para automatizar a quantificação de transações. O indicador de canal de tendência ultra pode definir pontos de ruptura e suportar resistências, ajudando a determinar a direção da tendência. Esta estratégia combina os benefícios do indicador para negociações de curto e longo prazo.
Esta estratégia usa o ATR e o canal de Tangjian para calcular duas linhas de parada de comprimento. Concretamente, o valor do ATR é calculado através do ciclo ATR e do parâmetro do multiplicador do ATR e, em seguida, adicionado à média dos preços mais altos e mais baixos, obtém duas linhas de parada de comprimento.
Depois de fazer mais shorting, a linha de stop-loss será atualizada em tempo real para bloquear o lucro. A nova linha de stop-loss não será inferior ou superior ao valor anterior, evitando que o stop-loss seja quebrado. Quando houver uma nova alta ou baixa entre a linha de stop-loss e a linha de stop-loss anterior, a linha de stop-loss será atualizada para o preço mais recente.
A maior vantagem desta estratégia é que o indicador de canal de tendência ultra pode determinar com clareza a direção da tendência e os pontos de resistência de suporte crítico. Combinado com a parada dinâmica do ATR, o controle de perdas individuais pode ser efetivo.
Especificamente, duas linhas de stop loss no indicador do canal de ultra-trend, uma representando o custo de manutenção da posição e outra representando o suporte ou o nível de pressão mais recente. Isso fornece uma base muito clara para as entradas e saídas.
Em geral, esta estratégia é uma estratégia de negociação quantitativa relativamente robusta, com o controle de risco de entries em tempo hábil após a determinação da tendência, através de um stop loss dinâmico.
O principal risco desta estratégia é a possibilidade de uma ruptura da linha de stop loss. Quando o preço flutua fortemente, a nova linha de stop loss pode ficar abaixo ou acima do valor anterior, causando a ruptura da linha de stop loss e aumentando a perda.
Além disso, em situações de turbulência, os sinais de entrada gerados pelo indicador de canal de tendência ultra são pouco eficazes e são fáceis de formar transações erradas. Neste caso, é necessária a intervenção manual para determinar a tendência e iniciar a estratégia.
A estratégia pode ser melhorada em alguns aspectos:
Otimizar os parâmetros do ATR e do ATR para encontrar a melhor combinação. Pode ser feito através da retomada de diferentes parâmetros, analisando a taxa de retorno, índice de Sharpe, etc.
Adicionar filtros de outros indicadores para evitar erros em situações de turbulência Entries. Pode considerar a inclusão de indicadores como a média móvel, a faixa de Bryn e outros para determinar a direção da tendência.
O indicador de volume combinado pode otimizar a posição de parada. A linha de parada pode ser ajustada de acordo com a posição do aumento de volume de transação, para bloquear ainda mais os lucros.
Aumentar o modelo de aprendizagem de máquina para otimização de adaptação de parâmetros. Os modelos RNN, LSTM e outros podem ser usados para prever os valores dos parâmetros e realizar a otimização dinâmica dos parâmetros.
Esta estratégia é baseada no design de indicadores de canal de tendência ultra, a direção da tendência é clara, com uma alta taxa de vitória. Ao mesmo tempo, a aplicação de ATR tracking stop loss dinâmico para controlar a perda individual.
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//EU ESCREVI ISSO TUDO, PARA FICAR BEM CLARO
strategy("SuperTrend Strategy", overlay=true)
//AQUI OS INPUTS PARA A SUPERTREND
length = input(title="ATR Period", type=input.integer, defval=7)
mult = input(title="ATR Multiplier", type=input.float, step=0.1, defval=7)
showLabels = input(title="Show Buy/Sell Labels ?", type=input.bool, defval=true)
//AQUI O CALCULO DO ATR STOPS
atr = mult * atr(length)
//AQUI A TRANSFORMAÇÃO DO ATR STOPS EM SUPERTREND
//-
//A LÓGICA PARA LONGSTOP
longStop = hl2 - atr
longStopPrev = nz(longStop[1], longStop)
longStop := close[1] > longStopPrev ? max(longStop, longStopPrev) : longStop
//A LÓGICA PARA SELLSTOP
shortStop = hl2 + atr
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := close[1] < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
//DIREÇÃO DO INDICADOR
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and close > shortStopPrev ? 1 :
dir == 1 and close < longStopPrev ? -1 : dir
//DEFININDO AS CORES DAS LINHAS DA SUPERTREND
longColor = color.lime
shortColor = color.red
//PLOTANDO NO GRÁFICO A SUPERTREND E A ESTRATÉGIA
plot(dir == 1 ? longStop : na, title="Long Stop", style=plot.style_linebr, linewidth=3, color=longColor)
buySignal = dir == 1 and dir[1] == -1
plot(dir == 1 ? na : shortStop, title="Short Stop", style=plot.style_linebr, linewidth=3, color=shortColor)
sellSignal = dir == -1 and dir[1] == 1
//DEFININDO AS FUNÇÕES DE COMPRA E VENDA
strategy.entry("long", strategy.long, when = buySignal)
strategy.entry("short", strategy.short, when = sellSignal)