
A estratégia é uma estratégia de salto rápido baseada na análise da técnica do craque japonês, combinando um indicador de linha média e um indicador de resistência de suporte para julgar a tendência e a posição. Sua principal idéia é esperar que o preço salte rapidamente e pare rapidamente após a confirmação da linha média e do indicador de tendência.
A estratégia usa uma média móvel simples de comprimento de 20 SMA e uma média móvel indexada de comprimento de 200 EMA para determinar a direção da tendência. Quando o preço está em alta tendência (SMA acima da EMA) e o atual preço de fechamento da entidade de alumínio japonês é superior ao preço de abertura (entidade branca), indica um aumento da força de ponta; quando o preço está em baixa tendência (SMA abaixo da EMA) e o atual preço de fechamento da entidade de alumínio japonês é inferior ao preço de abertura (entidade preta), indica um aumento da força de ponta.
A estratégia espera que o preço salte rapidamente para dentro do campo quando a tendência e a força são confirmadas. O chamado saltar para dentro do campo é a primeira linha de canal entre os três canais ATR previamente definidos pelo filtro (baseados no ATR de 200 dias e no fator).
Após a entrada, a regra de stop ou stop loss é muito simples. Se o preço tocar a borda externa do canal (como a linha de stop ou a linha de stop), você vai parar ou parar imediatamente. Isso garante um lucro rápido da estratégia.
A maior vantagem desta estratégia é a obtenção de lucros rápidos e conservadores. O uso de saltos rápidos para entrar no campo, evitando ajustar a posição várias vezes. E o efeito de aceleração da tendência causada pela ruptura do canal, pode ser obtido em pouco tempo.
Em comparação com a posse de linhas longas, a estratégia de abertura de posição livre pode reduzir significativamente a taxa de posição vazia da estratégia e aumentar ainda mais a eficiência do uso de fundos. Ao mesmo tempo, o mecanismo de parada rápida de parada de perda também pode controlar efetivamente os perdas individuais.
A estratégia baseia-se principalmente em indicadores de equilíbrio para determinar a direção da tendência, com risco de reversão e oscilação. Quando o preço oscila dentro do canal, a linha ultra curta pode levar a uma reversão de posição e perda.
Além disso, a estratégia depende demais de indicadores técnicos, sem a combinação de análise de fundamentos e eventos significativos. Uma vez que ocorre um evento de cisne negro, o indicador técnico QIAN é invalidado e a estratégia pode sofrer grandes perdas.
Para controlar o risco, pode-se alargar adequadamente a gama de canais, reduzir a frequência de abertura de posições. Ou adicionar o módulo de gerenciamento de posições, ajustando dinamicamente a posição individual de acordo com o tamanho do capital.
A estratégia pode ser melhorada em vários aspectos:
Adição de módulo de gerenciamento de posições. De acordo com o tamanho do capital da conta, ajuste dinamicamente o número de posições abertas por cada uma, controle da proporção de perdas individuais.
Aumentar o filtro de fundamentos. Quando os indicadores técnicos desencadeiam condições de abertura de posição, julgar os fundamentos da empresa e os eventos importantes, evitando o deslocamento.
Combinado com o gerenciamento do pool de ações. Definir regras de seleção de ações, ajustar o pool de ações de forma dinâmica. Selecionar o pool de ações ideal em diferentes fases, aumentar a estabilidade.
Combinado com modelos de aprendizagem de máquina. Usando IA para prever tendências e pontos de preço críticos, auxiliando na determinação do alcance do canal e no momento de abrir posições.
A estratégia é simples e eficiente. Usando a linha média para julgar a grande tendência, o japonês para julgar a direção da força, o rápido salto de entrada, o rápido stop loss. Pode ser lucrativo em curto prazo, adequado para negociação de alta frequência.
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Kana with S/R Strategy", title = "KANA with S/R", overlay=true)
len = input(20, minval=1, title="Length")
multiplier1 = input(1, minval=1, title="multiplier1")
multiplier2 = input(2, minval=1, title="multiplier2")
multiplier3 = input(3, minval=1, title="multiplier3")
srTimeFrame = input(240, minval=1, title="Support Resistance TimeFrame")
useSR = input(true, type = bool, title="Use Support/Resistance")
tpPercent = input(0.5, type=float, title = "Take Profit Percent")
useTP = input(false, type=bool, title = "Use Take Profit")
tp = (close * tpPercent / 100) / syminfo.mintick
src = input(close, title="Source")
mid = sma(src, len)
plot(mid, title="SMA", color=blue)
trend = ema(close, 200)
plot(trend, title="Trend", color=green)
upper1 = mid + atr(200) * multiplier1
upper2 = mid + atr(200) * multiplier2
upper3 = mid + atr(200) * multiplier3
lower1 = mid - atr(200) * multiplier1
lower2 = mid - atr(200) * multiplier2
lower3 = mid - atr(200) * multiplier3
plot(upper1, color = orange)
plot(upper3, color = red)
plot(lower1, color = orange)
plot(lower3, color = red)
haClose = request.security(heikinashi(syminfo.tickerid), timeframe.period, close)
haOpen = request.security(heikinashi(syminfo.tickerid), timeframe.period, open)
resistance = request.security(syminfo.tickerid,tostring(srTimeFrame), high)
support = request.security(syminfo.tickerid,tostring(srTimeFrame), low)
rsPos = (close - support[srTimeFrame]) / (resistance[srTimeFrame] - support[srTimeFrame])
MACD = ema(close, 120) - ema(close, 260)
aMACD = ema(MACD, 90)
hisline = MACD - aMACD
longCondition = (mid > trend) and (haOpen[1] < haClose[1]) and (mid > mid[1]) and (close < upper1) and hisline > 0 and (useSR == true ? (rsPos > 100) : true)
shortCondition = (mid < trend) and (haOpen[1] > haClose[1]) and (mid < mid[1]) and (close > lower1) and hisline < 0 and (useSR == true ? (rsPos < 0) : true)
longExit = (close > upper3 ) or (close < lower2)
shortExit = (close < lower3) or (close > upper2)
if (longCondition)
strategy.entry("Long", strategy.long)
if (useTP)
strategy.exit("Exit Long", "Long", profit = tp)
if (longExit)
strategy.close("Long")
if (shortCondition)
strategy.entry("Short", strategy.short)
if (useTP)
strategy.exit("Exit Short", "Short", profit = tp)
if (shortExit)
strategy.close("Short")