Estratégia de rastreamento de reversão da Renko

Autora:ChaoZhang, Data: 2023-09-15 15:53:40
Tags:

Estratégia geral

A estratégia de rastreamento de reversão de Renko é uma estratégia de negociação de curto prazo que usa tijolos Renko para identificar reversões de mercado.

Estratégia lógica

  1. Usem tijolos Renko tradicionais que não se pintam.

  2. Monitore as mudanças de cor entre os tijolos vizinhos.

  3. Os sinais surgem quando a cor do tijolo atual se inverte enquanto os dois tijolos anteriores compartilham a mesma cor.

  4. Signo longo: um tijolo de alta aparece após dois tijolos de baixa.

  5. Sinais curtos: um tijolo de baixa aparece após dois tijolos de alta.

  6. Opções de entrada: ordem de mercado ou ordem de parada.

  7. Defina stop loss/take profit no tamanho do tijolo multiplicado por um coeficiente.

O núcleo está capitalizando as oportunidades de retração causadas por voltas de cor de tijolo.

O tamanho do tijolo e os coeficientes stop loss/take profit podem ser ajustados para otimização.

Vantagens da estratégia

  • Os tijolos exibem diretamente informações de inversão

  • Lógica simples e clara, fácil de implementar

  • Oportunidades longas e curtas simétricas

  • Ajuste flexível do tamanho dos tijolos

  • Controlo rigoroso do risco com stop loss/take profit

Advertências de risco

  • Requer um certo número de tijolos consecutivos para formar sinais

  • O tamanho dos tijolos tem um impacto direto nos lucros/desconto

  • Dificuldade de determinar a duração da tendência

  • Possui possibilidade de ocorrência de stop loss consecutivos

Conclusão

A estratégia de rastreamento de reversão Renko aplica de forma inovadora indicadores técnicos tradicionais usando diretamente flips de cor de tijolo para identificar reversões de curto prazo.


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

//@version=3
//Simple Renko strategy, very profitable. Thanks to vacalo69 for the idea.
//Rules when the strategy opens order at market as follows:
//- Buy when previous brick (-1) was bearish and previous brick (-2) was bearish too and actual brick close is bullish
//- Sell when previous brick (-1) was bullish and previous brick (-2) was bullish too and actual brick close is bearish
//Rules when the strategy send stop order are the same but this time a stop buy or stop sell is placed (better overall results).
//Note that strategy open an order only after that condition is met, at the beginning of next candle, so the actual close is not the actual price.
//Only input is the brick size multiplier for stop loss and take profit: SL and TP are placed at (brick size)x(multiplier) Or put it very high if you want startegy to close order on opposite signal.
//Adjust brick size considering: 
//- Strategy works well if there are three or more consecutive bricks of same "color"
//- Expected Profit
//- Drawdown
//- Time on trade
//
//Study with alerts, MT4 expert advisor and jforex automatic strategy are available at request.
//

strategy("Renko Strategy Open_Close", overlay=true, calc_on_every_tick=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//INPUTS
Multiplier=input(1,minval=0, title='Brick size multiplier: use high value to avoid SL and TP')
UseStopOrders=input(true,title='Use stop orders instead of market orders')

//CALCULATIONS
BrickSize=abs(open[1]-close[1])
targetProfit = 0
targetSL = 0

//STRATEGY CONDITIONS
longCondition = open[1]>close[1] and close>open and open[1]<open[2]
shortCondition = open[1]<close[1] and close<open and open[1]>open[2]

//STRATEGY
if (longCondition and not UseStopOrders)
    strategy.entry("LongBrick", strategy.long)
    targetProfit=close+BrickSize*Multiplier
    targetSL=close-BrickSize
    strategy.exit("CloseLong","LongBrick", limit=targetProfit, stop=targetSL)
    
if (shortCondition and not UseStopOrders)
    strategy.entry("ShortBrick", strategy.short)
    targetProfit = close-BrickSize*Multiplier
    targetSL = close+BrickSize
    strategy.exit("CloseShort","ShortBrick", limit=targetProfit, stop=targetSL)

if (longCondition and UseStopOrders)
    strategy.entry("LongBrick_Stop", strategy.long, stop=open[2])
    targetProfit=close+BrickSize*Multiplier
    targetSL=close-BrickSize
    strategy.exit("CloseLong","LongBrick_Stop", limit=targetProfit, stop=targetSL)
    
if (shortCondition and UseStopOrders)
    strategy.entry("ShortBrick_Stop", strategy.short, stop=open[2])
    targetProfit = close-BrickSize*Multiplier
    targetSL = close+BrickSize
    strategy.exit("CloseShort","ShortBrick_Stop", limit=targetProfit, stop=targetSL)

Mais.