#想用在多周期共振 ,或者抢险判断(30分钟线上29分的时候判断) input:Freq(30);//30分 var:Open_Temp(0),Close_Temp(0),High_Temp(0),Low_Temp(0),Cnt(0); Array:Open_Buff[100](0),Close_Buff[100](0),High_Buff[100](0),Low_Buff[100](0); #不能超过设定的分钟 否则变为日线 var1 = TimeToMinutes(stime)%Freq; #返回分钟 / 30的余数 #30分钟周期每次30-1=29分的时候判断 #if dayindex == 0 or (var1==Freq-1)) # 新的一天 或者 时间> 上次时间但是 余数小于上次 if dayindex == 0 or (var1[0]<var1[1] and stime[0]>stime[1]) Then { #1.线移位,腾出Buff[0]空间 for Cnt=1 to 99{ Open_Buff[Cnt]=Open_Buff[Cnt-1]; Close_Buff[Cnt]=Close_Buff[Cnt-1]; High_Buff[Cnt]=High_Buff[Cnt-1]; Low_Buff[Cnt]=Low_Buff[Cnt-1]; #求平均值什么的算法可以在这里设置 } #2.收集的值给Buff[0] Open_Buff[0]=Open_Temp; Close_Buff[0]=Close_Temp; High_Buff[0]=High_Temp; Low_Buff[0]=Low_Temp; #3.新的开始 High_Temp=High;#给初值 Low_Temp=Low; #给初值 Close_Temp=Close; #给初值 Open_Temp=Open;#给初值 } if High>High_Temp then High_Temp=High;//找更高的值 if Low <Low_Temp then Low_Temp=Low; //找更低的值 Close_Temp=Close; #不断更新要最后一个值 plot1(Open_Buff[0],"Open"); plot2(High_Buff[0],"High"); plot3(Low_Buff[0],"Low"); plot4(Close_Buff[0],"Close");
原文:https://www.cnblogs.com/kingboy100/p/13053348.html