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.
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:
Preço de entrada: o preço de compra, o padrão é 0, o que significa comprar ao preço de fechamento
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:
Esta estratégia tem as seguintes vantagens:
Há também alguns riscos com esta estratégia:
Os riscos podem ser reduzidos:
Esta estratégia pode ser otimizada nos seguintes aspectos:
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")