多單的position為何是-1

  •   243 
  • 最後發表   無情卻慈悲  2022 四月 12
無情卻慈悲 發文於   2022/03/23

請教一下,

問題1 : 我下圖與下列語法的多單進場,理論上多單應是部位要是1,但印出來的卻是 -1 呢?還有print成本FilledAvgPrice是17680,也是與實際上下單成功的成本17669不同,落差差滿多的,見下圖。

問題2 : 我在 C:\SysJust\XQLite\XS\Print 都沒有產生自動交易的prnt記錄,但是指標或雷達的print就會有文字檔產生,請問怎樣調整才會讓自動交易也可以有print的文字檔呢?

input: _quantity(1,"下單數量");

var:_Avg120(0),_Avg240(0),_Avg300(0);

_Avg120 =  average(close,120);
_Avg240 =  average(close,240);
_Avg300 =  average(close,300);

//→→多單進場1:
if  position <= 0  
and _Avg120 cross Over _Avg240

then begin
    SetPosition(_quantity, MARKET,label:="多單進場1");
    Print(NumToStr(date,0),NumToStr(time,0),"多單進場1","成本",NumToStr(FilledAvgPrice,0),"部位",NumToStr(position,0));
end;

 

排序方式: 標準 | 最新
無情卻慈悲 發文於   2022/03/23

 問題3:

請問這樣的錯誤訊息是何原因?

XQ小幫手 發文於   2022/03/28

Hello 無情卻慈悲,

 

1.您可以看到附圖中策略剛啟動時有調整初始部位為 (賣出) 數量:1。

所以此是策略的部位已經是 -1了。

接下來執行時符合進場條件,所以印出多單進場,須注意的是 position 是在當次腳本執行完後才會變動,因此印出時還維持在觸發當下的-1。

您可以參考 SetPosition 的說明。

 

2.若要讓自動交易運作的print也產生文字檔,除了在自動交易中心執行紀錄中使用匯出功能外,您也可以在print時搭配file指定輸出檔案位置。

這樣就會產生文字檔。

 

3.關於 Push - 未連線 的部分,目前遇過的案例都是因為網路連線不穩所造成。

如果要確認實際狀況的話,需要麻煩您提供 XQ Log 來檢驗。

Log資料夾(預設路徑:C:\SysJust\XQLite\LOG)直接壓縮後提供即可。

您可以直接將檔案上傳,如果檔案過大的話也可以Mail至客服信箱 XQservice@XQ.com.tw且務必附上 討論文章連結網址(小幫手才能盡早處理)。

感謝。

無情卻慈悲 發文於   2022/03/29

你好,我先回覆一下Q2

原本print的路徑是 C:\SysJust\XQLite\XS\Print

而您意思是自動交易的話無法自動在此資料夾留下文字檔,須手動寫一個路徑讓它存嗎

XQ小幫手 發文於   2022/04/06

Hello 無情卻慈悲,

 

如果您使用在自動交易即時的狀況下,需要特別指定路徑才會輸出檔案,不然就只會顯示在自動交易中心的執行紀錄中。

您亦可以指定原本的預設路徑,並沒有限制需要使用什麼特別的路徑。

無情卻慈悲 發文於   2022/04/06

你好,

因為我跑在跑自動交易時,在原本print的路徑是 C:\SysJust\XQLite\XS\Print

都看不到文字檔,而腳本中也有下print指令了,所以才會有此一問。

請問 C:\SysJust\XQLite\XS\Print 中沒有print的自動交易文字檔,但指標、雷達會有,這樣要怎樣處理呢?

XQ小幫手 發文於   2022/04/12

Hello 無情卻慈悲,

 

如同小幫手上面所說,您需要使用file函數指定輸出檔案位置,這樣在自動交易中心即使運作的狀況下,指定路徑才會有print的檔案。

講的更白話一點,您這樣寫:

Print(File("C:\SysJust\XQLite\XS\Print\"), date, time, close);

就會在 C:\SysJust\XQLite\XS\Print\ 的位置輸出一個print資訊的檔案。

發表回覆
Close