Esta é uma estratégia de tendência de criptomoeda de longo prazo que combina média móvel, índice de força relativa (RSI) e correlação de mercado para identificar tendências de preços de médio a longo prazo, estabelecer posições quando as tendências começam, piramidizar ao longo das tendências e lucrar quando os sinais de inversão de tendência são detectados.
A estratégia baseia-se principalmente em três indicadores:
Índice de Força Relativa (RSI): para identificar condições de sobrecompra e sobrevenda.
Média móvel simples (SMA): Média móvel de 9 dias do preço de fechamento para determinar a direção da tendência.
Correlação de mercado: utilizar a criptocap total como referência para calcular a correlação com o instrumento de negociação, substituindo as barras originais por barras de correlação para melhorar a qualidade do sinal.
Em especial, as regras de negociação são as seguintes:
Entrada longa: Quando o RSI cruza acima de 51 e o preço de fechamento está acima da SMA de 9 dias.
Entrada curta: Quando o RSI cruza abaixo de 49 e o preço de fechamento está abaixo da SMA de 9 dias.
Tome lucro/Stop loss: 1%/0,1% para longs, 0,05%/0,03% para shorts.
Há também uma condição de tempo que limita o período de negociação.
A combinação de indicadores de tendência e de sobrecompra/supervenda permite efetivamente acompanhar as tendências a médio e longo prazo.
A correlação de mercado melhora a qualidade do sinal, evitando tendências falsas.
A obtenção de lucros razoáveis e a suspensão de perdas evitam perdas maiores.
O período de negociação personalizável adapta-se às diferentes condições do mercado.
Ineficaz em mercados voláteis de curto prazo.
A reversão do índice de referência pode provocar saídas atrasadas dos instrumentos de negociação.
Perde oportunidades de reversão quando só faz longs/shorts.
Soluções:
Adicionar indicadores de curto prazo, por exemplo, KC, BOLL para detecção de regimes de mercado e paradas.
Melhorar a análise dos parâmetros de referência para as saídas oportunas.
Comércio de instrumentos de dois lados para capturar reversões.
Ajuste de parâmetros do RSI, SMA, tomada de lucro/stop loss com base em estatísticas de mercado.
Avaliar mais combinações de referência/negociação com maior correlação e liquidez.
Combinar com outras estratégias, utilizando esta para participações de médio a longo prazo.
Esta é uma estratégia de seguimento de tendências de criptomoedas de médio a longo prazo otimizada e amplamente adaptável. Ele combina efetivamente a tendência, o impulso e a análise de correlação para melhorar as decisões de comércio. O ajuste adequado de parâmetros e o uso composto podem melhorar muito sua estabilidade e lucratividade. Os longos períodos de retenção também se adequam à natureza altamente volátil e difícil de capturar com precisão dos mercados de criptomoedas.
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h 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/ // © exlux99 //@version=4 strategy(title = "Crypto swing correlation", overlay = true, pyramiding=1,initial_capital = 1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03) //time fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2010, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2021, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true useCorrelation = input(true, title="Use Correlation candles?") symbol = input("BTC_USDT:swap", type=input.symbol) haClose = useCorrelation ? security(symbol, timeframe.period, close) : close haOpen = useCorrelation ? security(symbol, timeframe.period, open) : open haHigh = useCorrelation ? security(symbol, timeframe.period, high) : high haLow = useCorrelation ? security(symbol, timeframe.period, low) : low length = input( 50 ) overSold = input( 51 ) overBought = input( 49 ) s = input(title="Source", defval="haClose", options=["haClose", "haOpen", "haHigh", "haLow"]) price = s == "haClose" ? haClose: s == "haOpen" ? haOpen : s == "haHigh" ? haHigh : s == "haLow" ? haLow : na len = input(8, "Length Moving average", minval=1) src = price ma = sma(src, len) vrsi = rsi(price, length) long = crossover(vrsi, overSold) and time_cond and price > ma short = crossunder(vrsi, overBought) and time_cond and price < ma takeProfit_long=input(1.0, step=0.005) stopLoss_long=input(0.1, step=0.005) takeProfit_short=input(0.05, step=0.005) stopLoss_short=input(0.03, step=0.005) strategy.entry("long",1,when=long) strategy.entry("short",0,when=short) strategy.exit("short_tp/sl", "long", profit=close * takeProfit_long / syminfo.mintick, loss=close * stopLoss_long / syminfo.mintick, comment='LONG EXIT', alert_message = 'closeshort') strategy.exit("short_tp/sl", "short", profit=close * takeProfit_short / syminfo.mintick, loss=close * stopLoss_short / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')