以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有or或语句,如何表达开平仓语句?谢谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=81233)

--  作者:jon953
--  发布时间:2015/7/16 15:13:31
--  有or或语句,如何表达开平仓语句?谢谢
15:02:18 侠客96版 2015-07-16 15:02:18 BYQ:=(DIF>0)AND (DIF>DEA); BUY1:CROSS(DIF,DEA) OR BYQ ;//开多 SELL1:CROSS(DEA,DIF)OR (JYY AND NOT(BYQ));//平多 SYQ:=(DIF<0)AND (DEA>DIF); SELLS2:SYQ OR CROSS(DEA,DIF) ;//开空 BUYS2:CROSS(DIF,DEA)OR (SYY AND NOT(SYQ));//平空
--  作者:jinzhe
--  发布时间:2015/7/16 15:18:53
--  
什么叫做 “有OR语句,如何表达开平仓”?
--  作者:jon953
--  发布时间:2015/7/16 15:37:02
--  

DIF:=EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:=EMA(DIF,9);
MACD:=(DIF-DEA)*2,COLORSTICK;
SYY:=BARSLAST(DEA>DIF)>12;
JYY:=BARSLAST(DIF>DEA)>12;
BYQ:=(DIF>0)AND (DIF>DEA);

BUY1:CROSS(DIF,DEA) OR BYQ ;

SELL1:CROSS(DEA,DIF)OR (JYY AND NOT(BYQ));

SYQ:=(DIF<0)AND (DEA>DIF);

SELLS2:SYQ OR CROSS(DEA,DIF) ;

BUYS2:CROSS(DIF,DEA)OR (SYY AND NOT(SYQ));


if SELL1 and time>092500 and time<151000 then
begin
sell(holding>0,1,THISCLOSE);
end//平多


if buy1 and time>092500 and time<151000 then
begin
buy(holding=0,1,THISCLOSE);
end//开多

 

 

if BUYS2 and time>092500 and time<151000 then
begin
buyshort(holding=0,1,THISCLOSE);
end//开空

if SELLS2 then
begin
sellshort(holding<0,1,THISCLOSE);
end//平空

 

就是语句里有并列条件。我这样表达怎么不可以呢?

--  作者:jinzhe
--  发布时间:2015/7/16 15:40:38
--  

可以这样写


--  作者:jon953
--  发布时间:2015/7/16 15:44:30
--  
但不能正常显示开空条件的?检查信号是对的

--  作者:jinzhe
--  发布时间:2015/7/16 15:46:49
--  
请说明一下什么是“不能正常显示开空条件”
--  作者:jon953
--  发布时间:2015/7/16 15:47:45
--  
找到问题了