Estratégia de entrada de fuga com base no canal ATR


Data de criação: 2024-01-03 11:53:52 última modificação: 2024-01-03 11:53:52
cópia: 1 Cliques: 722
1
focar em
1621
Seguidores

Estratégia de entrada de fuga com base no canal ATR

Visão geral

A estratégia usa o canal ATR e a teoria da brecha para entrar na tendência ao quebrar o canal. A estratégia é simples e fácil de entender, usa o canal uniforme e o indicador ATR para determinar a direção da tendência e emitir sinais de negociação em pontos-chave.

Princípio da estratégia

A estratégia usa preços altos, baixos, de fechamento e indicadores ATR para construir um trajeto ascendente e descendente, formando um canal ATR. A largura do canal é determinada pelo tamanho do parâmetro ATR. Quando o preço quebra o canal, é considerado como início de tendência, entrando na direção de fazer mais ou fazer menos. A estratégia é dividida em dois sinais de negociação.

Análise de vantagens

As principais vantagens desta estratégia são:

  1. O uso do indicador ATR para construir um canal, levando em conta a volatilidade do mercado, é melhor do que a média simples.
  2. A entrada é feita em dois lotes, o risco é controlado.
  3. A partir daí, os pesquisadores começaram a pesquisar as tendências e a localização de pontos-chave.
  4. O código foi simplificado e a implementação foi fácil de entender.

Análise de Riscos

Os principais riscos desta estratégia são os seguintes:

  1. O único indicador de que a estratégia tem uma grande probabilidade de falhar é quando o ATR falha.
  2. Não existem limites de stop loss e gestão de posições, e o controlo de risco é insuficiente.
  3. A eficácia ainda está por ser verificada, mas pode não ser muito eficaz em condições reais.
  4. Parâmetros inadequados podem levar a travessia ou a transações excessivas.

Direção de otimização

A estratégia pode ser otimizada da seguinte forma:

  1. Aumentar a filtragem e confirmação de vários indicadores para evitar erros de avaliação.
  2. Aumentar o módulo de stop loss e o controle de risco.
  3. Aumentar o controle de posição e gestão de posições.
  4. Adição de parâmetros de otimização e ajuste de parâmetros para diferentes variedades.
  5. Reduzir a frequência de negociação e o tamanho das posições, levando em consideração as condições de mercado.

Resumir

A estrutura geral da estratégia é clara e pode ser entendida como uma estratégia de validação de conceito. No entanto, há uma certa distância do mercado real e há um grande espaço para otimização. A estratégia tem melhores perspectivas de aplicação se for possível aperfeiçoar ainda mais o controle do vento e o controle da frequência de negociação.

Código-fonte da estratégia
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Myhaj_Lito

//@version=5
strategy("Renko Trend Strategy",shorttitle = "RENKO-Trend str.",overlay = true)
TF = input.timeframe(title='TimeFrame', defval="60")
ATRlength = input.int(title="ATR length", defval=60, minval=2, maxval=1000)

HIGH = request.security(syminfo.tickerid, TF, high)
LOW = request.security(syminfo.tickerid, TF, low)
CLOSE = request.security(syminfo.tickerid, TF, close)
ATR = request.security(syminfo.tickerid, TF, ta.atr(ATRlength))


RENKOUP = float(na)
RENKODN = float(na)
H = float(na)
COLOR = color(na)
BUY = int(na)
SELL = int(na)
UP = bool(na)
DN = bool(na)
CHANGE = bool(na)

RENKOUP := na(RENKOUP[1]) ? (HIGH + LOW) / 2 + ATR / 2 : RENKOUP[1]
RENKODN := na(RENKOUP[1]) ? (HIGH + LOW) / 2 - ATR / 2 : RENKODN[1]
H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP - RENKODN : RENKOUP[1] - RENKODN[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false
CHANGE := false

// calculating 
if not CHANGE and close >= RENKOUP[1] + H * 2
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1] + ATR * 2
    RENKODN := RENKOUP[1] + ATR
    COLOR := color.rgb(0, 255, 170,60)
    SELL := 0
    BUY += 2
    BUY


if not CHANGE and close >= RENKOUP[1] + H
    CHANGE := true
    UP := true
    RENKOUP := RENKOUP[1] + ATR
    RENKODN := RENKOUP[1]
    COLOR := color.rgb(0, 230, 38,60)
    SELL := 0
    BUY += 1
    BUY

if not CHANGE and close <= RENKODN[1] - H * 2
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1] - ATR * 2
    RENKOUP := RENKODN[1] - ATR
    COLOR := color.rgb(255, 92, 43,60)
    BUY := 0
    SELL += 2
    SELL
if not CHANGE and close <= RENKODN[1] - H
    CHANGE := true
    DN := true
    RENKODN := RENKODN[1] - ATR
    RENKOUP := RENKODN[1]
    COLOR := color.rgb(245, 69, 69,60)
    BUY := 0
    SELL += 1
    SELL
//// STRATEGY 
if(UP)
    strategy.entry("Long",strategy.long)
if(DN)
    strategy.entry("Short",strategy.short)


// ploting 

bgcolor(COLOR)