Estratégia de stop loss e take profit baseada no padrão Doji star


Data de criação: 2024-02-02 17:17:38 última modificação: 2024-02-02 17:17:38
cópia: 0 Cliques: 698
1
focar em
1617
Seguidores

Estratégia de stop loss e take profit baseada no padrão Doji star

Visão geral

Esta estratégia é baseada no formato de estrela de Doji, quando ocorre o formato de estrela de Doji, coloca-se um stop de compra entre o ponto mais alto do Doji e o ponto mais alto da linha K anterior, e um stop de venda entre o ponto mais baixo do Doji e o ponto mais baixo da linha K anterior. Quando o preço acionar o stop, pode optar por sair com um stop loss fixo, ou com o preço mais alto e mais baixo do formato de estrela de Doji como um stop loss.

Princípio da estratégia

Quando uma forma de estrela dóji aparece, indica que a relação de oferta e demanda atual está mudando, os poderes dos compradores e vendedores estão se equilibrando e o preço pode se inverter. A estratégia é usar o sinal de reversão de preço predito pela forma de estrela dóji para capturar a oportunidade de reversão, colocando um único stop.

body=close-open  
range=high-low
abody=abs(body)
ratio=abody/range
data=(abs(open - close) <= (high - low) * Doji)

Se abs{open-close) <= (high-low)*O parâmetro doji, então, é definido como a forma do estrela doji, na qual a posição da barra de parada é a seguinte:

longDist= longcandle[1] and range[1]>range? high: max(high,high[1]) 
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])

Se a primeira entidade da linha K for maior, a compra-parada será feita entre o ponto mais alto da estrela Doji e a primeira entidade da linha K. Se a primeira entidade da linha K for menor, a compra-parada será feita entre o ponto mais alto da estrela Doji e a primeira entidade da linha K.

As regras de partida são de duas opções:

  1. Participação com paragem fixa
strategy.exit("exit buy","buy stop",loss=SL, profit=TP, when=Use_SL_TP) 
  1. O preço mais baixo de uma estrela do Doji é usado como ponto de parada.
strategy.close("buy stop",when=not Use_SL_TP and close<dojilow)

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. A operação é simples e fácil de implementar.
  2. A Doji Star é uma ferramenta muito eficaz para capturar os sinais de reversão de preços.
  3. Parâmetros de parada de danos configuráveis para controlar o risco.
  4. É adequado para o funcionamento de um período de tempo elevado, com filtragem de ruído.

Análise de Riscos

A estratégia também traz alguns riscos:

  1. A forma do Doji Star não necessariamente leva a uma inversão de preço, mas pode ocorrer um stop loss. A solução é estabelecer uma distância de stop loss razoável e controlar a perda individual.
  2. O Doji pode ser exageradamente ruidoso quando executado em um tempo baixo. A solução é executar somente em um tempo alto, como a circunferência da linha do sol.
  3. A solução é usar corretamente a função Stop Loss Stop.

Direção de otimização

A estratégia pode ser otimizada em várias direções:

  1. Otimizar os parâmetros do Doji para encontrar a melhor combinação de parâmetros para diferentes variedades de negociação.
  2. Teste diferentes parâmetros de parada de perda para encontrar a melhor combinação de parâmetros.
  3. Distância de travagem calculada com base no ATR.
  4. Combinado com outros indicadores, para determinar o melhor momento de admissão

Resumir

A estratégia funciona bem como um todo, capturando oportunidades de reversão do preço do Doji, para obter um bom sinal de negociação. Ao mesmo tempo, a estratégia é simples de operar, fácil de implementar, adequada para vários tipos de negociação, e é uma estratégia de negociação quantitativa prática.

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

//@version=3
//This is a simple strategy based on Doji star candlestick
//It places two orders: buy stop at doji star high or previous candle high and sell stop at doji star low or previous candle low.
//This strategy works very well with high time frames like Weekly TF because it eliminates the noise in doji formation.
//

strategy("Doji strategy W", overlay=true, calc_on_every_tick=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//INPUTS
//MinDistance=input(100,'Minimum distance in ticks')
Use_SL_TP=input(true,'Use stop loss and take profit?')
TP=input(200,'Take Profit in ticks')
SL=input(200,'Stop Loss in tiks')
Doji = input(0.05, minval=0.01, title="Doji size", step=0.01)

//VARIABILI
body=close-open
range=high-low
abody=abs(body)
ratio=abody/range
longcandle= (ratio>0.6)

//Doji
data=(abs(open - close) <= (high - low) * Doji)
plotchar(data, title="Doji", text='Doji', color=black)
longDist= longcandle[1] and range[1]>range? high: max(high,high[1])
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])
dojilow=data==1?low:na
dojihigh=data==1?high:na

goStar=data==1?true:false
//////////////////////////////////////////////////////////////////

//STRATEGY

strategy.order("buy stop",true,stop=longDist,  oca_name="Dojy Entry",when=goStar)
strategy.order("sell stop",false,stop=shortDist, oca_name="Dojy Entry",when=goStar)

strategy.exit("exit buy","buy stop",loss=SL, profit=TP, when=Use_SL_TP)
strategy.exit("exit sell","sell stop",loss=SL,profit=TP, when=Use_SL_TP)

strategy.close("buy stop",when=not Use_SL_TP and close<dojilow)
strategy.exit("exit buy","buy stop",profit=TP, when=not Use_SL_TP)
strategy.close("sell stop",when=not Use_SL_TP and close>dojihigh)
strategy.exit("exit sell","sell stop",profit=TP, when=not Use_SL_TP)