A estratégia de seguimento de tendências da Noro
Os principais aspectos são:
O canal de preços determina a tendência geral.
RSI indica sobrecompra/supervenda para o momento de entrada. RSI acima de 60 é sobrecompra, abaixo de 40 é zona de sobrevenda.
O filtro do corpo fornece o sinal final. Negocia apenas se o corpo da vela exceder um limite para evitar ruído.
Entradas baseadas na combinação de tendência, sinal RSI e filtro corporal. Entradas longas em tendência de alta em sinais de alta, entradas curtas em tendência de baixa em sinais de baixa.
As cores de fundo opcionais visualizam claramente a tendência.
Temporários de negociação personalizáveis para negociação seletiva.
Vários indicadores alinham-se para criar uma tendência relativamente estável seguindo o sistema.
As principais vantagens são:
O canal de preços identifica intuitivamente a direção geral da tendência.
O RSI detecta efetivamente os níveis de sobrecompra/supervenda para a entrada de tempo.
O filtro corporal melhora a qualidade do sinal e evita sinais falsos.
A confirmação multi-indicador melhora a precisão.
Indicadores simples reduzem os riscos de ajustamento da curva.
Os prazos de negociação personalizáveis acrescentam flexibilidade.
Fácil de usar, com parâmetros mínimos, amigável para iniciantes.
As cores de fundo proporcionam clareza visual.
Alguns riscos a considerar:
Risco de identificação errada da tendência do canal de preços.
Riscos de sinais RSI imprecisos.
Filtro corporal eliminando sinais válidos.
Risco de utilização durante as correcções de tendência.
Risco de otimização devido a um mau ajuste dos parâmetros.
Risco de posicionamento de dimensão decorrente da atribuição total por defeito.
Risco de seleção de instrumentos, se aplicado a ativos não de tendência.
Riscos relacionados com os prazos de negociação se estiverem configurados de forma inadequada.
Algumas possibilidades de melhoria:
Adicionar estratégia de stop loss para controlar a perda por transação.
Otimizar os parâmetros com base no comportamento do instrumento.
Incorporar regras de dimensionamento de posições baseadas na força da tendência.
Implementar limites de retirada para conter perdas.
Adicionar análise de preços de volume para verificação de sinal.
Introduzir aprendizado de máquina para otimização de parâmetros.
Parâmetros especializados com base na classe de ativos.
Refinar a lógica do prazo de negociação para mais flexibilidade.
A estratégia de seguimento de tendências da Noro integra o canal de preços, o RSI e o filtro corporal em um sistema de negociação de tendências simples e prático.
/*backtest start: 2023-08-25 00:00:00 end: 2023-09-24 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's TrendMaster Strategy v1.0", shorttitle = "TrendMaster str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "long") needshort = input(true, defval = true, title = "short") len = input(21, defval = 20, minval = 2, maxval = 200, title = "MA Period") needbg = input(false, defval = false, title = "Need trend Background?") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //PriceChannel 1 lasthigh = highest(close, len) lastlow = lowest(close, len) center = (lasthigh + lastlow) / 2 //Trend trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1] //Bars bar = close > open ? 1 : close < open ? -1 : 0 //Fast RSI fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Body filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 2 //Signals up1 = trend == 1 and rsi < 60 and (strategy.position_avg_price > close or strategy.position_size <= 0) and body dn1 = trend == -1 and rsi > 40 and (strategy.position_avg_price < close or strategy.position_size >= 0) and body //Lines plot(center, color = blue, linewidth = 3, transp = 0, title = "MA") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading if up1 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()