Estratégia de fuga longa baseada na linha K


Data de criação: 2024-01-05 12:37:46 última modificação: 2024-01-05 12:37:46
cópia: 0 Cliques: 638
1
focar em
1621
Seguidores

Estratégia de fuga longa baseada na linha K

Visão geral

Esta estratégia, através da definição de regras simples de julgamento de forma de linha K, permite a negociação de brecha de posição de longo prazo na linha de 4 horas da Tesla. A estratégia possui vantagens como a simplicidade, a clareza lógica e a facilidade de entendimento.

Princípio da estratégia

A lógica de julgamento central da estratégia baseia-se nas seguintes 4 regras de forma de linha K:

  1. O preço mínimo atual da linha K está abaixo do preço de abertura
  2. O preço mínimo atual da linha K é inferior ao preço mínimo da linha K anterior
  3. Preço de fechamento da linha K atual acima do preço de abertura
  4. O preço de fechamento atual da linha K é superior ao preço de abertura e fechamento da linha K anterior

Quando as 4 regras acima são simultaneamente cumpridas, a operação de abertura de posição em várias direções é realizada.

Além disso, a estratégia também estabelece um ponto de parada e um ponto de parada, quando o preço desencadeia um ponto de parada ou uma condição de parada para executar uma operação de liquidação.

Análise de vantagens

A estratégia tem algumas vantagens:

  1. A regra de julgamento da linha K é muito simples e direta, fácil de entender e fácil de praticar.
  2. O preço é baseado em um critério de entidade, sem o uso de indicadores técnicos muito complexos, e os resultados são imediatos.
  3. A implementação é feita com um código pequeno, com alta eficiência operacional e fácil otimização e melhoria.
  4. Pode ser ajustado com parâmetros, configuração livre de condições de parada de perda, controle de risco.

Análise de Riscos

Os principais riscos a serem considerados são:

  1. A utilização de quantidades fixas para a abertura de posições, sem considerar a gestão de posições, pode representar um risco de transações em excesso.
  2. Sem um filtro, pode haver muitos negócios inválidos em situações de turbulência.
  3. A falta de dados de rastreamento pode ter levado a um erro de avaliação da eficácia da estratégia.

Os riscos podem ser reduzidos através das seguintes medidas:

  1. Adicionar o módulo de gerenciamento de posições e ajustar o número de transações de acordo com o tamanho do capital.
  2. Aumentar as condições de filtragem de transações para evitar a abertura de posições desordenadas em discos de choque.
  3. A pesquisa foi realizada com o objetivo de reunir mais dados históricos, aumentar o tempo de retrospectiva e aumentar a confiabilidade dos resultados.

Direção de otimização

A estratégia pode ser otimizada para:

  1. Adição de módulo de gerenciamento de posições para determinar o tamanho da transação de acordo com a taxa de utilização de fundos.
  2. Projetar mecanismos de rastreamento de bloqueio de dano para permitir uma partida flexível.
  3. Adicionar módulo de filtragem de transações para evitar transações inválidas.
  4. Parâmetros de otimização automática usando métodos de aprendizagem de máquina.
  5. Suporte para arbitragem de várias variedades.

Resumir

Esta estratégia permite realizar transações de ruptura múltipla através de uma simples regra de julgamento de forma de linha K. Embora haja algum espaço para melhorias, a simplicidade e a diretividade da estratégia é ideal para que os iniciantes a entendam e usem. A otimização contínua pode tornar a estratégia mais eficaz.

Código-fonte da estratégia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © TheQuantScience

//@version=5
strategy("SimpleBarPattern_LongOnly", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.03)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date",
     defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month",
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2017, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=8, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=3, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2022, minval=1800, maxval=2100)
     
// Look if the close time of the current bar
// Falls inside the date range
inDateRange = true

// Setting Conditions 
ConditionA = low < open 
ConditionB = low < low[1]
ConditionC = close > open
ConditionD = close > open[1] and close > close[1]

FirstCondition = ConditionA and ConditionB 
SecondCondition = ConditionC and ConditionD
IsLong = FirstCondition and SecondCondition

TakeProfit_long = input(4.00)
StopLoss_long = input(4.00)
Profit = TakeProfit_long*close/100/syminfo.mintick
Loss = StopLoss_long*close/100/syminfo.mintick

EntryCondition = IsLong and inDateRange

// Trade Entry&Exit Condition 
if EntryCondition and strategy.opentrades == 0
    strategy.entry(id = 'Open_Long', direction = strategy.long)
    strategy.exit(id = "Close_Long", from_entry = 'Open_Long', profit = Profit, loss = Loss)