Estratégia de oscilação de um minuto de Jinsen


Data de criação: 2024-02-19 10:45:18 última modificação: 2024-02-19 10:45:18
cópia: 1 Cliques: 738
1
focar em
1617
Seguidores

Estratégia de oscilação de um minuto de Jinsen

Visão geral

A estratégia de escalpelamento de um minuto da Gem Forest é uma estratégia de negociação quantitativa de curto prazo. A estratégia usa vários indicadores para identificar os traços de choque do mercado em um período de um minuto.

Princípio da estratégia

  1. Indicador ATR construído para determinar oscilações de preços
  2. Indicadores da EMA construem sinais de troca de forquilhas
  3. Indicador de duplo RSI confirma sinal de morte de forquilha
  4. Combinação de sinais de indicadores e posicionamento de preços para determinar pontos de entrada e saída específicos

Quando o preço está abaixo da trajectória, a EMA rápida forma um golden fork, a linha rápida RSI atravessa a linha lenta RSI, produzindo um sinal de compra; Quando o preço está acima da trajectória, a EMA rápida forma um dead fork, a linha rápida RSI atravessa a linha lenta RSI, produzindo um sinal de venda.

Análise de vantagens

  1. Combinação de múltiplos indicadores, julgamento integrado, alta confiabilidade
  2. Alta frequência de operação estratégica, com um forte espaço de lucro
  3. A estratégia de retirada do pequeno está bem.
  4. Arbitragem ultra curta em um período de 1 minuto ou menos

Análise de Riscos

  1. Operação de linha ultra curta, maior exigência de rede e hardware
  2. Linhas ultra curtas podem levar a excesso de transações e dispersão de fundos
  3. Indicadores mal definidos podem causar sinais falsos
  4. Dependendo do cenário de mercado específico, a tendência é de que os investidores se preocupe com as altas e baixas volatilidades.

Para lidar com esses riscos, é possível otimizar os parâmetros do indicador, ajustar o modo de parada de perda, limitar adequadamente o número máximo de transações por dia, escolher variedades de negociação com boa liquidez e volatilidade moderada, etc.

Direção de otimização da estratégia

  1. Teste a influência de diferentes parâmetros do ciclo ATR nos resultados
  2. Experimente diferentes tipos de EMA ou mude um EMA para outro
  3. Ajuste os parâmetros do ciclo RSI ou tente outros indicadores de oscilação, como KDJ, Stochastics, etc.
  4. Optimizar os métodos de seleção de pontos de entrada, como combinar mais fatores para determinar tendências
  5. Ajustar o ponto de parada de perda para otimizar a relação de risco-benefício

Resumir

A estratégia de choque de um minuto da Kinsta considera as características da negociação quantitativa de linha ultra curta, a configuração de parâmetros do indicador é razoável, a confirmação e o uso combinado de vários indicadores, a alta confiabilidade, o forte potencial de lucro sob o pressuposto de um controle rigoroso do risco, e é muito adequado para o teste de catálogo de investidores com capacidade operacional e psicológica suficientes.

Código-fonte da estratégia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.blue, textcolor=color.white, transp=0)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.yellow, textcolor=color.white, transp=0)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long, when = RSILong)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short, when = RSIShort)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)