Hello shuyen,
平均可以用average來計算。
所以您的腳本可以這樣寫:
setbackbar(60); //最少需要60根Bar的資料 (算平均)
settotalbar(1); //預讀筆數
value1 = average(close, 5);
value2 = average(close, 10);
value3 = average(close, 20);
value4 = average(close, 60);
condition1 = value1 > value2 and value2 > value3 and value3 > value4;
condition2 = volume > (average(volume[1], 10) * 5) and average(volume[1], 10) > 500; //當根成交量 > 前10根60分K平均成交量的5倍,如果要當日成交量的話可以改用 GetField("Volume", "D")
condition3 = close > highest(high[1], 5);
if condition1 and condition2 and condition3 then ret = 1;
另外 q_DailyVolume 這種 q_ 開頭的欄位是報價欄位,只能用在即時不能用再回測,並提供最新資料。
可以用在60分鐘頻率。
您當日的單量累積起來,其實就跟日頻率的成交量相同,所以不用另外特別計算,只要使用GetField("Volume", "D")就會取得開盤到腳本運算當下的成交量。
如果您一定要嘗試的話,可以參考ReadTicks函數。
此函數可以把兩次洗價間的所有tick資訊抓出,接著您就可以累加成交量。
小幫手建議您可以先閱覽網站裡的教學區,裡面有XS語法的基礎和應用。
1 評論