比如我优化一个长线策略的参数,我选择第一层夏普,第二层风险收益比、第三层盈亏比,在这种情况下优化逻辑是按照层数顺序逐步优化,还是同时对三个参数进行综合优化?
👍
为了讨论问题时,环境、术语、优化结果基本一致性,提供测试代码、其他设置:rb888、周期1日、订阅2000根、后复权。对3个周期参数进行分层优化:快线、中线、慢线。关于分层优化的逻辑已经在下面的截图注释说明了,另外,不要把 分层筛选条件 与 优化目的 混淆,我看你的提问可能会有这个问题存在,提醒一下。
//------------------------------------------------------------------------
// 简称: TestParametersOptimize
// 名称: 测试参数分层优化
// 类别: 策略应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
Integer FastLength(5, 5, 15, 1);
Integer MidLength(30, 20, 30, 1);
Integer SlowLength(60, 50, 60, 1);
Vars
Numeric FastMa;
Numeric MidMa;
Numeric SlowMa;
Bool ConEntry;
Bool ConExit;
Events
OnReady(){
If(BarCount < SlowLength) Alert("加载的历史K线数量太少,至少需要" + Text(SlowLength) + "根");
}
OnBar(ArrayRef<Integer> indexs){
FastMa = AverageFC(Close, FastLength);
MidMa = AverageFC(Close, MidLength);
SlowMa = AverageFC(Close, SlowLength);
ConEntry = CrossOver(FastMa, MidMa);
ConExit = CrossUnder(MidMa, SlowMa);
If(ConEntry && MarketPosition != 1){
Buy(1, Open);
}
If(ConExit && MarketPosition == 1){
Sell(0, Open);
}
}
第2步 参数分层优化时的 策略单元 设置选项
第3步 设置 指定分层优化的具体参数,以及参数值范围
第4步 分层优化 的 筛选条件 以及 分层优化逻辑
第5步 运行分层参数优化后的结果,就2条参数组合
明白了 是按层次顺序逐步优化(建立在上一层的结果上再优化),谢谢 ,很详细
另外问下有没有办法三个目标并行同时优化,不分层优化
我难道是预判了对你的预判嘛!再次重复一遍:记住优化目标 只能有1个,没有3个,谈何同时之说。不要把 优化目标 与 分层优化后的筛选条件 混淆。
另外,不分层优化,当然没有任何问题,软件安装好之后,默认就是只有第1层,没有分层优化的。说明你可能对为啥要分层优化的使用场景、适用场景,没有仔细思考过。
哈哈,果然是混淆了,原来目标都永远只有一个,分层只是同目标以不同方向的选择筛选。👍您已经预判了我的混淆,另外再请教下我日线用四周,目标选哪个好?(风险收益比样本外很差,利润怕过拟合,夏普最合适?)