
A estratégia de ciclo de retorno da linha de base usa a linha de base do indicador de gráfico da nuvem Ichimoku (Kijun Sen), fazendo mais curto prazo com base no cruzamento do preço com a linha de base e é uma estratégia de acompanhamento de tendência. A estratégia capta o ponto de inflexão da tendência através do ciclo de retorno da linha de base, com a capacidade de captura de tendência forte, controle de reversão e outras vantagens.
A estratégia de ciclo de base utiliza a linha de base do gráfico de nuvens de Ichimoku (Kijun Sen) como referência para a tomada de decisões. A linha de base é a média calculada com base nos preços mais altos e mais baixos de um determinado período. Quando o preço passa abaixo da linha de base, faça mais; quando o preço passa acima da linha de base, faça zero.
Em particular, a estratégia determina o ciclo da base média através de duas condições: Base Long, onde o preço de abertura é inferior à base média e o preço de fechamento é superior à base média, o que significa que a base média está acima; Base Short, onde o preço de abertura é superior à base média e o preço de fechamento é inferior à base média, o que significa que a base média está abaixo. Quando o Base Long é acionado, faz uma entrada adicional; Quando o Base Short é acionado, faz uma entrada em branco.
Assim, a estratégia usa o ciclo da linha média básica para capturar o ponto de inflexão da tendência de preços, conseguindo o acompanhamento da tendência.
A estratégia de base-meia-volta tem as seguintes vantagens:
Capturar a tendência de reversão é forte. A linha média base pode refletir bem a tendência de preços, e seu círculo representa a reversão da tendência de preços. A estratégia pode capturar pontos de reversão em tempo hábil e acompanhar a tendência.
O risco de retração é controlado. A estratégia limita o alcance da retração com a linha de base média e é mais controlada do que a estratégia de média móvel simples.
Simples de implementar. A estratégia requer apenas um indicador de linha média básica, a lógica é simples e fácil de implementar.
Uma ampla gama de aplicações. Pode ser aplicado em diferentes períodos e em várias variedades de transações principais, com ampla gama de aplicações.
A estratégia requer apenas dados de preços, não requer um grande número de cálculos de indicadores, e a demanda por dados é pequena.
A estratégia de rolagem base-média também apresenta os seguintes riscos:
É fácil gerar sinais de transação excessivos. A existência de ciclos frequentes na base média pode levar a transações muito frequentes, aumentando as taxas de transação e a perda de pontos de deslizamento.
A capacidade de controle de retração é limitada. A linha média base pode controlar o alcance da retração até certo ponto, mas a retração pode ser ainda maior quando os preços flutuam fortemente.
Fácil de produzir sinais errados. Quando a linha média base atravessa frequentemente para cima e para baixo em um período recente, pode produzir sinais errados e a direção de entrada não está de acordo com a tendência.
A correlação entre o efeito e a variedade é grande. A média básica de diferentes variedades opera com grande diferença de efeito, necessitando de ajustes de parâmetros para cada variedade.
Considere apenas um indicador único. Baseado no design de um único indicador, é vulnerável à falha do indicador.
Resolução:
Optimizar os parâmetros e reduzir a frequência de transações.
Aumentar a estratégia de stop-loss para controlar ainda mais a retirada.
Adicione filtros para evitar sinais errados.
Configuração de parâmetros de ajuste para variedades.
Para tomar uma decisão com base em vários indicadores:
A estratégia de ciclo de base-média pode ser otimizada nos seguintes aspectos:
Aumentar a capacidade de julgamento de tendências. Outros indicadores de julgamento de tendências podem ser introduzidos, como MACD, Linha de Brin, etc., evitando sinais errados com base em um único indicador.
Optimizar a configuração dos parâmetros. Você pode ajustar os parâmetros da linha média básica para equilibrar a velocidade de ganho e a taxa de vitória. Você também pode testar diferentes estratégias de stop-loss.
Introdução de características de volume de transação. Filtração de sinais de acordo com o volume de transação, evitando sinais irracionais.
Parâmetros gerais de variedades múltiplas. Obter uma gama de parâmetros gerais de diferentes variedades por meio de métodos como aprendizado de máquina, reduzindo o trabalho de revisão manual.
Optimizar o tempo de admissão. Pode introduzir outros indicadores de julgamento, selecionando o tempo de admissão mais forte.
Optimizar a estratégia de parada de perdas. Optimizar ainda mais a estratégia de parada de perdas, reduzindo o máximo de perdas desnecessárias, com a premissa de garantir a taxa de vitória.
Introdução de mecanismos de gerenciamento de risco. Adaptar posições e estratégias de parada de perdas de acordo com diferentes condições de mercado, controlar ativamente o risco.
A estratégia de circuito de linha de base utiliza a linha de base para determinar a tendência de preços de circuito, com vantagens como a captura de tendência, reversão e retração controlada. Mas também existe o risco de produzir sinais errados, controle limitado de retração. No futuro, pode ser melhorado a partir da configuração de parâmetros de otimização, adicionando indicadores auxiliares de julgamento, etc., para tornar a estratégia mais estável e confiável.
/*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)