以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  参数优化问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=145241)

--  作者:a383623133
--  发布时间:2016/12/25 21:44:34
--  参数优化问题
请教:在当前公式上如果对引用的公式进行参数优化?


--  作者:jinzhe
--  发布时间:2016/12/26 9:50:48
--  

在交易---单策略程式化交易测评

这里进行参数优化


--  作者:a383623133
--  发布时间:2016/12/26 10:19:42
--  
举个例子:
公式1(双均线系统买卖系统,有参数N1和N2);
公式2(引用公式一的买卖信号,如果出现公式一的买信号和当前公式的买入信号两个共同达到才会触发买入)怎么能在公式2内调整公式1的N1和N2参数?并可以测评优化。

--  作者:jinzhe
--  发布时间:2016/12/26 10:32:16
--  
发下你现在的代码
--  作者:a383623133
--  发布时间:2016/12/26 11:10:18
--  
公式1:
ma1:ma(c,n1);
ma2:ma(c,n2);
b:=CROSS( ma1,ma2 );
s:=CROSS( ma2,ma1 );
KD:=b;          //开多条件
PD:=s;          //平多条件
KK:=s;          //开空条件
PK:=b;          //平空条件


平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号


公式2:
b:STKINDI(\'\',\'shuangma.开多\',0,3,-1),noaxis;
s:STKINDI(\'\',\'shuangma.开空\',0,3,-1),noaxis;
pb:STKINDI(\'\',\'shuangma.平多\',0,3,-1),noaxis;
ps:STKINDI(\'\',\'shuangma.平空\',0,3,-1),noaxis;

ma20:ma(c,20);
KD:=b and c>ma20;          //开多条件
PD:=pb;          //平多条件
KK:=s and c<ma20;          //开空条件
PK:=ps;          //平空条件


平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

--  作者:jinzhe
--  发布时间:2016/12/26 11:12:32
--  

这些开仓平仓信号是不能引用的,引用的只能是指标值


--  作者:a383623133
--  发布时间:2016/12/26 11:13:00
--  
如何在公式2做到能对公式一里的N1和N2参数做调整?
--  作者:a383623133
--  发布时间:2016/12/26 11:20:52
--  
做出的调整会对公式1的买卖信号有所改变
--  作者:jinzhe
--  发布时间:2016/12/26 11:21:15
--  
 
公式2:
input:n1();//这里的参数和公式1里面的一样
input:n2();//这里的参数和公式1里面的一样
nn1:=numtostr(n1,0);
nn2:=numtostr(n2,0);
ma1:=stkindi(\'\',\'公式1.ma1(\'&nn1&\')\',0,datatype);
ma2:=stkindi(\'\',\'公式2.ma2(\'&nn2&\')\',0,datatype);

ma20:ma(c,20);
KD:=b and c>ma20;          //开多条件
PD:=pb;          //平多条件
KK:=s and c<ma20;          //开空条件
PK:=ps;          //平空条件


平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号


--  作者:jinzhe
--  发布时间:2016/12/26 11:21:34
--  

只能引用指标值“ma1”,“ma2”

不能直接引用信号