CB轉換價格 交易腳本 取值問題

  •   419 
  • 最後發表   TommyTommy  2025 二月 18
TommyTommy 發文於   2025/02/11

GetSymbolInfo("轉換價格");

GetField("轉換價格");

以上兩個在交易腳本內 跑CB資料
使用Print 輸出都是0 再麻煩確認~

排序方式: 標準 | 最新
虎科大許教授 發文於   2025/02/11

看起來似乎有問題,連GetSymbolInfo("轉換價格")也是傳回0。

  • 按讚來自於
  • lin103084
XS小編 發文於   2025/02/14

 Hello TommyTommy,

 

小編這邊測試也有相同狀況,會請相關人員確認。

TommyTommy 發文於   2025/02/14

還有在交易腳本使用"標的物"取值都會有誤,指標取值則無問題

以GetsymbolField / Date為例

Date;
GetsymbolField("標的物", "參考價", "D"); GetsymbolField("標的物", "open", "D"); GetsymbolField("標的物", "high", "D"); GetsymbolField("標的物", "low", "D"); GetsymbolField("標的物", "Close", "D");

 

2025/02/14 使用該交易腳本執行CB商品
CB  99587為例
標的物 9958 取到的值是 20241127 的資料

 交易腳本如下

Var: intraBarPersist Count(0);
Var: _symbol("");

_symbol = GetSymbolInfo("標的物");
value1 = CurrentDate;
value2 = Date;
value3 = GetsymbolField("標的物", "參考價", "D");
value4 = GetsymbolField("標的物", "open", "D");
value5 = GetsymbolField("標的物", "high", "D");
value6 = GetsymbolField("標的物", "low", "D");
value7 = GetsymbolField("標的物", "Close", "D");

if Count = 0 then begin
    Count +=1;
    Print("CurrentDate:", NumToStr(value1,0),
          ",標的物:", _symbol,       
          ",Date:",  NumToStr(value2,0),
          ",參考:",  NumToStr(value3,0),
          ",O:",  NumToStr(value4,0),
          ",H:",  NumToStr(value5,0),
          ",L:",  NumToStr(value6,0),
          ",C:",  NumToStr(value7,0)    
          );
end;


使用指標則無問題,查看CB 都是回傳2025/02/14當天標的物資料

指標腳本如下

value1 = CurrentDate;
value2 = Date;
value3 = GetsymbolField("標的物", "參考價", "D");
value4 = GetsymbolField("標的物", "open", "D");
value5 = GetsymbolField("標的物", "high", "D");
value6 = GetsymbolField("標的物", "low", "D");
value7 = GetsymbolField("標的物", "Close", "D");


plot1(value1, "CurrentDate");
plot2(value2, "Date");
plot3(value3, "參考");
plot4(value4, "開");
plot5(value5, "高");
plot6(value6, "低");
plot7(value7, "收");

 

 

虎科大許教授 發文於   2025/02/14

轉換價格取不到值的問題已解決。

//選股範圍:台(可轉債)

ret=1;

outputField1(GetSymbolInfo("可轉換日"));

outputField2(GetSymbolInfo("轉換價格"));

虎科大許教授 發文於   2025/02/15

有關交易腳本抓標的物的商品代號錯誤問題,你可以針對所有台股可轉債,print它們的現貨商品代號、參考價、開高低收等價格。我測試了,結果是正確的。

//執行商品:看盤應用分類->台股可轉債

Var: _symbol("");

_symbol = GetSymbolInfo("標的物");

print(

date,

_symbol,

GetSymbolField("Underlying", "參考價", "D"),

GetSymbolField("Underlying", "開盤價", "D"),

GetSymbolField("Underlying", "最高價", "D"),

GetSymbolField("Underlying", "最低價", "D"),

GetSymbolField("Underlying", "收盤價", "D")

);

TommyTommy 發文於   2025/02/15

教授您好,交易腳本取值"轉換價格"問題
選股部分output 是沒問題

//選股範圍:台(可轉債)

ret=1;

outputField1(GetSymbolInfo("可轉換日"));

outputField2(GetSymbolInfo("轉換價格"));


將上述選股結果直接在交易腳本執行Print
結果如下,有些有,大部分則沒有

Var: intraBarPersist Count(0);
Var: _symbol("");

_symbol = GetSymbolInfo("Underlying");
value1 = CurrentDate;
value2 = Date;
value3 = GetsymbolField("Underlying", "參考價", "D");
value4 = GetsymbolField("Underlying", "open", "D");
value5 = GetsymbolField("Underlying", "high", "D");
value6 = GetsymbolField("Underlying", "low", "D");
value7 = GetsymbolField("Underlying", "Close", "D");

Value8 = GetSymbolInfo("轉換價格");
Value9 = GetField("轉換價格");


if Count = 0 then begin
    Count +=1;
    Print("CurrentDate:", NumToStr(value1,0),
          ",標的物:", _symbol,       
          ",Date:",  NumToStr(value2,0),
          ",參考:",  NumToStr(value3,0),
          ",O:",  NumToStr(value4,0),
          ",H:",  NumToStr(value5,0),
          ",L:",  NumToStr(value6,0),
          ",C:",  NumToStr(value7,0),
          ",轉換價格Info:",  NumToStr(value8,2),
          ",轉換價格Field:",  NumToStr(value9,2)

          );
end;

 

 

 

虎科大許教授 發文於   2025/02/15

嗯,選股腳本可以顯示轉換價格,但交易腳本GetSymbolInfo("轉換價格")及GetField("轉換價格")卻顯示0。問題已反映,但還沒處理好。

  • 按讚來自於
  • lin103084
XS小編 發文於   2025/02/18

Hello TommyTommy,

 

經相關人員確認,因為交易腳本背後取資料的邏輯和其他腳本不同,故出現0是因為沒有抓到資料的緣故。

只要加上 setbackbar 並指定資料引用筆數 (視您的腳本而定,但轉換價格只要有一筆就可以抓到) 就可以取得印出相關資訊。

 

另外會印出不同日期的標的物資訊是因為 Count 變數在資料讀取筆數運算時就印出並改變,因此並不是執行當下的資訊。

(CurrentDate在即時的狀況下只會印出當下的日期,就算是在資料讀取筆數也一樣)。

您可以將條件改為 if Count = 0 and getinfo("IsRealTime") = 1 then begin,來確保print指令只會在即時的狀況下運行。

發表回覆
Close