本策略是一个基于市场价格形态识别的量化交易系统,主要通过识别123点位反转形态来捕捉市场潜在的反转机会。策略结合了动态持仓期管理和移动平均线过滤,通过多重条件验证来提高交易的准确性。该策略采用精确的数学模型来定义入场点,并使用200日均线作为辅助退出条件,形成了一个完整的交易系统。
策略的核心逻辑基于价格形态识别,具体包含以下关键要素:
1. 入场条件设计
- 当日最低价需低于前一日最低价
- 前一日最低价需低于3天前最低价
- 2天前最低价需低于4天前最低价
- 2天前最高价需低于3天前最高价
以上四个条件同时满足时,系统会发出做多信号。
该策略通过严格的形态识别和完善的风险控制体系,为交易者提供了一个可靠的市场反转捕捉工具。虽然存在一定的局限性,但通过持续优化和适当的参数调整,该策略能够在不同市场环境下保持稳定的表现。建议交易者在实际应用中结合市场经验,对策略进行针对性调整,以获得更好的交易效果。
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © EdgeTools //@version=5 strategy("123 Reversal Trading Strategy", overlay=true) // Input for number of days to hold the trade daysToHold = input(7, title="Days to Hold Trade") // Input for 20-day moving average maLength = input(200, title="Moving Average Length") // Calculate the 20-day moving average ma20 = ta.sma(close, maLength) // Define the conditions for the 123 reversal pattern (bullish reversal) // Condition 1: Today's low is lower than yesterday's low condition1 = low < low[1] // Condition 2: Yesterday's low is lower than the low three days ago condition2 = low[1] < low[3] // Condition 3: The low two days ago is lower than the low four days ago condition3 = low[2] < low[4] // Condition 4: The high two days ago is lower than the high three days ago condition4 = high[2] < high[3] // Entry condition: All conditions must be true entryCondition = condition1 and condition2 and condition3 and condition4 // Exit condition: Close the position after a certain number of bars or when the price reaches the 20-day moving average exitCondition = ta.barssince(entryCondition) >= daysToHold or close >= ma20 // Execute buy and sell signals if (entryCondition) strategy.entry("Buy", strategy.long) if (exitCondition) strategy.close("Buy")