如何获取previous candle的high和low,用于设置stop loss点位
获取前一根K线高低价的实现方法
- 主流交易平台/量化框架的K线序列默认遵循统一索引规则:当前未闭合的K线索引为0,已完全收盘的前一根K线索引为1,直接按索引取值即可。
TradingView Pine Script 场景
直接通过K线属性加索引取值:
// 前一根K线最高价 prev_high = high[1] // 前一根K线最低价 prev_low = low[1]
如果需要规避跨交易日取值误差,可额外加交易日判断逻辑,普通场景直接用上述写法即可。
MT4/MT5(MQL4/MQL5)场景
调用内置iHigh、iLow函数取值:
// 取当前品种当前周期的前一根K线最高价 double prev_high = iHigh(_Symbol, _Period, 1); // 取当前品种当前周期的前一根K线最低价 double prev_low = iLow(_Symbol, _Period, 1);
Python量化框架场景
以Backtrader为例:
# 前一根K线最高价 prev_high = self.data.high[-1] # 前一根K线最低价 prev_low = self.data.low[-1]
重要提示:必须等前一根K线完全收盘、数值固定后再取值,不要在当前K线未走完时读取上一根K线的数值,避免K线波动导致取值错误、止损位设置不符合预期。如果是做空单设置止损,直接将止损价赋值为上述取到的
prev_high即可。
内容的提问来源于stack exchange,提问作者WaddyBox
相关产品推荐
相关产品推荐

