Fechamos o dia anterior com a estratégia de rastreamento de tendências da ATR.

Autora:ChaoZhang, Data: 2024-01-31 14:39:09
Tags:

img

Resumo

Esta estratégia define níveis de preço de entrada longos e curtos e níveis de preço de stop loss com base no preço de fechamento do dia anterior e no indicador ATR para acompanhar a tendência.

Estratégia lógica

Esta estratégia utiliza o preço de fechamento, o preço alto, o preço baixo e o indicador ATR do dia anterior para calcular os níveis de preço de entrada e os níveis de stop loss.

Nível de preço de entrada longo TPup = fechamento do dia anterior s + ATR * 0,8
Nível de preço de entrada curto TPdown = fechamento do dia anterior - ATR * 0,8

O nível de stop-loss longo despencou = fechamento do dia anterior + ATR * 0,2
Nível de stop loss curto sldown = fechamento do dia anterior - ATR * 0,2

Nível de lucro longo (long take profit levelup) = Baixo do dia anterior + ATR * 1,7
Nível de lucro de captação curta (Short Take Profit Level) Nível de lucro de captação curta (Profit Leveldown) = Alto do dia anterior - ATR * 1,7

Quando o preço atravessa o TPup, vá longo 10 lotes. Quando o preço atravessa o TPdown, vá curto 10 lotes. Em seguida, defina stop loss e take profit.

Análise das vantagens

As principais vantagens desta estratégia são:

  1. Utilização do indicador ATR para definir níveis dinâmicos de preços de entrada e níveis de stop loss com base na volatilidade do mercado, tornando as operações mais adaptáveis às condições do mercado.

  2. Utilizando o fechamento dos dias anteriores para determinar a direção e combinando com o indicador ATR para identificar níveis específicos de negociação, evitando ser enganado pelo ruído excessivo dos preços em tempo real.

  3. Configurar mecanismos de stop loss e take profit para controlar efetivamente o risco de cada negociação.

Análise de riscos

Os principais riscos desta estratégia são:

  1. Os níveis de preço estabelecidos pelo ATR podem ser demasiado idealistas para refletir verdadeiramente as condições do mercado, levando a frequentes gatilhos de stop loss.

  2. Os preços de venda dos mercados de capitais podem variar de acordo com as tendências de mercado, mas os preços de venda dos mercados de capitais podem variar de acordo com as tendências de mercado.

  3. O stop loss e o take profit podem ser manipulados para desencadear, não conseguindo realmente parar a perda.

Orientações de otimização

Esta estratégia pode ser otimizada nos seguintes aspectos:

  1. Otimizar os parâmetros ATR para que os níveis de comércio se adequem melhor à volatilidade do mercado.

  2. Adicionar mecanismos de avaliação da tendência para evitar reversões de negociação, por exemplo, combinando com indicadores de MA.

  3. Ajustar a faixa de lucro, mantendo a lucratividade, reduzindo a probabilidade de desencadear lucro.

  4. Defina o stop loss e a tomada de lucro para reduzir a probabilidade de ficar preso ou perder.

  5. Adicionar um mecanismo de dimensionamento de posições para aumentar as posições nas fases de tendência.

Conclusão

Esta estratégia define níveis de negociação dinâmicos com base no fechamento do dia anterior e no ATR para rastrear efetivamente as tendências. Também usa stop loss e take profit para controlar os riscos de negociação única. As direções de otimização incluem ajuste de parâmetros, aprimoramento do mecanismo de julgamento, ajuste de lucro e dimensionamento de posição, etc. Em geral, esta estratégia alcança bons efeitos após a tendência.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("PC with ATR Strategy (by Zhipengcfel)", shorttitle="PC_ATR", pyramiding=1, overlay=true)

// Zhipengcfel's Previous day's close with ATR Strategy
//
// Version 1.0
// @copyright Idea by Zhipengcfel on June 29, 2017.

//Previous day's close plus ATR strategy. 
//Buy (if breaking PC+ATR*0.8) or sell (if breaking PC-0.8*ATR). 

//This is just a demo vision and can not be used for real auto trading



///////////// ATR value
ATRlength = input(14, minval=1, title="lookback length of ATR")
//ATR = atr(ATRlength)
ATR = request.security(syminfo.tickerid, 'D', atr(ATRlength))

///////////// Entry levels and target levels
entr = input(0.8, minval=0.1, step = 0.05, title="Entry level for ATR")
tplevel = input(1.7, minval=0.1, step = 0.05, title="Exit level for ATR")
yesterday = request.security(syminfo.tickerid, 'D', close[1])
dl = request.security(syminfo.tickerid, 'D', low[1])
dh = request.security(syminfo.tickerid, 'D', high[1])
TPup = yesterday+entr*ATR
TPdown = yesterday-entr*ATR
profitlevelup = dl+tplevel*ATR
profitleveldown = dh-tplevel*ATR

///////////// Stop loss level
sl = input( 0.2  ,minval=0.01, step = 0.05, title="Stop loss level for ATR") //82 for 2, 83 for 3 and more positions
slup = yesterday+sl*ATR
sldown = yesterday-sl*ATR

///////////// Starting year to backtest
yer = input( 2014  , title="Backtest Starting year")


///////////// strategy: PC + ATR
if (close > TPup) and (close < profitlevelup)
    strategy.entry("LONG", strategy.long, 10, comment="Buy", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "LONG",  stop = slup, limit= profitlevelup, oca_name="My oca")
            

if (close < TPdown) and (close > profitleveldown)
    strategy.entry("SHORT", strategy.short, 10, comment="Sell", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "SHORT", stop = sldown, limit= profitleveldown, oca_name="My oca")
 

Mais.