可能您對函數的邏輯沒有太理解;
您使用的這個opendy、closedy、lowdy、highdy返回的指定日期的開盤價、收盤價、最低價和最高價,而這4個函數對天的劃分是根據15:00來劃分的。opendy(1)、closedy(1)、lowdy(1)、highdy(1)返回的是前一天的開盤價、收盤價、最低價和最高價,它們只會在夜盤開始時變化(例如,沒有開啟bar內模式,就是在夜盤開始的第一根bar收盤時變化,取前一個交易日的開盤價、收盤價、最低價和最高價)。若您需要取當天的最盤價、收盤價、最低價和最高價,可以使用opendy(0)、closedy(0)、lowdy(0)、highdy(0),這4個會實時變化,它們會統計從當前交易日開始到當根bar的開盤價、收盤價、最低價和最高價。
另外,這個關鍵字sess2endtime對于內盤期貨商品來說是1500,而您的代碼中有IF判斷語句 if time[1]=sess2endtime,所以value2只會在1500之后更新一次,所以通過print輸出出來的值只會在1500之后的第一根bar進行更新。
?
可能您對函數的邏輯沒有太理解;
您使用的這個opendy、closedy、lowdy、highdy返回的指定日期的開盤價、收盤價、最低價和最高價,而這4個函數對天的劃分是根據15:00來劃分的。opendy(1)、closedy(1)、lowdy(1)、highdy(1)返回的是前一天的開盤價、收盤價、最低價和最高價,它們只會在夜盤開始時變化(例如,沒有開啟bar內模式,就是在夜盤開始的第一根bar收盤時變化,取前一個交易日的開盤價、收盤價、最低價和最高價)。若您需要取當天的最盤價、收盤價、最低價和最高價,可以使用opendy(0)、closedy(0)、lowdy(0)、highdy(0),這4個會實時變化,它們會統計從當前交易日開始到當根bar的開盤價、收盤價、最低價和最高價。
另外,這個關鍵字sess2endtime對于內盤期貨商品來說是1500,而您的代碼中有IF判斷語句 if time[1]=sess2endtime,所以value2只會在1500之后更新一次,所以通過print輸出出來的值只會在1500之后的第一根bar進行更新。