我的設置是 SA+ 真回報,Bar內交易
開倉語句做多為例:
Buy ( "L1" ) lots contract Next Bar At xxx Limit;
加倉:Buy ( "L2" ) lots contract Next Bar At xxx-y Limit;
?
平倉語句:
Sell From Entry("L1") lots contract Next Bar At xxx+n limit;
Sell From Entry("L2") lots contract Next Bar At xxx limit;
?
當平倉L2發生的時候(此時L1還沒有平倉),平倉后下一個Tick打印測試發現 print(PosTradeEntryName(0,0),"-",PosTradeEntryName(0,1));
打印的結果為L1,L2;也就是說L1,L2依舊存在,而實際上L2已經平掉了,平倉沒有使用 From Entry!
求助...是哪里設置的問題嗎?
?
首先,這個不是bug,關于pos系列關鍵字的用法理解起來有一點點費事。
第一、公式編譯器”字典“-”strategy position trades"中的open系列和pos系列關鍵字,見附圖
第二、關于這兩個系列關鍵字的區別,我舉一個例子:在bar編號為50時,買入進場30手(進場名稱是"L1"),在bar編號為100時,買入進場20手(進場名稱是"L2"),此時openentriescount返回值是2,postradecount(0)返回2;在bar編號為150時將"L1"平倉,那么此時openentriescount返回值是1,postradecount(0)返回2;在bar編號為200時將"L2"平倉10手,那么此時openentriescount返回值是1,postradecount(0)返回3
第三、舉了上面一個例子,其實并沒有完全將這兩個系列解釋清楚,后期會寫一個專門的帖子來介紹。總而言之,open系列關鍵字返回的是實時的持倉信息,而pos系列關鍵字始終保存歷史的進場出場信息,可以使用關鍵字postradeisopen來判斷當前進場是否有持倉。