XS語法何處有誤?

  •   71 
  • 最後發表   XQYi  2023 十一月 22
XQYi 發文於   2023/11/20

S腳本

if close cross under value51

and (value1 <= value1[1] or value1 < 0)

and average(value21,5) < 0

and (value33 <= value33[1] or Value33 < 0 )

and (value43 <= value43[1] or value43 <=0)

{and close[1] > value51 }

then ret=1;

B腳本

if close cross under value51

and (value1 <= value1[1] or value1 < 0)

and average(value21,5) < 0

and (value33 <= value33[1] or Value33 < 0 )

and (value43 <= value43[1] or value43 <=0)

{and close[1] > value51 }

then begin

value61=close;

end;

if close <= value61*0.995 then ret=1;

這兩個當沖腳本是ˋ希望先賣後買, 但是執行時,買的訊號會提早發生

如何把資料抓取時間設在開盤前一分鐘或前一筆資料開始,避免從 前一個訊號點開始計算?

XQ小幫手 發文於   2023/11/22

Hello xqyi,

 

策略雷達本身並沒有庫存的概念,單純是運算判斷條件是否符合,符合的話觸發。

如果您希望先觸發S腳本後B腳本才可以觸發,可以考慮將S腳本的條件一併寫入B腳本,並用變數紀錄是否有觸發。

需注意在腳本資料讀取筆數時條件一樣有可能符合 (變數因此改變),可以用 GetInfo 來避開。

建議您使用交易腳本搭配position和filled來控制會較適合。

發表回覆
Close