以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问这段代码有何问题?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=90837)

--  作者:chendong
--  发布时间:2016/1/30 10:26:45
--  请问这段代码有何问题?
请问这段代码有何问题,希望是能在图表上显示交易信号,但条件满足了,却不显示。


TRADEDOWNV:=EXTGBDATA(\'TRADEDOWNV\');
TRADEDOWNJ:=EXTGBDATA(\'TRADEDOWNJ\');
TRADEDOWNM:=EXTGBDATA(\'TRADEDOWNM\');

TRADEUPV:=EXTGBDATA(\'TRADEUPV\');
TRADEUPJ:=EXTGBDATA(\'TRADEUPJ\');
TRADEUPM:=EXTGBDATA(\'TRADEUPM\');


MA1:="ma.ma6#min3";
//MA1:=MA(CLOSE,3);
//MA3分钟:"ma.ma6#min3";


手数:=EXTGBDATA(\'BRSCOUNT\');
//交易条件
DuoCond1:=CROSS(MA1,TRADEDOWNJ);
DuoCond2:=c>TRADEDOWNM and c<TRADEDOWNM*1.002;
DuoCond3:=c>TRADEDOWNV and c<TRADEDOWNV*1.002;
DuoCond4:=c>TRADEUPV and c<TRADEUPV*1.002;
DuoCond5:=c>TRADEUPJ and c<TRADEUPJ*1.002;
DuoCond6:=c>TRADEUPM and c<TRADEUPM*1.002;

KongCond1:=CROSS(TRADEDOWNJ,MA1);
KongCond2:=c<TRADEDOWNV and c>TRADEDOWNV*0.998;
KongCond3:=c<TRADEDOWNM and c>TRADEDOWNM*0.998;
KongCond4:=c<TRADEUPV and c>TRADEUPV*0.998;
KongCond5:=c<TRADEUPJ and c>TRADEUPJ*0.998;
KongCond6:=c<TRADEUPM and c>TRADEUPM*0.998;



开多平空条件:=DuoCond1 or DuoCond2 or DuoCond3  or DuoCond4 or DuoCond5 or DuoCond6;//开多平空条件
开空平多条件:=KongCond1 or KongCond2 or KongCond3 or KongCond4 or KongCond5 or KongCond6;//开空平多条件

//交易系统
平空:SELLSHORT(开多平空条件,HOLDING,MARKET);
平多:SELL(开空平多条件,HOLDING,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

//注意交易系统先开后平的原则


--  作者:chendong
--  发布时间:2016/1/30 10:33:25
--  
前几天,我把所有的条件写在一行,还能显示一些交易信号,只是进行模拟交易时不稳定,到了开空平多条件能开空单,但,到了开多平空条件时,却不能平,也不能反手。我当时猜测可能是条件写在一行,系统执行不过来,然后,就分行写,但,现在,设定的条件满足了,但什么信号都不显示。请帮忙看一下,谢谢!
--  作者:jinzhe
--  发布时间:2016/2/1 9:07:59
--  
extgbdata不适用于图表,没有历史数据导致了信号的丢失
--  作者:chendong
--  发布时间:2016/2/1 10:59:19
--  
后来,我自己找到了原因,是因为,全局变量中的值没到条件,修改后,就出了信号


--  作者:chendong
--  发布时间:2016/2/1 11:01:12
--  
另请教一下:
类似于开多平空条件:=DuoCond1 or DuoCond2 or DuoCond3  or DuoCond4 or DuoCond5 or DuoCond6;//开多平空条件
这种,or 太多项的话,系统是否会执行不过来呢?

--  作者:chendong
--  发布时间:2016/2/1 11:03:42
--  
如果我有十多项条件,甚至几十项条件,只要满足其中的一个,即为真,每个条件写出来,然后,一直"or",能行吗?

如何测试,行还是不行?


--  作者:jinzhe
--  发布时间:2016/2/1 11:05:08
--  

1.不会计算不过来,你太小看计算机的计算能力了

2.是的一直or过去