value2=getbaroffset(20200319);//指定2020年03月19日為比較基準日
value3=LowAD[value2];
setoutputname2("3/19還原最低價");
outputfield2(value3);//取得3/19日還原最低價
請問上述腳本value3=Low[value2] AD 還原 之描述要放哪?
value2=getbaroffset(20200319);//指定2020年03月19日為比較基準日
value3=LowAD[value2];
setoutputname2("3/19還原最低價");
outputfield2(value3);//取得3/19日還原最低價
請問上述腳本value3=Low[value2] AD 還原 之描述要放哪?
If Symbol = "2303.TW" then ret=1;
Print("商品名稱", SymbolName);
value2=getbaroffset(20200319);//指定2020年03月19日為比較基準日
value3=GetField("最低價","AD")[value2];
setoutputname2("3/19還原最低價");
outputfield2(value3,2);//取得3/19日還原最低價
您好!根據您的建議改寫成上述腳本,聯電(2303)3月19日還原最低價正確應為12.47
但上述腳本跑出來的結果為31.9 根據查得的為11月19日還原最低價.
所以腳本應該有誤?
小詹 您好
請確認您的"資料讀取筆數"設定為合乎計算的值
相關介紹如下
小幫手這邊幫您測試 數值是沒問題的
應該是您資料讀取筆數設太小所致

SetTotalBar(1000);
If Symbol = "2303.TW" then ret=1;
Print("商品名稱", SymbolName);
Var: mm(0),nn(0);
value1=GetField("收盤價","AD");
setoutputname1("本日還原收盤價");
outputfield1(value1,2);//取得本日還原收盤價
value2=getbaroffset(20200319);//指定2020年03月19日為比較基準日
value3=GetField("最低價","AD")[value2];
setoutputname2("3/19還原最低價");
outputfield2(value3,2);//取得3/19日還原最低價
mm = Month(GetFieldDate("月營收","M"));
if mm=2 then
begin
value4= GetField("月營收","M");
end;
mm = Month(GetFieldDate("月營收","M"));
if mm=3 then
begin
value5= GetField("月營收","M");
value6=(value4+value5)/2;
end;
value7=GetField("月營收","M");
if value7<>0 then
setoutputname3("本月營收");
outputfield3(value7,2);//取得本日當月營收
if value4<>0 then
setoutputname4("2月營收");
outputfield4(value4,2);
if value5<>0 then
setoutputname5("3月營收");
outputfield5(value5,2);
if value6<>0 then
setoutputname6("2與3月之平均營收");
outputfield6(value6,2);
setoutputname7("還原股價成長率");
outputfield7(value1/value3,2);//比較還原當日股價與還原最低股價成長率
setoutputname8("月營收成長率");
outputfield8(value7/value6,2);//比較當日當月營收與最低平均月營收成長率
setoutputname9("還原股價營收成長率");
outputfield9((value1/value3)/(value7/value6),2);
奇怪!上述腳本聯電3月19日還原最低價為34.8;不是12.47.請問問題出在哪裡?
小詹 您好
請您幫我確認一下下圖紅色圈起來的地方
是否是指定"還原日"頻率?

因為您要抓取還原日資料
如果用其他頻率的話,會發生問題
---
如果還是有疑問 請提供完整的
選股策略匯出檔案(*.DSTX)匯出時記得勾選包含選股腳本。
感謝
5 評論