為什麼variable:_start(q_RefPrice); 的回傳值是昨天的開盤價?

  •   127 
  • 最後發表   ICYang  2018 八月 16
ICYang 發文於   2018/08/15

variable:_high(GetField("Open"));

variable:_last(q_Last);

variable:_start(q_RefPrice);

if currentdate <> date then return;   

if time < 090000 or time > 112000 then return;

 

print(_last, _high, _start, "stop_==1");

return;

_start印出的應該是昨日的收盤價, 但我的腳本印出的是昨日的開盤價
以大成鋼印出來的結果為例:

48.550000 48.600000 44.200000 stop_==1 

昨日的收盤價明明就是48.6 為什麼它傳44.2結果出來

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2018/08/15

Hi ICYang,

您好,需要查看您的策略雷達設定才可查看問題的原因,

故請您提供:

1. 策略雷達匯出檔案,記得勾選"匯出策略雷達所包含的自訂腳本"

2. Log資料夾( C:\SysJust\XQLite\LOG )壓縮檔

3. 版號

4. 您開始執行策略雷達的時間為何?HH:MM:SS

並Mail至XQservice@XQ.com.tw ,最後附上此討論串連結,以利小幫手查看問題的原因,謝謝。

XQ小幫手 發文於   2018/08/16

Hi ICYang,

您好,請您將 Print 那一段程式碼,改為以下程式碼後,再試試看,

print(q_Last, GetField("Open"), q_RefPrice, "stop_==1");

因為您是使用變數宣告為資料欄位,在這情境下,在您早上約八點十五分執行策略雷達時,

宣告的變數僅會在第一次的執行時間,取得資料數值,之後的執行時間都不會更新數值,故這樣印出來的資料會有問題。

 

所以改為小幫手所修改的範例後,就會在每次執行腳本的時候,取得更新的資料,

印出來的資料應該就會正確,再請您試試看,謝謝。

ICYang 發文於   2018/08/16

好的 我已瞭解問題的解法了 謝謝

  • 按讚來自於
  • b24524658
發表回覆
Close