Estratégia Kijun Loopback

Autora:ChaoZhang, Data: 2023-11-06 16:46:45
Tags:

img

Resumo

A estratégia Kijun Loopback utiliza a linha Kijun-sen do indicador Ichimoku Cloud para determinar posições longas e curtas com base no cruzamento de preços da linha Kijun-sen.

Estratégia lógica

A estratégia Kijun Loopback usa a linha Kijun-sen da Nuvem Ichimoku como linha de base para decisões. O Kijun-sen é uma linha média calculada a partir dos preços mais altos e mais baixos em um determinado período. Quando o preço cruza acima da linha Kijun-sen, uma posição longa é aberta. Quando o preço cruza abaixo da linha Kijun-sen, uma posição curta é aberta. Desta forma, os loopbacks da linha Kijun-sen são usados para detectar pontos de virada no preço para seguir a tendência.

Especificamente, a estratégia determina loopbacks Kijun-sen usando as condições Base Long e Base Short. A condição Base Long é aberta < Kijun-sen e fechada > Kijun-sen, indicando um upcross da linha Kijun-sen. A condição Base Short é aberta > Kijun-sen e fechada < Kijun-sen, indicando um downcross. Quando a Base Long é acionada, uma posição longa é aberta. Quando a Base Short é acionada, uma posição curta é aberta. As condições de saída são quando o preço cruza novamente o Kijun-sen na direção oposta, ou seja, feche abaixo do Kijun-sen para negócios longos e feche acima para negócios curtos.

Assim, os loopbacks da linha Kijun-sen são usados para capturar pontos de reversão da tendência para seguir a tendência.

Análise das vantagens

A estratégia Kijun Loopback tem as seguintes vantagens:

  1. A linha Kijun-sen reflete bem as tendências de preços. Seus loopbacks representam inversões de tendência. A estratégia pode capturar pontos de reversão oportunos para seguir a tendência.

  2. Riscos de retirada controlados. A estratégia usa o Kijun-sen para limitar os intervalos de retirada, melhor do que estratégias simples de média móvel.

  3. A estratégia só precisa de um indicador, o Kijun-sen.

  4. Ampla aplicabilidade: pode ser aplicada em diferentes prazos e nos principais instrumentos de negociação.

  5. A estratégia precisa apenas de dados de preços, sem cálculos pesados de indicadores.

Análise de riscos

A estratégia Kijun Loopback também apresenta os seguintes riscos:

  1. Tendência a gerar sinais excessivos de negociação.

  2. O Kijun-sen só pode limitar os drawdowns até certo ponto.

  3. São propensos a sinais errados. podem gerar sinais errados com a direção da tendência.

  4. A eficácia do Kijun-sen varia significativamente para diferentes instrumentos.

  5. Confiança num único indicador O desenho de um único indicador expõe a estratégia a invalidações.

Soluções:

  1. Otimizar os parâmetros para reduzir a frequência do comércio.

  2. Adicionar stop loss/profit taking para controlar os drawdowns.

  3. Adicione filtros para evitar sinais errados.

  4. Ajustar os parâmetros por instrumento.

  5. Incorporar mais indicadores na tomada de decisões.

Orientações para a melhoria

A estratégia Kijun Loopback pode ser reforçada nos seguintes aspectos:

  1. Incorporar indicadores de tendência adicionais como MACD, Bandas de Bollinger para evitar a dependência de um único indicador.

  2. Optimize as configurações dos parâmetros. Ajuste o período Kijun-sen para equilibrar a taxa de ganho e a velocidade de lucro. Teste diferentes abordagens de stop loss / take profit.

  3. Introduzir análise de volume, filtrar sinais por volume para evitar transações desproporcionadas.

  4. Optimização de parâmetros entre instrumentos. Utilize aprendizado de máquina para obter intervalos de parâmetros ideais para diferentes instrumentos.

  5. Melhorar o tempo de entrada, acrescentar indicadores de impulso para entrar em um momento mais forte.

  6. Otimizar as paradas para reduzir as paradas desnecessárias, mantendo a taxa de vitória.

  7. Incorporar mecanismos de gestão de riscos, ajustando dinamicamente o tamanho das posições e o stop loss com base nas condições de mercado em evolução para um controlo activo dos riscos.

Resumo

A estratégia Kijun Loopback captura inversões de tendência usando loopbacks Kijun-sen. Tem vantagens como forte captura de tendência e drawdowns controláveis. Mas existem riscos como sinais errados e limitações de controle de drawdown. Melhorias futuras podem incluir otimização de parâmetros, adição de indicadores auxiliares etc. No geral, a estratégia Kijun é simples e prática. Com melhorias adequadas, pode se tornar uma sólida estratégia central na negociação quantitativa.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Master VP","MVP",true)
        
//INDICATOR---------------------------------------------------------------------    
    //Average True Range (1. RISK)
atr_period = input(14, "Average True Range Period")
atr = atr(atr_period)

    //Ichimoku Cloud - Kijun Sen (2. BASELINE)
ks_period = input(20, "Kijun Sen Period")
kijun_sen = (highest(high, ks_period) + lowest(low,ks_period))/2
base_long = open < kijun_sen and close > kijun_sen
base_short = open > kijun_sen and close < kijun_sen

//TRADE LOGIC-------------------------------------------------------------------
    //Long Entry
    //if -> WPR crosses below -39 AND MACD line is less than signal line
l_en = base_long
    //Long Exit
    //if -> WPR crosses above -14
l_ex = close < kijun_sen
    //Short Entry
    //if -> WPR crosses above -39 AND MACD line is greater than signal line
s_en = base_short
    //Short Exit
    //if -> WPR crosses under -14
s_ex = close > kijun_sen
strategy.initial_capital = 50000
//MONEY MANAGEMENT--------------------------------------------------------------
balance = strategy.netprofit + strategy.initial_capital //current balance
floating = strategy.openprofit          //floating profit/loss
risk = input(4,"Risk %")/100           //risk % per trade
equity_protector = input(30,"Equity Protection %")/100  //equity protection %
stop = atr*100000*input(1.5,"Average True Range multiplier")    //Stop level
target = input(100, "Target TP in Points")  //TP level
    //Calculate current DD and determine if stopout is necessary
equity_stopout = false
if(floating<0 and abs(floating/balance)>equity_protector)
    equity_stopout := true
    
    //Calculate the size of the next trade
temp01 = balance * risk     //Risk in USD
temp02 = temp01/stop        //Risk in lots
temp03 = temp02*100000      //Convert to contracts
size = temp03 - temp03%1000 //Normalize to 1000s (Trade size)
if(size < 1000)
    size := 1000            //Set min. lot size

//TRADE EXECUTION---------------------------------------------------------------
strategy.close_all(equity_stopout)      //Close all trades w/equity protector
is_open = strategy.opentrades > 0

if true
    strategy.entry("l_en",true,oca_name="a",when=l_en and not is_open)  //Long entry
    strategy.entry("s_en",false,oca_name="a",when=s_en and not is_open) //Short entry
    
    strategy.exit("S/L","l_en",loss=stop, profit=target)      //Long exit (stop loss)
    strategy.close("l_en",when=l_ex)            //Long exit (exit condition)
    strategy.exit("S/L","s_en",loss=stop, profit=target)      //Short exit (stop loss)
    strategy.close("s_en",when=s_ex)            //Short exit (exit condition)
    
//PLOTTING----------------------------------------------------------------------
plot(kijun_sen,"Kijun-Sen",color.blue,2)

Mais.