Estratégia de avanço Noro V1.0


Data de criação: 2023-09-21 15:09:43 última modificação: 2023-09-21 15:09:43
cópia: 0 Cliques: 649
1
focar em
1617
Seguidores

Visão geral

A estratégia baseia-se na ruptura de preços para realizar operações de negociação. Calcula os preços mais altos e mais baixos em um determinado período, gerando um sinal de negociação quando os preços quebram esses limites.

Princípio da estratégia

  1. Calcule o preço máximo de upex e o preço mínimo de dnex nos últimos N ciclos.

  2. Faça mais quando o preço for superior ao Upex.

  3. Quando o preço estiver abaixo do dnex, faça um vazio.

  4. Pode ser configurado para fazer apenas mais, fazer apenas mais ou negociar de duas maneiras.

  5. Utilização de recursos disponíveis

  6. Tempo de negociação configurável.

Vantagens estratégicas

  • Captação de sinais de ruptura para o comércio de tendências
  • Regras simples, intuitivas e fáceis de implementar
  • Pode ser configurado em várias direções de negociação, adaptando-se a diferentes mercados
  • Tempo de negociação limitado
  • Utilização controlada

Risco estratégico

  • Prejuízos causados por falhas de filtragem não efetivas
  • Aumento de comissões e custos de deslizamento em transações bidirecionais
  • Risco de aumento da utilização de grandes capitais

Direção de otimização

  • Aumentar a verificação da eficácia de brechas e evitar falsas brechas
  • Tamanho do valor N do parâmetro de otimização
  • Combinação com outros indicadores de filtragem
  • Testar diferentes taxas de utilização de fundos
  • Limitação de transações diárias

Resumir

A estratégia permite o seguimento de tendências capturando sinais de ruptura de preços. Otimizar os mecanismos de verificação de ruptura e a configuração de parâmetros pode aumentar a eficácia.

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

//Noro
//2018

//@version=2
strategy(title = "Noro's Brakeout Strategy v1.0", shorttitle = "Brakeout 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")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
showlines = input(true, defval = true, title = "Show Lines?")
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")

//Extremums
upex = highest(high, len)
dnex = lowest(low, len)
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len]))
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = upex + syminfo.mintick)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = dnex - syminfo.mintick)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()