Esta estratégia é um sistema de negociação baseado em RSI de dois períodos (Índice de Força Relativa) combinado com gerenciamento de posições de pirâmide. A estratégia compara indicadores de RSI de dois períodos diferentes (14 e 30) para entrar em negociações no início da tendência e adiciona posições por meio de ordens de limite durante a continuação da tendência, maximizando a captura da tendência. O sistema inclui mecanismos abrangentes de controle de risco, incluindo gerenciamento de posição e condições dinâmicas de saída.
A estratégia emprega sinais de cruzamento RSI de período duplo como gatilhos de negociação combinados com gestão de posição piramidal. 1. sinais de entrada: usa a ruptura do RSI de 14 períodos de níveis de sobrevenda (30) e sobrecompra (70) como sinais de entrada 2. Adição de posição: Implementa a adição de posição secundária através de ordens de limite estabelecidas em 1,5% de desvio de preço após a entrada inicial 3. sinais de saída: usa o RSI de 30 períodos como indicador de saída, desencadeando o fechamento quando o RSI cai de zonas de sobrecompra ou se recupera de zonas de sobrevenda 4. Controle de posição: o sistema permite um máximo de duas posições (piramidal = 2) com quantidades de entrada configuráveis de forma independente
A estratégia alcança uma captura de tendência eficaz através da combinação de posições de RSI de período duplo e de pirâmide. Implementa um sistema de negociação completo, incluindo elementos de entrada, adição de posição, stop-loss e gerenciamento de posição. Através da otimização de parâmetros e melhorias no gerenciamento de riscos, a estratégia mostra promessa de desempenho estável na negociação real.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=5 strategy("RSI Top Strategy", overlay=true, pyramiding=2) qty1 = input( 1 , "Qty first entry", group="Strategy settings") qty2 = input( 1 , "Qty second entry", group="Strategy settings") avg1 = input.float( 1.5 , "% averaging ", group="Strategy settings") overSold = input( 30 , group="open RSI Settings") overBought = input( 70 , group="open RSI Settings") rsi1len = input.int(14, minval=1, title="open RSI Length", group="open RSI Settings") overSold2 = input( 30 , group="close RSI Settings") overBought2 = input( 70 , group="close RSI Settings") rsi2len = input.int(30, minval=1, title="close RSI Length", group="close RSI Settings") price = close vrsi = ta.rsi(price, rsi1len) vrsi2 = ta.rsi(price, rsi2len) sz=strategy.position_size co = ta.crossover(vrsi, overSold) cu = ta.crossunder(vrsi, overBought) if (not na(vrsi)) if (co) and not (sz>0) strategy.entry("Long", strategy.long, qty = qty1, comment="Long") Avgl=close-close*0.01*avg1 strategy.entry("AvgL", strategy.long, qty = qty2, limit=Avgl, comment="AvgL") if (cu) and not (sz<0) strategy.entry("Short", strategy.short, qty = qty1, comment="Short") Avgs=close+close*0.01*avg1 strategy.entry("AvgS", strategy.short, qty = qty2, limit=Avgs, comment="AvgS") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr) if sz[1]<0 and sz<0 and vrsi2<overBought2 and vrsi2[1]>=overBought2 strategy.close_all("x") if sz[1]>0 and sz>0 and vrsi2>overSold2 and vrsi2[1]<=overSold2 strategy.close_all("x") plot(vrsi,'open rsi',color=color.green) plot(vrsi2,'close rsi',color=color.red) hline(overBought, "RSI Upper Band", color=#787B86) hline(overSold, "RSI Upper Band", color=#787B86)