請問我在Position=0時執行SetPosition(1,market);卻没有買進

  •   289 
  • 最後發表   比胖還胖  2024 七月 30
比胖還胖 發文於   2024/07/22

//09:05後選單內各買一張

 

var:tda(0),now(0),msg(""),finsh("");

 

tda = currentDate;

now = currentTime;

 

if currentTime > 090500 and currentTime <132400

and Position = 0 

and position = filled

then begin

 

//SetPosition(position+1,market);

SetPosition(1,market);

print(file("d:\XQ選單內各買一張.txt"),datetoString(tda)," ",hour(now)," ",minute(now)

," ",symbolName," ",symbol," 買進張數 = ",position+1," Position = ",Position," Filled = ",Filled,finsh);

finsh = " 執行完畢";

msg = text(tda," ",now," ",symbolName," ",symbol,finsh);

raiseRunTimeError(msg);

end;

 

//列印成果

//2024/07/22   9.000000   5.000000   XX   ####.TW  張數 = 1 Position =  0.000000  Filled =  0.000000  

 

//raiseRunTimeError顯示

//原因:執行時發生錯誤(1301)raiseRunTimeError:20240722.000000 131019.000000 XX ####.TW 執行完畢

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/07/22

要當次洗價完成,position及filled才會更新。你送出委託之後就中斷策略執行,沒有機會在下次洗價顯示部位為1。

比胖還胖 發文於   2024/07/22

謝謝你,我再試試

XS小編 發文於   2024/07/30

Hello 比胖還胖,

 

小編補充,您可以參考 SetPosition 函數的說明,裡面有講解交易指令是如何運作的。

感謝 虎科大許教授 的熱心回覆。

發表回覆
Close