以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  金字塔如何实现蒙特卡洛模拟回测?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=91199)

--  作者:qq代人发帖
--  发布时间:2016/2/16 12:38:39
--  金字塔如何实现蒙特卡洛模拟回测?
金字塔如何实现蒙特卡洛模拟回测?

--  作者:yukizzc
--  发布时间:2016/2/16 12:55:05
--  

请具体描述下,这个你是想要在金字塔中如何实现呢???

 


--  作者:yohooo00
--  发布时间:2016/2/16 13:23:49
--  请看此帖。

http://mp.weixin.qq.com/s?__biz=MjM5ODIxNjA5OQ==&mid=207659614&idx=2&sn=399710db8fd179cae0f019936217c967&scene=23&srcid=0912AR3j2oLbaNMCRK7xsWvE#rd

TB在评测中把蒙特卡洛算法加入了,对策略进行了优化。想知道金字塔怎么才能实现这个。


--  作者:王锋
--  发布时间:2016/2/16 13:42:46
--  

感谢您的建议,我们会在日后的版本增加此功能。


--  作者:王锋
--  发布时间:2016/2/16 13:45:02
--  
可否留下联系QQ,我们在开发过程中有疑问可以找您的
--  作者:yohooo00
--  发布时间:2016/2/16 13:53:31
--  
591462068
--  作者:王锋
--  发布时间:2016/2/16 14:06:33
--  

非常感谢,我们需要时会与您联系的


--  作者:王锋
--  发布时间:2016/2/21 13:51:54
--  

这个算法实际上不需要软件去做特定功能,只要在公式中实现即可。

由于目前3.8版本金字塔在随机数产生上还存在一些问题,我们在随后的3.9版本中会得到修正,使用3.9版本的金字塔通过这个算法的PEL公式如下:

 

INPUT:K(100),LL(60);

Q:=146;
P:=146;

B:0,NODRAW;
S:0,NODRAW;

FOR I = 1 TO k DO
BEGIN
 M:=RAND(Q)+4;
 N:=RAND(P)+4;
 
 //发现M>N则两数交换
 IF M > N THEN
 BEGIN
  T:=M;
  M:=N;
  N:=T;
 END;
 MA1:=MA(C,M);
 MA2:=MA(C,N);
 
 {if barpos = 200 then
 begin
 MSGOUT(1,NUMTOSTR(M,0)&\'MA1:\'&NUMTOSTR(MA1,2));
 MSGOUT(1,NUMTOSTR(N,0)&\'MA2:\'&NUMTOSTR(MA2,2));
 MSGOUT(1,\'------------\'&NUMTOSTR(BARPOS,0));
 end;}
 
 //防止出现小于150周期的情况
 IF BARPOS < Q+4 THEN
  EXIT;
 
 IF MA1<MA2 THEN
  S:=S+1;
 ELSE
  B:=B+1;
END

IF B>LL AND HOLDING=0 THEN
 BUY(1,1);
 
IF S>LL AND HOLDING>0 THEN
 SELL(1,0);

 

通过实际的回测发现如果通过MA均线来实现根本达不到那篇文章描述的效果的,可见那篇文章有严重的商业噱头的宣传行为。主要的问题就在于如果当大多数均线都成多头排列时去做多,往往都已经是行情的最高峰时刻,这时进场很多时候都已经是行情的最高峰了,没有实战价值