以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  图表无信号  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=84384)

--  作者:solegoose
--  发布时间:2015/8/25 10:41:23
--  图表无信号
图表上无信号。用DLL插件的。策略的公式如下:

SIG := "FML@MID"(P1, P2);

CVOL := 0;
OPENVOL := INITPOS;
IF (SIG >= 9 AND SIG <= 10) THEN
  OPENVOL := "FML@GETVOL"(0, SIG);
IF (SIG = 11 OR SIG = 12 OR SIG = 5 OR SIG = 6 OR SIG = 7 OR SIG = 8) THEN
  CVOL := "FML@GETVOL"(0, SIG);

SELLSHORT(SIG = 6 OR SIG = 8 OR SIG = 12, CVOL, LIMIT, C + 20 * MINDIFF);
SELL(SIG = 5 OR SIG = 7 OR SIG = 11, CVOL, LIMIT, C - 20 * MINDIFF);

BUY(SIG = 1 OR SIG = 8 OR SIG = 9, OPENVOL, LIMIT, C + 20 * MINDIFF);
BUYSHORT(SIG = 2 OR SIG = 7 OR SIG = 10, OPENVOL, LIMIT, C - 20 * MINDIFF);

在FML这个DLL中,表明返回的信号是1,要开多。INITPOS是1,但是BUY这条语句好像没有执行到。而且很奇怪,相同的策略,如果用股指连续复权后的数据,会出现上述问题,换成复权前的数据,图表中就有信号了。

这是什么问题?


--  作者:王锋
--  发布时间:2015/8/25 12:59:28
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=57075  问题4

 

学会使用一些简单调试技巧,首先判断你的DLL返回的结果是否正常,然后再来排查是否按照DLL的结果执行了策略