Estratégia de negociação da Starbucks Bullish Hammer

Autora:ChaoZhang, Data: 2023-09-18 15:30:15
Tags:

Resumo

Esta estratégia identifica padrões de candelabro de martelo de alta e usa o indicador MACD para determinar a direção da tendência para as negociações que se seguem à tendência.

Estratégia lógica

Identifique o martelo de alta calculando a relação corpo-to-range. Use o MACD para determinar a direção da tendência. Quando o MACD é de alta, vá longo quando um sinal de martelo de alta aparecer. Configure o stop loss e o dimensionamento da posição. Saia quando o MACD virar de baixa.

Vantagens

  • O reconhecimento do martelo de alta é simples e claro
  • O MACD identifica eficazmente as inversões de tendência
  • Seguir as tendências evita problemas
  • Lógica simples e direta, fácil de implementar

Riscos

  • O reconhecimento de padrões é imperfeito, os sinais podem ser perdidos
  • Identificação da inversão de tendência do MACD tem atraso
  • Frequência de negociação baixa inadequada para negociação de alta frequência
  • Pontos de reversão exatos não podem ser determinados, riscos de perdas

Os riscos podem ser mitigados por meio do relaxamento dos critérios de padrão, do encurtamento dos parâmetros do MACD, da adição de indicadores secundários, etc.

Melhorias

  • Otimizar as regras de identificação de padrões de martelo
  • Teste diferentes definições dos parâmetros MACD
  • Considerar a adição de outros indicadores para determinar reversões
  • Ensaiar a robustez em diferentes produtos

Conclusão

Esta estratégia integra a análise de padrões e indicadores para determinação de tendências, permitindo lucros constantes.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FenixCapital

//@version=4
strategy("Starbux", overlay=true)


//VARIABLES

//Candlestick Variables
body=close-open
range=high-low
middle=(open+close)/2
abody=abs(body)
arange=abs(range)
ratio=abody/range
longcandle= (ratio>0.6)
bodytop=max(open, close)
bodybottom=min(open, close)
shadowtop=high-bodytop
shadowbottom=bodybottom-low

//Closing Variables

macd=macd(close,12,26,9)
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
//plot(macdLine, color=color.blue)
//plot(signalLine, color=color.orange)
//plot(histLine, color=color.red, style=plot.style_histogram)

rsi=rsi(close,14)

sma50= sma(close,50)
sma200= sma(close,200)

exitrsi=rsi > 76
exitmacd=macdLine >0 and signalLine>0
//exitmacd=crossunder(macdLine,signalLine)
stopprice= crossunder(sma50,sma200)

//Candlestick Plotting
blh = (arange*0.33>=abody and close>open and shadowbottom>=abody*2 and shadowtop<=arange*0.1)
plotshape(blh, title= "Bullish Hammer", location=location.belowbar, color=color.lime, style=shape.arrowup, text="Bull\nHammer")

//beh = (arange*0.25>=abody and close<open and shadowtop>=abody*2 and shadowbottom<=arange*0.05)
//plotshape(beh, title= "Bearish Hammer", color=color.orange, style=shape.arrowdown, text="Bear\nHammer")

//bpu = (open>close and close>low and shadowbottom>2*abody)
//plotshape(bpu, title= "Black Paper Umbrella", color=color.red, style=shape.arrowdown, text="Black\nPaper\nUmbrella")

//Trend Signal
bull5= sma50 > sma200
bullmacd=macdLine>=0 and signalLine>=0
bearmacd=macdLine<= 0 and signalLine<=0

//Trading Algorithm
longCondition = blh and bearmacd and volume>volume[1]

if (longCondition)
    strategy.order("Buy", true, 1, when=longCondition)
strategy.risk.max_position_size(10)
//strategy.risk.max_drawdown(25,strategy.percent_of_equity)

exitlong = exitmacd
if (exitlong)
    strategy.close_all()


Mais.