Estratégia de compra baseada no avanço do preço próximo

Autora:ChaoZhang, Data: 2024-02-21 14:48:59
Tags:

img

Resumo

A ideia central desta estratégia é comprar quando o preço de fechamento da ação é maior do que o preço de abertura do dia. Quando a condição de compra é atendida, a estratégia será longa no fechamento desse candelabro no preço de fechamento. O preço de stop loss e o preço de take profit serão então definidos. Quando o preço atingir esses dois preços, a posição será fechada.

Princípio da estratégia

Se o preço de fechamento do candelabro diário for maior do que o preço de abertura, isso significa que o preço da ação subiu naquele dia. Este é um sinal de compra. A ruptura do preço de fechamento do preço de abertura indica que o poder de compra é bastante forte e o preço da ação provavelmente continuará subindo.

Portanto, o sinal de negociação para esta estratégia é: Preço de fechamento do candelabro diário > Preço de abertura do candelabro diário. Quando esta condição for cumprida, compre no preço de fechamento no fechamento desse candelabro e mantenha diariamente.

Esta estratégia utiliza dois parâmetros:

  1. Preço de entrada: o preço de compra, o padrão é 0, o que significa comprar ao preço de fechamento

  2. Parâmetro Take Profit: Parâmetro Take Profit, a fórmula do preço take profit é: Preço de entrada * (1 + Parâmetro Take Profit), o valor padrão é 0,5%, equivalente a 0,5% do preço de entrada

O processo específico de negociação é o seguinte:

  1. Espere que o candelabro feche e verifique se o preço de fechamento > preço de abertura do dia
  2. Quando a condição for cumprida, compre ao preço de fechamento
  3. Após a abertura de uma posição, definir o preço stop loss e take profit
  4. Quando o preço sobe para obter lucro, posição fechada para lucro
  5. Quando o preço cai para o ponto mais baixo do próximo candelabro, fechar a posição para parar a perda
  6. Repita os passos 1 a 5 todos os dias

Análise das vantagens

Esta estratégia tem as seguintes vantagens:

  1. A ideia é simples e fácil de entender e implementar
  2. Requer apenas os preços de abertura e fechamento do candelabro para julgamento de sinal comercial, com requisitos de dados pequenos
  3. O risco de retirada é pequeno, utilizando o mecanismo de stop loss e take profit para controlar as perdas

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. Pode haver várias oportunidades de compra durante o dia, mas a estratégia só compra uma vez ao fechar, possivelmente perdendo algumas oportunidades
  2. Preço pode callback após o fechamento, aumentando a probabilidade de stop loss desencadear

Os riscos podem ser reduzidos:

  1. Após o sinal de compra desencadeado, acompanhe o preço mais alto do dia e use as funções AdjustAmount para ajustar dinamicamente a posição
  2. Retardar a definição do preço de stop loss e take profit por um período após o fechamento para evitar o disparo do stop loss imediatamente

Orientações de otimização

Esta estratégia pode ser otimizada nos seguintes aspectos:

  1. Adicionar confirmação de volume, por exemplo, adicionar indicadores de volume ou calor de mercado como confirmação do sinal de compra
  2. Usar stop loss dinâmico e tirar lucro após a compra, ajustar o preço stop loss e tirar lucro em tempo real
  3. Definir parâmetros especificamente para estoques individuais, usar métodos de aprendizagem de máquina para otimizar automaticamente os parâmetros
  4. Adicionar um mecanismo de gestão de posições, ajustar o tamanho das posições para evitar o risco de retirada

Conclusão

Esta estratégia gera sinais de compra baseados em brecha de preço próxima. A ideia é simples com pequeno risco de retirada. Adicionando indicadores de confirmação, stop loss dinâmico / take profit, otimização de parâmetros, etc., a estabilidade e lucratividade da estratégia podem ser melhoradas.


/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy on Close Strategy", overlay=true)

// Входные параметры
var float entry_price = na
if (na(entry_price))
    entry_price := input.float(title="Entry Price", defval=0)

// Функция для расчета Take Profit
calc_take_profit(price) =>
    price * 1.005 // 0.5% от суммы сделки

// Проверяем условие для открытия позиции на покупку
buy_condition = close > open

// Переменная для отслеживания открытой позиции
var bool open_position = na

// Реализация стратегии
if (buy_condition)
    // Открываем сделку на покупку
    strategy.entry("Buy", strategy.long)
    open_position := true

// Закрываем позицию по Take Profit или при закрытии свечи
if (open_position)
    // Рассчитываем уровень Take Profit
    take_profit_level = calc_take_profit(entry_price)

    // Закрываем сделку по Take Profit
    strategy.exit("Take Profit", "Buy", limit=take_profit_level)

    // Закрываем сделку при закрытии свечи
    if (close < open)
        strategy.close("Close Candle", "Buy")


Mais.