主頻率是月,要抓每年固定月份的數據,時序處理上比較麻煩。為了保留彈性,我用兩個動態陣列來記錄每年固定月份的數據。
input: MQStr("07", "分析月份", InputKind:=dict(
["一月", "01"], ["二月", "02"], ["三月", "03"], ["四月", "04"],
["五月", "05"], ["六月", "06"], ["七月", "07"], ["八月", "08"],
["九月", "09"], ["十月", "10"], ["十一月", "11"], ["十二月", "12"]));
input: myYear(10,"分析年度");
setBarFreq("M");
settotalBar(12*myYear+1);
input: percent(1,"上漲趴數");
input: BenchCount(5,"達標次數(以上)");
var: count(0),i(0);
array: Arr1[](0);
array: Arr2[](0);
Array_SetMaxIndex(Arr1,myYear);
Array_SetMaxIndex(Arr2,myYear);
if currentBar>1 and RightStr(formatMQY(date),2)=MQStr then
begin
i+=1;
Arr1[i]=rateOfChange(c,1);
Arr2[i]=year(date);
if Arr1[i]>percent then count=count+1;
end;
if isLastBar then
begin
if count>=BenchCount and close>5
and average(volume,20)>10000
then ret=1;
outputfield(1,count,0,MQStr+"月份符合的次數");
outputfield(2,Arr1[10],2,numtoStr(Arr2[10],0)+MQStr+"上漲趴數");
outputfield(3,Arr1[9],2,numtoStr(Arr2[9],0)+MQStr+"上漲趴數");
outputfield(4,Arr1[8],2,numtoStr(Arr2[8],0)+MQStr+"上漲趴數");
end;
12 評論