本策略的核心思想是在股价收盘价高于开盘价时进行买入操作。当满足买入条件时,策略会在该K线收盘时以收盘价进入多仓。之后设置止损价和止盈价,当价格触及这两个价格时就会平仓。
当日K线的收盘价高于开盘价,说明当日的股价是上涨的。这是一个买入信号。收盘价突破当日开盘价,说明买方力量比较强劲,股价有望继续上涨。
因此,本策略的交易信号是:当日K线收盘价 > 当日K线开盘价。满足此条件时,在该K线收盘时以收盘价买入,进行逐日持有。
本策略采用了两个参数:
Entry Price: 买入价格,默认为0,表示以收盘价买入
Take Profit Parameter: 止盈参数,止盈价格计算公式为:Entry Price * (1 + 止盈参数),默认值为0.5%,相当于买入价格的0.5%
具体交易流程如下:
本策略具有以下优势:
本策略也存在一些风险:
对此,可通过以下方法降低风险:
本策略可以从以下方面进行优化:
本策略基于收盘价突破来产生买入信号,思路简单,回撤风险较小。通过加入确认指标、动态止盈止损、参数优化等手段,可以进一步提高策略的稳定性和盈利能力。总体来说,本策略适合对开盘突破策略感兴趣的投资者使用和优化,具有很好的实用性。
/*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")