2.2xx 时期的版本穷举参数优化速度也不慢。 出来虚拟内存后速度确实慢一些。
但,记得说过不用虚拟内存速度会提高?
公式测试-禁用虚拟内存 关与开似乎影像不大
选项-内存-禁用虚拟内存 没理解这个和公式测试有关系否。
总之遗传算法确实速度好,但早先穷举速度慢了。 是否在优化优化穷举效率?
还是说我设置错误? 可对比2.3xx 与 2.2xx 同样代码真的是早先版本效率好一些。
穷举绝对有问题 , 36次优化 需要 10分钟,这不科学。 早前只要几秒。
还特地搞了个新虚拟机测试2997的版本,不是金字塔版本问题,与统计函数有关。
总:=BARSCOUNT(C);
最大:hhv(ADX,总),NODRAW;
最小:llv(ADX,总),NODRAW;
上面3行干掉立马秒速。。。 可这个我只是图标上参考下最大最小波动在哪里, 参数优化时候也参与吗?
以下是引用FexTel在2014/7/28 8:49:17的发言:
1,新版使用虚拟内存对应的处理速度会相对慢一点
2,这个我们要本地验证下,ADX取的是什么?
提供源代码
TA00 5分钟 参数优化 kick 时间 2010年1月1日 2014年7月1日 , 单参数优化都慢,但是取消掉上面关于统计那部分立马秒速。
虚拟内存关闭照旧是慢。。。不知道为何这么统计函数上去后速度慢的太多太多。
INPUT:M(12,4,60,2),P(104,40,130,2);
INPUT:20K(20,10,30,1),50K(50,50,70,1);
INPUT:KICK(100,50,120,2); //止损点
INPUT:SS(1,1,10,1);
//DMI中间变量
TR1 := SUM(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(LOW-REF(CLOSE,1))),M);
HD := HIGH-REF(HIGH,1);
LD := REF(LOW,1)-LOW;
PDM:= SUM(IF(HD>0 AND HD>LD,HD,0),M);
MDM:= SUM(IF(LD>0 AND LD>HD,LD,0),M);
PDI:PDM*100/TR1,NODRAW;
MDI:MDM*100/TR1,NODRAW;
ADX:MA(ABS(MDI-PDI)/(MDI+PDI)*100,P),NOAXIS;
ADXR:=(ADX+REF(ADX,P))/2;
//交易条件
开多条件:=CROSS(PDI,MDI) and ADX>20K and ADX>ref(ADX,1);//开多
平多条件:=CROSS(50K,ADX);
开空条件:=CROSS(MDI,PDI) and ADX>20K and ADX>ref(ADX,1);//开空
平空条件:=CROSS(50K,ADX);
//交易系统
if ref(平空条件,1) then begin
sellshort(holding<0,holding,limitr,open); //平空
end
if ref(开多条件,1) then BEGIN
buy(holding=0,SS,limitr,open); //开多
end
if REF(平多条件,1) then begin
sell(holding>0,holding,limitr,open); //平多
end
if REF(开空条件,1) then BEGIN
buyshort(holding=0,SS,limitr,open); //开空
end
// 移动止损
最高:=HHV(H,OPENBAR+1);
最低:=LLV(L,OPENBAR+1);
多头止损:if(holding>0,最高-KICK,DRAWNULL);
空头止损:if(holding<0,最低+KICK,DRAWNULL);
IF L<最高-KICK and H-L多损:SELL(holding>0,holding,MARKETR);
END
IF H>最低+KICK and H-L空损:SELLSHORT(holding<0,holding,MARKETR);
END
//运行状态
多头持仓:if(holding>0,holding,DRAWNULL),NODRAW;
空头持仓:if(holding<0,abs(holding),DRAWNULL),NODRAW;
持仓周期:if(holding=0,DRAWNULL,openbar+1),NODRAW;
平仓收益:valuewhen(holding=0,asset),noaxis;
总:=BARSCOUNT(C);
最大:hhv(ADX,总),NODRAW;
最小:llv(ADX,总),NODRAW;
1,现象确实如此,已在和相关部门沟通
[此贴子已经被作者于2014/7/28 10:07:39编辑过]
统计函数本身就需要大量计算的,最后三句是多重循环
你看着没优化这部分参数,但实际写在代码里的东西,参数优化时候全部参与计算
如果只是图标上参考下最大最小波动在哪里,那就在参数优化时把这三句去掉吧