變數紀錄創新高價格, 但要使用時卻變為0

  •   115 
  • 最後發表   LeoTsai  2022 十二月 28
LeoTsai 發文於   2022/12/26

Input:intime(090300, "進場時間時間, 最大不能超過132450");

value1=GetField("最高價", "D");

 

if Position =0 and currenttime > intime then

begin

    SetPosition(-1, Market);

todayhigh = value1; {進場時記錄當下高點}

         print("datryede.txt", "In", todayhigh);

end;

 

if Position <> 0 then

begin

 

 

if closeD(0) > todayhigh then {過今日高點並寫下log}

begin

setposition(0,Market);

print("datryede.txt", "out", closeD(0), todayhigh, HighD(0));{<----此行顯示todayhigh是0.0}

end;

end;

 

求解該行 print("datryede.txt", "out", closeD(0), todayhigh, HighD(0));  

為什麼取得的是0.0?  或是我該怎麼調整?

 

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

Hello LeoTsai,

 

小幫手沒看到您宣告 todayhigh 變數的部分和交易策略的設定,所以不能確定。

不過若您是使用逐筆洗價的話,宣告變數時可以加上 intrabarpersist,讓變數保存洗價間的數值。

若還是有問題的話,麻煩您提供 交易策略匯出檔勾選(包含)交易腳本 或是 回測的相關設定 來檢驗。

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

感謝。

發表回覆
Close