Estratégia de scalping de curto prazo de média móvel


Data de criação: 2023-09-21 20:41:15 última modificação: 2023-09-21 20:41:15
cópia: 0 Cliques: 935
1
focar em
1617
Seguidores

Visão geral

Esta estratégia pertence ao tipo de estratégia de scalping de linha curta, cujo objetivo é abrir posições baixas com frequência e obter ganhos estáveis com pequenos ganhos e controlar o risco de queda. A estratégia faz mais com o ponto de entrada de reviravolta possível, julgando o indicador de linha média, e define um objetivo de parada rápida para bloquear pequenos lucros.

Princípio da estratégia

A estratégia usa quatro médias móveis, 9 ciclos, 50 ciclos, 100 ciclos e 200 ciclos.

As regras específicas de negociação são:

  • 9 Medidas de entrada em média de 50 ciclos
  • A média de 50 ciclos é inferior a 100 ciclos
  • A média de 100 ciclos é menor que a média de 200 ciclos

A combinação desses julgamentos permite encontrar pontos de momento em que os preços estão em queda a curto prazo, mas podem reverter.

A regra de equilíbrio é a de que o equilíbrio é excessivo quando a linha média de 9 períodos é percorrida por 200 períodos. Aqui, um objetivo de parada mais próximo é estabelecido, com o objetivo de obter um lucro estável por meio de pequenos lucros frequentes.

Vantagens estratégicas

  • Abrir posições frequentemente para controlar perdas individuais
  • Usar a linha média para avaliar pontos de inflexão e encontrar potenciais pontos de compra
  • Definir um ponto de paragem mais próximo, bloquear o lucro de pequenas quantidades
  • Reduzir o tempo de detenção e reduzir a influência da grande tendência
  • Alta taxa de utilização de capital, adequada para o crescimento de pequenas capitais

Risco estratégico

  • A medianeza está atrasada e pode ter perdido o melhor momento de entrada.
  • Espaço de lucro reduzido e exposição a custos de transação
  • A maior parte das transações são inúteis e frequentes, o que gera custos de tempo e esforço.
  • O ponto de paragem é muito conservador e não acompanha a tendência.
  • Dificuldade em obter lucro no mercado de liquidação

O risco pode ser reduzido através das seguintes medidas:

  • Optimizar os parâmetros da linha média para melhorar a precisão do ponto de compra
  • A liberação apropriada do limite de EXIT, em busca de mais lucro de tendência
  • Adição de outros indicadores técnicos para confirmação, redução de transações inválidas
  • Optimizar a utilização dos fundos e a gestão das posições
  • Considerações

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Combinação de parâmetros de linha média optimizada

Teste mais parâmetros de ciclo medíocre para encontrar combinações que julguem com mais precisão a inversão.

  1. Libertação do ponto de paragem

A distância entre as paradas deve ser reduzida de forma apropriada, para que os lucros da tendência sejam maiores.

  1. Adição de outros indicadores técnicos

O KDJ, o MACD, etc. são confirmados, reduzindo a transação inválida.

  1. Optimizar a gestão de posições

Configure o tamanho da posição para ser ajustado dinamicamente de acordo com o ponto de parada e o ponto de parada.

  1. Reincorporar-se ao mecanismo de reentrada

Após a eliminação, se a tendência continuar, pode-se considerar a reentrada condicional.

Resumir

Esta estratégia pertence ao tipo de estratégia de escalpelamento de linha curta, formando sinais de negociação através da determinação de combinações de linhas uniformes de inversão de curto prazo e definindo um stop mais próximo para obter lucros frequentes. Isso pode controlar efetivamente os perdas e riscos individuais, adequados para o crescimento de pequenas quantidades de capital.

Código-fonte da estratégia
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//strategy(shorttitle='Moving Average Scalper (by Coinrule)',title='Moving Average Scalper', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Entry 
bullish = crossover(movingaverage_signal, movingaverage_fast)

strategy.entry(id="long", long = true, when = bullish and movingaverage_fast < movingaverage_mid and movingaverage_mid < movingaverage_slow and window())

//Exit

bearish = crossover(movingaverage_signal, movingaverage_slow)


Stop_loss= ((input (2))/100)
Take_profit= ((input (8))/100)

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = bearish)

// close < longStopPrice or close > longTakeProfit and window())

//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2 )
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=2)
plot(movingaverage_mid, color=color.blue, linewidth=2)