Estratégia dupla aleatória


Data de criação: 2023-11-07 15:25:19 última modificação: 2023-11-07 15:25:19
cópia: 1 Cliques: 689
1
focar em
1617
Seguidores

Estratégia dupla aleatória

Visão geral

A estratégia de dupla aleatoriedade tem o objetivo de alcançar um preço baixo e um preço alto através do cálculo do índice aleatório da linha K do período atual e do período K do período múltiplo. A estratégia calcula simultaneamente o indicador aleatório do ciclo atual e o indicador aleatório do ciclo triplo, usando o sinal de forquilha de ouro de indicadores aleatórios de diferentes períodos, para realizar o acompanhamento da tendência.

Princípio da estratégia

A estratégia calcula simultaneamente dois grupos de indicadores aleatórios, o primeiro grupo de indicadores aleatórios para o período K linear atual, ou seja, os valores K e D, e o segundo grupo de indicadores aleatórios para 3 vezes o período atual, ou seja, MTFK e MTFD.

Quando o MTFK atravessa a linha 50 e o valor atual de K é maior que o valor de D, um sinal de compra é gerado, indicando que entrou na região de múltiplos cabeças e fez mais; Quando o MTFD atravessa a linha 50 e o valor de K é menor que o valor de D, um sinal de venda é gerado, indicando que entrou na região de cabeças vazias e fez vazio.

Portanto, a estratégia usa um duplo indicador aleatório para determinar a área de vazio, permitindo o acompanhamento da tendência do preço. Faça mais para entrar na área de vazio, faça vazio para entrar na área de vazio, alcançando o efeito de compra e venda de baixo preço.

A estratégia é baseada em uma estratégia de compra de ações que envolve a compra de ações e a compra de ações que envolvem a compra de ações.

longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD

A Signal Logical é vendida como:

shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD

Dentre eles, mtfK é o valor de K de 3 vezes o ciclo, mtfD é o valor de D de 3 vezes o ciclo. Quando mtfK atravessa 50 linhas e k> d, um sinal de compra é gerado; Quando mtfD atravessa 50 linhas e k < d, um sinal de venda é gerado.

Além disso, a estratégia também configura a lógica de stop loss. Quando a posição é multi-cabeça, se o mtfD abaixo da trajetória, produz um sinal de parada; Quando a posição é vazia, se o mtfK acima da trajetória, produz um sinal de parada.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Usando indicadores duplos aleatórios, é mais preciso julgar a área com mais espaço. Os indicadores de ciclo atual julgam a tendência de curto prazo, e os indicadores de ciclo grande julgam a tendência de longo prazo. A combinação de indicadores duplos permite uma melhor compreensão da tendência.

  2. A estratégia de negociação de forcas de ouro com diferentes indicadores de ciclo permite um acompanhamento efetivo da tendência dos preços, permitindo baixas e altas vendas.

  3. A configuração de lógica de stop loss permite controlar o risco até certo ponto e evitar a expansão dos prejuízos.

  4. A lógica da estratégia é simples, clara, fácil de entender, adequada para o disco.

Análise de Riscos

A estratégia também tem riscos:

  1. Indicadores duplos aleatórios podem gerar sinais errados, levando a negociações desnecessárias. Por exemplo, eventos surpreendentes podem levar a desvios de tendências de curto e longo prazo.

  2. A configuração inadequada da lógica de parada de perda pode levar à expansão da perda. A distância de parada de perda deve ser razoavelmente definida para evitar ser encaixada.

  3. As taxas de transação de compra e venda frequentes afetam o lucro da estratégia. Os parâmetros devem ser adequadamente ajustados para reduzir as transações desnecessárias.

  4. A estratégia baseia-se apenas em indicadores técnicos, sem a combinação de fatores fundamentais. Deve-se prestar atenção adequada aos fatores fundamentais importantes.

Resolução:

  1. Ajuste adequadamente os parâmetros do indicador de dupla aleatoriedade para reduzir a taxa de falha.

  2. Otimizar a lógica de parada e definir uma distância de parada razoável.

  3. Ajustar os parâmetros para reduzir a frequência de negociação.

  4. O blogueiro também escreveu sobre o assunto:

Direção de otimização

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

  1. Otimizar os parâmetros dos indicadores binários aleatórios, reduzindo a taxa de sinais errados. Pode testar o efeito de diferentes valores de K e D sobre o efeito.

  2. Combinação com outros indicadores de filtragem de sinais. Julgamento auxiliar de indicadores como MACD, média móvel, etc., para evitar sinais errados.

  3. Optimizar a estratégia de stop loss, definir distâncias e proporções de stop loss. Teste se os diferentes pontos de stop loss são capazes de controlar o risco de forma eficaz.

  4. Combinação de indicadores de volume de transação. Estratégias como a ruptura de volume, para evitar transações inválidas em períodos de volatilidade.

  5. Teste diferentes períodos de detenção. O período de detenção é muito curto, os custos de transação afetam o lucro; o período de detenção é muito longo, não é possível parar o prejuízo a tempo.

  6. Combinando fatores básicos, feche a estratégia antes e depois de eventos importantes, para evitar o impacto de eventos.

Resumir

A estratégia de dupla aleatoriedade, através de indicadores aleatórios do ciclo atual e do ciclo múltiplo, julga a área de vazio, para obter preços baixos e altos. A estratégia possui vantagens como a capacidade de acompanhamento de tendências, a lógica simples e fácil de usar. Mas também existe um certo risco, que requer otimização dos parâmetros e da estratégia de parada, auxiliada por outros indicadores técnicos ou julgamentos fundamentais.

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

//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

len = input(54, minval=1, title="Length for Main Stochastic") 
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")

// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)

//mtf stochastic calculation smoothed with period

mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)

plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and  k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and  k<d and mtfK<mtfD
if (shortCondition)
    strategy.entry("Corto", strategy.short)
    
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)

if (exitlong)
    strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
    strategy.exit("Esci corto","Corto",trail_points=trailStep)
    
showZones   = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule: 
bullishRule = k >= mtfD
// bearish signal rule: 
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)