求获取当日交易止损值的变量代码(用于指标,非策略)
Pine Script 指标中获取当日交易止损值的实现代码
由于指标无法直接调用策略模块的交易记录函数,要获取当日交易止损值,需通过跟踪自定义交易信号+跨bar保存止损数据的方式实现,以下是完整示例代码:
//@version=5 indicator("当日止损跟踪指标", overlay=true) // 自定义入场信号(可根据你的交易逻辑替换) longSignal = ta.crossover(ta.sma(close, 5), ta.sma(close, 20)) shortSignal = ta.crossunder(ta.sma(close, 5), ta.sma(close, 20)) // 计算止损值(示例用ATR止损,可替换为固定点数/百分比等规则) atr = ta.atr(14) longLevel = close - atr * 1.5 shortLevel = close + atr * 1.5 // 用var变量跨bar保存当日止损值,避免每次bar刷新重置 var float dailyLongStop = na var float dailyShortStop = na // 识别新交易日,重置当日止损数据 isNewSession = ta.change(time("D")) != 0 if isNewSession dailyLongStop := na dailyShortStop := na // 触发入场信号时,更新对应方向的止损值 if longSignal dailyLongStop := longLevel if shortSignal dailyShortStop := shortLevel // 可视化止损线(可根据需求调整显示逻辑) plot(dailyLongStop, color=color.new(color.green, 0), title="当日多单止损", linewidth=2) plot(dailyShortStop, color=color.new(color.red, 0), title="当日空单止损", linewidth=2)
关键说明:
var关键字:确保止损值在bar刷新时不会被重置,仅在新交易日或新入场信号触发时更新- 止损规则自定义:你可以把示例中的ATR止损替换为固定点数(如
close - 50 * syminfo.mintick)、百分比止损(如close * 0.98)等符合你需求的规则 - 入场信号替换:将示例中的均线交叉信号替换为你实际使用的交易触发条件即可
内容的提问来源于stack exchange,提问作者user20738800
相关产品推荐
相关产品推荐

