Noro Bands Tendência Seguindo a Estratégia

Autora:ChaoZhang, Data: 2023-09-18 13:57:31
Tags:

Resumo

Esta estratégia usa o indicador personalizado Noro Bands para determinar a direção da tendência e gera sinais de negociação com base em regras específicas. Os sinais são gerados quando o preço quebra as bandas.

Estratégia lógica

  1. Calcule as bandas de Noro. Determine os altos e baixos recentes com base no período do usuário e calcule as bandas média e superior/inferior.

  2. Determine a direção da tendência. O preço acima da faixa superior é uma tendência de alta. O preço abaixo da faixa inferior é uma tendência de queda.

  3. Gerar sinais. Comprar sinal quando o preço quebra abaixo da faixa inferior em tendência de alta. Vender sinal quando o preço quebra acima da faixa superior em tendência de baixa.

  4. Integrar CryptoBottom. Adicionar oportunidades de compra quando o sinal CryptoBottom ocorre.

  5. Regras de abertura de posição Os utilizadores podem optar por negociar apenas longo ou curto, sem selecção, negociar ambos os lados.

  6. Pode mostrar ou esconder o plano das bandas.

Vantagens

  1. As Bandas de Noro determinam efetivamente a direção da tendência.

  2. Combinar a banda de escape evita falsos sinais de escape.

  3. CryptoBottom melhora a qualidade dos sinais de compra.

  4. Indicação do valor da transação.

  5. Os parâmetros ajustáveis se adaptam a diferentes prazos.

Riscos

  1. Parâmetros inadequados podem causar falhas no cálculo da faixa.

  2. Os sinais de fuga têm atraso.

  3. O CryptoBottom não é completamente confiável.

  4. Negociar apenas com um lado pode perder oportunidades.

  • O risco 1 pode ser abordado através da otimização de parâmetros.

  • O risco 2 pode ser melhorado combinando outros indicadores.

  • O risco 3 requer a validação do desempenho do CryptoBottom.

  • O risco 4 necessita de avaliar a rentabilidade da negociação unilateral.

Oportunidades de melhoria

  1. Impacto dos parâmetros de teste nas bandas de Noro.

  2. Avaliar outros indicadores de ruptura em vez de bandas de Noro.

  3. Avaliação das estratégias de stop loss.

  4. Teste a eficácia de negociações longas ou curtas.

  5. Optimize os parâmetros para o CryptoBottom.

Conclusão

Esta estratégia usa Noro Bands para determinar tendência e sinais de ruptura para entradas de tempo.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Strategy v1.2", shorttitle = "NoroBands str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Use Color or bar")
usecb = input(true, "Use CryptoBottom")
needbb = input(true, defval = false, title = "Show Bands")
needbg = input(true, defval = false, title = "Show Background")
src = close

//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//CryptoBottom
mac = sma(close, 10)
lencb = abs(close - mac)
sma = sma(lencb, 100)
max = max(open, close)
min = min(open, close)
//dn = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 90)

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 
up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom

longCondition = up == 1 or (up2 == 1 and usecb == true)
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

Mais.