以下是contract1~5 內容是上週選擇權的履約價
會先這樣input是會在之後的跨商品帶入數值//GetSymbolField(contract1, "收盤價" )
contract1("TXON04C20200.TF")為例
我希望只取出他的履約價 也就是"20200" 作為數值計算
用變數時可以正常帶入
contractPrice01=MidStr(contract01,8,5); //擷取履約價文字"20200"
contractNum01=strtoNum(contractPrice01); //將文字轉為"數值20200"
但是input數量多時程式碼長很眼花
因此想用for迴圈處理
但是在for迴圈 時 用 text("contract",j)
陣列會被存為"文字" 且 MidStr(contract1,8,5) 會變成 "t1"//"contract1"沒有被作為input帶入
又將陣列存成"數值"時 MidStr錯誤(參數1不是文字)
還請小幫手協助
inputs:
contract1("TXON04C20200.TF"),
contract2("TXON04C20150.TF"),
contract3("TXON04C20100.TF"),
contract4("TXON04C20050.TF"),
contract5("TXON04C20000.TF"),
arrays:contName[5](""),contNum[5](0);
var:i(1),j(1);
for j = 1 to 2
contName[j]=(text("contract",j);
end;
for i = 1 to 2
begin
contNum[i]=strtoNum(MidStr(contName[j],8,5));
2 評論