商品為台指期貨(FITXN*1.TF),頻率1分,沒有逐筆洗價。
如底下腳本,
close >= 9050 and close < 9150,value1為9200C商品,
close >= 8950 and close < 9050,value1為9100C商品,
假設09:51~10:01,台指close為9100,9:50以前close為9000。
那我出現的問題是,當現在10點01分,所以value1就是9200C,而highest(value1[1], 20)會抓到9100C的商品而造成計算錯誤。
我最直接的想法是以現在10:01台指為9100為主,value1是9200C的序列價格,所以不管前20期的close是否有符合 close >= 9050 and close < 9150的條件,highest(value1[1], 20)都應該是要執行9200C的價格序列來抓取資料。
但是實際上,highest(value1[1], 20)抓到的資料是,(0951~1000是9200C的值)與(0941~0950是9100C的值)的最大值,想請問這是bug還是原本語法設定就是如此?
---------------------------
if close >= 9050 and close < 9150 then
value1 = GetSymbolField("TX4N03C9200.TF","最高價","1")
else if close >= 8950 and close < 9050 then
value1 = GetSymbolField("TX4N03C9100.TF","最高價","1");
print(file("c:\print\printtest.log"), date, CurrentTime, value1, highest(value1[1], 20));
1 評論