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.
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.
A estratégia Kijun Loopback tem as seguintes vantagens:
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.
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.
A estratégia só precisa de um indicador, o Kijun-sen.
Ampla aplicabilidade: pode ser aplicada em diferentes prazos e nos principais instrumentos de negociação.
A estratégia precisa apenas de dados de preços, sem cálculos pesados de indicadores.
A estratégia Kijun Loopback também apresenta os seguintes riscos:
Tendência a gerar sinais excessivos de negociação.
O Kijun-sen só pode limitar os drawdowns até certo ponto.
São propensos a sinais errados. podem gerar sinais errados com a direção da tendência.
A eficácia do Kijun-sen varia significativamente para diferentes instrumentos.
Confiança num único indicador O desenho de um único indicador expõe a estratégia a invalidações.
Soluções:
Otimizar os parâmetros para reduzir a frequência do comércio.
Adicionar stop loss/profit taking para controlar os drawdowns.
Adicione filtros para evitar sinais errados.
Ajustar os parâmetros por instrumento.
Incorporar mais indicadores na tomada de decisões.
A estratégia Kijun Loopback pode ser reforçada nos seguintes aspectos:
Incorporar indicadores de tendência adicionais como MACD, Bandas de Bollinger para evitar a dependência de um único indicador.
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.
Introduzir análise de volume, filtrar sinais por volume para evitar transações desproporcionadas.
Optimização de parâmetros entre instrumentos. Utilize aprendizado de máquina para obter intervalos de parâmetros ideais para diferentes instrumentos.
Melhorar o tempo de entrada, acrescentar indicadores de impulso para entrar em um momento mais forte.
Otimizar as paradas para reduzir as paradas desnecessárias, mantendo a taxa de vitória.
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.
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)