以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  图标交易测试不了  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=95267)

--  作者:vincent
--  发布时间:2016/3/29 21:31:51
--  图标交易测试不了
开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 );或者开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (DIFF>DEA );可以测试;
但开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 )  
图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看
AND DIFF>DEA;就测试不了,但编译公式是正常的呀,什么问题

--  作者:jinzhe
--  发布时间:2016/3/30 9:06:15
--  
以文字形式发代码,看图片上,有些代码无法看清
--  作者:vincent
--  发布时间:2016/3/30 11:45:00
--  
开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 );或者开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (DIFF>DEA );可以测试;
但开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 ) and diff>dea;就测试不了

--  作者:jinzhe
--  发布时间:2016/3/30 13:20:21
--  

我的意思是全部的代码,别贴一小段


--  作者:vincent
--  发布时间:2016/3/30 15:50:47
--  公式不复杂,就是测试不了
diff:=ema(c,10)-ema(c,30);
dea:=ema(diff,5);

MACD:=2*(DIFF-DEA);



开多平空条件:=(cross(ma(c,5),ma(c,10))) AND (MACD<0 )  AND DIFF>DEA;
开空平多条件:=c<ma(c,10);




开多:BUY(开多平空条件,1,MARKET);
平多:SELL(开空平多条件,1,MARKET);

--  作者:jinzhe
--  发布时间:2016/3/30 16:00:01
--  
试了一下,这3个条件难以在同一个时间点上同时成立
--  作者:vincent
--  发布时间:2016/3/30 16:07:59
--  
如果是后台交易,可不可以呢
--  作者:jinzhe
--  发布时间:2016/3/30 16:08:34
--  
一样的,问题是3个条件难以同时成立,并不是图表后台的问题
--  作者:vincent
--  发布时间:2016/3/30 16:19:37
--  
不会吧,其实几个条件很常见的吧,能改进软件不?
--  作者:jinzhe
--  发布时间:2016/3/30 16:43:13
--  

这3个条件是很常见,但是你的条件逻辑上有很大的问题导致了同时不成立,尤其是后两个

因为:你的macd定义为:  macd:=2*(DIFF-DEA);   所以如果要满足条件macd>0 那么必然是diff>dea的,但是后两个条件是macd<0 and diff>dea,这两个条件是恒不同时成立的