You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:基于Pinescript实现交易机器人23:00-00:00暂停交易功能

在Pinescript中实现指定时间段暂停交易的方案

Pinescript没有原生的sleep或pause函数,但可以通过时间区间判断跳过交易逻辑,实现每日23:00-00:00禁止交易的需求。以下是直接可用的代码示例和关键说明:

完整代码示例

//@version=5
strategy("带时段暂停的交易策略", overlay=true, default_qty_type=strategy.cash, default_qty_value=1000)

// 定义暂停交易的时间区间:每日23:00 至 次日00:00
// 注意:这里用GMT+0时区,可根据自身需求修改时区(比如GMT+8对应北京时间)
isPausePeriod = time >= timestamp("GMT+0", year, month, dayofmonth, 23, 0) and 
                time < timestamp("GMT+0", year, month, dayofmonth + 1, 0, 0)

// --------------------------
// 替换成你自己的交易信号逻辑
// --------------------------
longSignal = ta.crossover(ta.sma(close, 5), ta.sma(close, 20))  // 5均线上穿20均线做多
shortSignal = ta.crossunder(ta.sma(close, 5), ta.sma(close, 20)) // 5均线下穿20均线做空

// 核心逻辑:仅当不在暂停时段时,执行交易
if not isPausePeriod
    if longSignal
        strategy.entry("做多", strategy.long)
    if shortSignal
        strategy.entry("做空", strategy.short)

关键部分说明

  1. 时间区间判断
    用timestamp()生成当日23:00和次日00:00的时间戳,通过对比当前K线的time值,判断是否处于暂停交易窗口内,结果存在isPausePeriod变量中。

  2. 时区调整
    代码中默认用GMT+0,如果你的交易时区是北京时间(GMT+8),只需把timestamp里的时区参数改成"GMT+8"即可,这样判断的就是北京时间的23:00-00:00。

  3. 交易逻辑隔离
    所有交易触发代码(strategy.entry等)都放在if not isPausePeriod的分支里,确保暂停时段内不会执行任何交易操作。

  4. 自定义交易信号
    把示例中的longSignal和shortSignal替换成你自己的交易条件即可,比如MACD金叉、RSI超卖等。

测试建议

切换到1分钟K线周期进行回测,观察23:00前后的K线是否没有交易信号触发,验证逻辑是否生效。

内容的提问来源于stack exchange,提问作者Arvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 04:45:36