如何修改Pine Script代码实现太平洋时间13:00平仓所有头寸?
代码修改方案
原代码存在几个关键问题,需要调整才能实现太平洋时间13:00平仓所有头寸的需求,具体修改点如下:
指定太平洋时区并获取小时:
原代码的currentHour未关联时区,默认使用图表本地时区。需通过time函数指定太平洋时区(America/Los_Angeles)来提取对应小时:desiredHour = 13 pacificHour = hour(time(timezone="America/Los_Angeles")) isOnePM = pacificHour == desiredHour替换平仓函数:
strategy.close("ExitAll")需要匹配具体头寸的标识符,若要平所有头寸,直接使用strategy.close_all()更可靠,无需指定合约名称:if (isOnePM) strategy.close_all()避免重复触发平仓:
为防止13:00整小时内每根K线都执行平仓操作,可添加条件确保仅在小时切换到13:00时触发一次:isOnePM = pacificHour == desiredHour and pacificHour != hour(time[1], timezone="America/Los_Angeles")
完整修改后的代码:
//@version=5 strategy("Pacific Time 13:00 Close All", overlay=true) desiredHour = 13 pacificHour = hour(time(timezone="America/Los_Angeles")) // 仅在小时切换到13:00时触发一次 isOnePM = pacificHour == desiredHour and pacificHour != hour(time[1], timezone="America/Los_Angeles") if (isOnePM) strategy.close_all()
内容的提问来源于stack exchange,提问作者Elgato50
相关产品推荐
相关产品推荐

