Estratégia Quantitativa Golden Cross


Data de criação: 2023-11-22 14:39:33 última modificação: 2023-11-22 14:39:33
cópia: 2 Cliques: 655
1
focar em
1621
Seguidores

Estratégia Quantitativa Golden Cross

Visão geral

Esta estratégia de negociação é uma estratégia de negociação de compra cruzada e venda forçada de ouro através da computação de um indicador de volume líquido personalizado.

Princípio da estratégia

A lógica central da estratégia é calcular o valor líquido (NV) de um indicador personalizado. O indicador de NV determina a direção da mudança de preço, tomando o volume de transação do dia se for positivo, o valor negativo do volume de transação do dia se for negativo e 0 se não houver mudança. Isso pode refletir com mais clareza a relação entre a mudança de preço e o volume de transação.

Depois, a estratégia calcula a média móvel simples de 3 dias do indicador NV, como uma linha de cruz dourada e uma linha de cruz morta, respectivamente. Quando o indicador NV quebra a linha de cruz dourada de baixo para cima, faça mais; quando o NV quebra a linha de cruz morta de cima para baixo, faça zero.

Além disso, a estratégia define um tempo de início e fim parametrizado para controlar o tempo de negociação.

Vantagens estratégicas

A maior vantagem da estratégia é que a estratégia é simples e clara, fácil de entender, configuração de parâmetros é flexível, você pode personalizar a variedade de negociação, o tempo de negociação, etc. Além disso, a estratégia é uma estratégia de seguimento de tendência, que pode efetivamente capturar a tendência dos preços, reduzir a frequência de negociação e obter uma maior taxa de lucro.

Risco estratégico

A estratégia tem os seguintes riscos:

  1. A falta de estratégia pode levar a uma falha na resposta às tendências de preços. Pode ser que você perca algumas oportunidades de negociação ou não consiga parar o seu prejuízo a tempo.

  2. O cruzamento de ouro quantitativo tem um certo atraso em si, o que pode levar a atrasos de entrada e expandir os prejuízos.

  3. O mercado de criptomoedas é um mercado de criptomoedas que não filtra o ruído do mercado de forma eficaz, e que pode ser facilmente enganado.

A média móvel dinâmica, combinada com filtros de outros indicadores, pode reduzir o risco.

Direção de otimização da estratégia

A estratégia pode ser melhorada em vários aspectos:

  1. Aumentar a estratégia de stop loss, usando stop loss móvel, stop loss durante a noite e outros meios para controlar os perdas individuais.

  2. Aumentar os indicadores de filtragem, utilizando MACD, KDJ e outros indicadores para filtrar os sinais de falsidade, aumentando a estabilidade da estratégia.

  3. Optimização de parâmetros, busca iterativa de combinações ótimas de parâmetros por meio de algoritmos genéticos, cadeias de Markov e outros métodos.

  4. A combinação de estratégias, em combinação com outras estratégias não relevantes, pode dispersar ainda mais o risco e aumentar a taxa de retorno geral.

Resumir

Esta estratégia permite um acompanhamento de tendências simples e eficazes através da quantificação do cruzamento do ouro. Embora haja um certo atraso, a configuração de parâmetros é flexível e fácil de entender, uma estratégia adequada para a prática de iniciantes. Com otimização contínua, pode aumentar gradualmente a eficácia da estratégia e reduzir os riscos.

Código-fonte da estratégia
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-15 03:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="@DankCoins - Customized Net Volume")
src = input(defval = close, title = "VA Source")
nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume



// Inputs //
VHigh = input(defval = 50, title = "VHigh Amount")
VLow = input(defval = -50, title = "VLow Amount")


// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2012)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2012)

MAV1 = sma(volume, 3)
MAV2 = -sma(volume, 3)

enterShort = crossunder(nv, MAV1)
exitShort = crossunder(nv, MAV2)
enterLong = crossover(nv, MAV2)
exitLong = crossover(nv, MAV1)

// Time Function 
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"


strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=enterShort and window())
strategy.exit("Exit Long", from_entry = "Long Entry",  when=exitLong and window())
strategy.exit("Exit Short", from_entry = "Short Entry",  when=exitShort and window())


// Plot
plot(nv, color=blue, title="NV")
plot(VHigh, color=red)
plot(VLow, color=red)
plot(MAV1, color=green)
plot(MAV2, color=green)