Estratégia de longo prazo Bull-Bear


Data de criação: 2023-11-10 11:37:37 última modificação: 2023-11-10 11:37:37
cópia: 0 Cliques: 676
1
focar em
1617
Seguidores

Estratégia de longo prazo Bull-Bear

Visão geral

A estratégia determina o momento de compra apropriado, procurando o desvio múltiplo do indicador RSI para determinar quando o preço do bitcoin pode se rebocar em alta no curto prazo.

Princípio da estratégia

  1. O indicador RSI é usado para determinar a existência de desvio múltiplo.

    • Defina os parâmetros do indicador RSI (default 14 cycle)
    • Calcular o RSI atual
    • A partir daí, é possível avaliar se existem as seguintes desvios:
      • O RSI apresenta baixos e baixos
      • Os preços estão a baixar e a cair.
      • Depois, o RSI teve altos e baixos.
      • Os preços estão em alta e baixa.
  2. Determinar se o RSI está abaixo do limiar

    • Definir o limite de limite de determinação do RSI (default 40)
    • Se o RSI atual estiver abaixo desse limite, pode ser uma boa oportunidade para comprar.
  3. Determine se o preço de fechamento está abaixo do ponto mais baixo do início

    • Se sim, verifique ainda mais o desvio do sinal de compra
  4. Definir condições de parada de perda

    • Percentual de Stop Loss (default: 5%)
    • Se a retirada atingir essa percentagem, a parada de prejuízos é retirada.
  5. Definir as condições de retirada de lucro

    • Configurar o limite de determinação do ponto alto do RSI (default 75)
    • Se o RSI subir e atingir esse limite, os lucros saem

Análise de vantagens

  1. Usando o RSI para determinar o desvio de um número de cabeças, pode-se capturar com eficácia o momento de uma reversão de curto prazo dos preços

  2. Combinado com o julgamento de pontos baixos do RSI, é possível determinar pontos de compra específicos antes da rebelião

  3. Estabelecer condições de stop loss e stop-loss para gerenciar riscos e ganhos de negociação

  4. A estratégia faz referência às características do indicador RSI em uma grande quantidade de transações em Bitcoin e é muito adequada para o Bitcoin Short.

  5. Parâmetros de estratégia de configuração razoável, adaptável a diferentes situações de mercado, favorável a aplicações em disco

Análise de Riscos

  1. O RSI pode falhar e, se for mal avaliado, pode levar a perdas de negociação

  2. Indicadores técnicos isolados são propensos a falsos sinais e devem ser usados em combinação com outros indicadores

  3. É necessário escolher o valor do parâmetro apropriado, pois a configuração incorreta afetará a taxa de retorno da estratégia

  4. Para negociar em várias direções, é necessário prestar atenção às tendências de grande escala e evitar operações de contra-balanço.

  5. Os custos de transação devem ser considerados, pois a frequência de transações pode afetar os lucros finais.

  6. Os parâmetros de otimização devem ser avaliados periodicamente e as estratégias devem ser ajustadas de acordo com os diferentes mercados.

Direção de otimização

  1. Considere a inclusão de outros indicadores, como a média móvel, para definir condições de filtragem e reduzir os falsos sinais

  2. Pode testar configurações de parâmetros de diferentes períodos para encontrar a melhor combinação de parâmetros

  3. Pode ser combinado com uma avaliação de tendências de nível maior, evitando fazer mais quando a tendência se inverte

  4. Pode-se configurar um stop loss dinâmico, aumentando gradualmente o ponto de parada quando os lucros atingem um determinado nível

  5. Pode-se definir um limite de perda de acordo com a situação de cada posição

  6. Tecnologias como aprendizado de máquina podem ser introduzidas para a otimização automática dos parâmetros

Resumir

A estratégia é simples e eficaz, com base em uma grande quantidade de experiência em ações reais, muito adequado para a curta linha do Bitcoin. Mas um único indicador técnico é propenso a produzir falsos sinais e precisa ser usado em combinação com outros indicadores, além de prestar atenção a otimização de parâmetros, configuração de stop loss e custo de negociação. Se usado corretamente, a estratégia pode lucrar muito em ações reais.

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

//@version=5
strategy("Bullish Divergence Short-term Long Trade Finder", overlay=false)

max_range = 50 
min_range = 5
///pivot_left = 25
pivot_right = 5

//Inputs
src = input(close, title="Source")
rsiBearCondMin = input.int(50, title="RSI Bearish Condition Minimum")
rsiBearCondSellMin = input.int(60, title="RSI Bearish Condition Sell Min")
rsiBullCondMin = input.int(40, title="RSI Bull Condition Minimum")
pivot_left = input.int(25, title="Look Back this many candles")
SellWhenRSI = input.int(75, title="RSI Sell Value")
StopLossPercent = input.int(5, title="Stop loss Percentage")
rsiPeriod = input.int(14, title="RSI Length")
rsiOversold = input.int(30, title="RSI Oversold Level")
rsiOverbought = input.int(70, title="RSI Overbought Level")

//RSI Function/ value 
rsi_value = ta.rsi(src, rsiPeriod)
rsi_hour = request.security(syminfo.tickerid,'60',rsi_value)
rsi_4hour = request.security(syminfo.tickerid,'240',rsi_value)
rsi_Day = request.security(syminfo.tickerid,'D',rsi_value)
plot(rsi_value, title="RSI", linewidth = 2, color = color.black, display =display.all)
hline(50, linestyle = hline.style_dotted)
rsi_ob = hline(70, linestyle=hline.style_dotted)
rsi_os = hline(30, linestyle=hline.style_dotted)
fill(rsi_ob, rsi_os, color.white)
SL_percent = (100-StopLossPercent)/100 

pivot_low_true = na(ta.pivotlow(rsi_value, pivot_left, pivot_right)) ? false : true

//create a function that returns truee/false
confirm_range(x) => 
    bars = ta.barssince(x == true) //counts the number of bars since thee last time condition was true
    min_range <= bars and bars <= max_range // makees sure bars is less than max_range(50) and greater than min_range(5) 


// RSI higher check / low check
RSI_HL_check = rsi_value<rsiBullCondMin and rsi_value > ta.valuewhen(pivot_low_true and rsi_value<rsiBullCondMin, rsi_value,1) and confirm_range(pivot_low_true[1]) 

// price check for lower low
price_ll_check = low < ta.valuewhen(pivot_low_true, low, 1)

bullCond = price_ll_check and RSI_HL_check and pivot_low_true

//pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))  ? false : true
pivot_high_true = na(ta.pivothigh(rsi_value, pivot_left, pivot_right))   ? false : true

// RSI Lower check / high check ensuring that the RSI dips below 30 to start divergence 
RSI_LH_check = rsi_value < ta.valuewhen(pivot_high_true and rsi_value>rsiBearCondMin, rsi_value,1) and confirm_range(pivot_high_true[1]) //and rsi_value[pivot_right] >= 65

// price check for lower low
price_hh_check = high > ta.valuewhen(pivot_high_true, high, 1)

bearCond = price_hh_check and RSI_LH_check and pivot_high_true and rsi_value[3] > rsiBearCondSellMin

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bullCond ? color.green : color.new(color.white, 100)))

plotshape(bullCond ? rsi_value : na , text = "BUY", style =  shape.labelup, location = location.absolute, color = color.green, offset =0, textcolor = color.white )

plot(pivot_low_true ? rsi_value : na, offset=-5, linewidth=3, color=(bearCond ? color.red : color.new(color.white, 100)))

plotshape(bearCond ? rsi_value : na , text = "Sell", style =  shape.labelup, location = location.absolute, color = color.red, offset =0, textcolor = color.white )
//[bbUpperBand, bbMiddleBand, bbLowerBand] = ta.bb(src, bbPeriod, bbDev)

//Entry Condition
longCondition = false

//bullEntry = bullCond and RSI_HL_check and confirm_range(pivot_low_true[1])
if bullCond and close < ta.valuewhen(pivot_low_true, low, 1) and rsi_hour <40 ///and rsi_4hour<40 //and rsi_Day<50
    strategy.entry("Long", strategy.long)
    
//Exit Condition
if (strategy.position_size > 0 and close < strategy.position_avg_price*SL_percent)
    strategy.close("Long")
if (strategy.position_size > 0 and (rsi_value > SellWhenRSI or bearCond))
    strategy.close("Long")