Estratégia de negociação quantitativa simples baseada na direção da vela

Autora:ChaoZhang, Data: 15 de setembro de 2023 11:45:01
Tags:

Este artigo explica em detalhes uma estratégia quantitativa de negociação simples baseada apenas na direção da vela.

I. Lógica da estratégia

A estratégia julga puramente a direção com base no fechamento da vela, com a lógica sendo:

  1. Vai longo quando o perto é maior que o aberto.

  2. Faça curto quando o fechado é menos do que aberto.

  3. O dimensionamento da posição pode ser configurado.

  4. O intervalo de datas do backtest pode ser definido.

Apesar de ser muito primitivo, ele constitui um sistema de negociação completo.

II. Vantagens da Estratégia

A maior vantagem é a extrema simplicidade e intuição, julgando apenas com base na direção da vela sem indicadores.

Outra vantagem é a capacidade de controlar o risco através do dimensionamento das posições.

Por último, os intervalos de tempo de backtest podem ser definidos para testar diferentes períodos.

III. Riscos potenciais

No entanto, existem algumas questões:

Em primeiro lugar, apenas a direção da vela é insuficiente para um julgamento preciso do mercado, resultando em má qualidade do sinal.

Em segundo lugar, a ausência de stop loss e take profit não permite controlar os riscos comerciais.

Por último, a ausência de ajuste de parâmetros leva à instabilidade.

IV. Resumo

Em resumo, este artigo explicou uma estratégia quantitativa de negociação simples baseada puramente na direção da vela. Ela forma um sistema completo através da análise mais básica da relação de preços. Mas são necessárias melhorias, como otimização de parâmetros e adição de paradas.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BarUpDn time limited", overlay=true, pyramiding=1, default_qty_type = strategy.fixed, default_qty_value = 1 )

//input boxes for the limit date
yearLimit = input(2016,title="year") 
monthLimit = input(9, title="month")
dayLimit = input(1, title="day")

//function that checks if the current date is more recent than the limit
dateOk(yl,ml,dl) =>
    ok = timestamp(yl,ml,dl,0,1) < time
    
checkDate = dateOk(yearLimit,monthLimit,dayLimit)
conditionUp = close > open ? true : false
conditionDown = close < open ? true : false
if ( checkDate  )
    strategy.entry("BarUp", strategy.long, when = conditionUp)
    strategy.entry("BarDn", strategy.short, when = conditionDown)





Mais.