Estratégia de negociação de média móvel de rompimento semanal


Data de criação: 2024-01-18 11:47:25 última modificação: 2024-01-18 11:47:25
cópia: 0 Cliques: 602
1
focar em
1617
Seguidores

Estratégia de negociação de média móvel de rompimento semanal

Visão geral

A estratégia baseia-se no preço de fechamento do dia do Bitcoin e na média móvel simples de 8 semanas. Quando o preço de fechamento do dia cruza a linha de 8 semanas, faça mais; Quando o preço de fechamento do dia cruza a linha de 8 semanas, faça zero.

Princípio da estratégia

A estratégia analisa a trajetória do Bitcoin e a média móvel simples de 8 semanas para determinar se o mercado está atualmente em uma tendência ascendente ou descendente. Quando o preço de fechamento da linha de 8 semanas é ultrapassado, o mercado entra no canal ascendente e ganha mais dinheiro. Quando o preço de fechamento da linha de 8 semanas é ultrapassado, o mercado entra no canal descendente.

A estratégia estabelece os seguintes critérios de avaliação:

buy_condition= crossover(btc,ma)#周线收盘价上穿8周线,做多 
sell_condition= crossunder(btc,ma)#周线收盘价下穿8周线,平仓

Quando as condições de compra são estabelecidas, a estratégia entra em ação; quando as condições de parada são estabelecidas, a estratégia opta por parar ou parar de perder.

A estratégia também estabelece uma proporção para o stop loss:

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY") 
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

Dentre eles, a taxa de parada é o padrão 1, a taxa de parada é o padrão 3. Isso significa que, quando o sinal de equilíbrio chega, se o lucro atual for obtido, será parado em 3 vezes o lucro; se o lucro atual for perdido, será parado em 1 vezes o prejuízo.

Análise de vantagens

A estratégia tem as seguintes vantagens:

  1. Circunferência operacional, pequena retração, adequado para a linha longa de posse
  2. Osciloscópio de filtragem de 8 semanas, identificação das principais tendências
  3. Configurar o Stop Loss Stop, controlar o risco

Análise de Riscos

A estratégia também apresenta alguns riscos:

  1. Operação de perímetro, não é possível ajustar posições em função do cenário de curto prazo
  2. O sinal de ruptura pode ser um sinal de erro
  3. A configuração de stop loss pode falhar quando o mercado é anormal

Resposta:

  1. Combinação com outros indicadores de curto prazo para identificar oportunidades de ajuste de curto prazo
  2. Aumentar as condições de filtragem para evitar sinais errados
  3. Ajustar o Stop Loss Stop Loss em função do mercado para reduzir os prejuízos

Direção de otimização

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

  1. Adição de outras condições de filtragem para garantir a eficácia dos sinais de ruptura
  2. Optimizar a configuração do Stop Loss Stop Ratio
  3. Combinação de indicadores de curto período para a combinação de múltiplos prazos
  4. Parâmetros de otimização automática usando algoritmos de aprendizagem de máquina

Resumir

A estratégia em geral é mais simples e direta, julgando a tendência do mercado através da circunferência quebrando a média; ao mesmo tempo, configura um stop-loss para controlar o risco. Pode ser usado como referência para a linha longa de posse de bitcoin. Mas a estratégia também existe um certo blind zone, que pode ser melhorado em termos de aumento da eficácia do sinal, configuração de parâmetros de otimização e realização de combinação de vários quadros de tempo.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © taberandwords
//developer: taberandwords
//author: taberandwords
//@version=4

strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed)

source=input(defval=close,title="source",group="STRATEGY")

btc=security('BTCUSDT','1W', source)
ma=sma(btc,8)

buy_condition= crossover(btc,ma) 
sell_condition= crossunder(btc,ma)

ma_color=input(defval=#FF3232,title="COLOR",group="MA")
ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA")
graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC")
graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC")

start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR")

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

if(year>=start_date)
    strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!')

    if(strategy.long)
        alert('BTC buy order trigerred!',alert.freq_once_per_bar)
    strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!')
    if(sell_condition)
        alert('BTC sell order trigerred!',alert.freq_once_per_bar)
plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth)
plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth)
plot(strategy.equity,display=0)