請問IntrabarPersist這個語法用在股票期貨(自動交易)是不是有問題,如果變數有用到IntrabarPersist或是once,程式條件符合就不會觸發,一旦刪除IntrabarPersist,或是將once改成if,就不會有問題。我想要程式只觸發一次,同樣程式用在監控股票上面沒問題,但是將標的改為股票期貨則不會觸發。
        
        IntrabarPersist語法問題
- 185
 - 最後發表 Zhenwen 2023 十二月 08
 
                    Zhenwen
                    發文於
                    
                     
                    2023/12/05
                   
                
            variable:intrabarpersist vresult("");
if volume > volume[1] and close > 50 and volume > 100 and vresult=""
then
begin
alert(GetSymbolInfo("Underlying"));
vresult="Y";
end;
                    XQ小幫手
                    發文於
                    
                     
                    2023/12/08
                   
                
            Hello Zhenwen,
請注意在資料讀取筆數運算時變數也會改變。
就以您上面的腳本來看,若在資料讀取變數運算時條件就符合的話, vresult 就已經變為Y,那麼到即時運算時alert自然不會被觸發。
可以在腳本裡加上print會更容易理解。
要避開這個狀況的話,可以用 getinfo("isrealtime") 來判斷腳本是否在即時區間執行。
 
            
        
            
2 評論