[交易系统]动态突破系统
http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=8277
有哪个好心人请帮忙添加一些注释!
input:ceilingamt(60,15,80,5){????},flooramt(20,5,40,5){???},bolbandtrig(2,1,5,0.5){???};
variable:lookbackdays=20; //突破周期
todayvolatility:=std(close,30); //30周标准差
yesterdayvolatility:=std(ref(close,1),30); //前周标准差
deltavolatility:=(todayvolatility-yesterdayvolatility)/todayvolatility; //估算差波动率
lookbackdays:=lookbackdays*(1+deltavolatility); //突破周期*波动率
lookbackdays:=round(lookbackdays);
lookbackdays:=min(lookbackdays,ceilingamt); // 跟下一句可能有冲突????
lookbackdays:=max(lookbackdays,flooramt); // ???????
mid:=ma(close,lookbackdays);
upband:=mid+bolbandtrig*std(close,lookbackdays);
dnband:=mid-bolbandtrig*std(close,lookbackdays);
buypoint:=ref(hhv(high,lookbackdays),1);
sellpoint:=ref(llv(low,lookbackdays),1);
longliqpoint:=ma(close,lookbackdays);
shortliqpoint:=ma(close,lookbackdays);
input:ceilingamt(60,15,80,5){????},flooramt(20,5,40,5){???},bolbandtrig(2,1,5,0.5){???}; //这些语句是声明了可输入的参数,
具体参考下面
申明并设置参数
语法:
INPUT:PNAME1(DFT,MIN,MAX,STEP),PNAME2(DFT,MIN,MAX,STEP)...;
PNAME表示参数名, DFT表示缺省值
MIN表示最小值,MAX表示最大值
STEP表示优化步长,除DEFAULT外都可省略
例如:
INPUT:N(5), M(10,1,100,2);
表示定义参数N,缺省值为5
定义参数M,缺省值为10,最小值为1,最大值为100,优化步长为2
所属函数组:控制语句
lookbackdays:=min(lookbackdays,ceilingamt); // 跟下一句可能有冲突????
求最小值。
用法:
MIN(A,B)返回A和B中的较小值
例如:MIN(CLOSE,OPEN)返回开盘价和收盘价中的较小值
所属函数组:数学函数
lookbackdays:=max(lookbackdays,flooramt); // ???????
求最大值。
用法:
MAX(A,B)返回A和B中的较大值
例如:MAX(CLOSE-OPEN,0)表示若收盘价大于开盘价返回它们的差值,否则返回0
所属函数组:数学函数
lookbackdays:=min(lookbackdays,ceilingamt); // 取两个数中的较小值
lookbackdays:=max(lookbackdays,flooramt); // 取两个数中的较大值
mid:=ma(close,lookbackdays); //中线---收盘价的N--lookbackdays日移动平均
upband:=mid+bolbandtrig*std(close,lookbackdays);//上轨---中线加偏移值
dnband:=mid-bolbandtrig*std(close,lookbackdays);//下轨---中线减偏移值
buypoint:=ref(hhv(high,lookbackdays),1);//当前周期之前lookbackdays周期最高价
sellpoint:=ref(llv(low,lookbackdays),1);//当前周期之前lookbackdays周期最低价
longliqpoint:=ma(close,lookbackdays);//收盘价的N--lookbackdays日移动平均
shortliqpoint:=ma(close,lookbackdays);//同上一句