Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[原创]函数不能在if then语句中顺利通过,非常重要,急请解决!

1楼
风水财神 发表于:2014/1/29 14:53:33
函数不能在if then语句中顺利通过,非常重要,急请解决!
已经按照论坛的相关帖子 进行了函数替换,但还是不解决问题,求编程指导。
之前IF then,也引用到了BARSLAST, ref函数,就能顺利通过,
现在在条件内加入突破反手条件,就不能通过了,求解决方法。


BBR0:=BARSLAST(high<下下轨 and LOW<下下轨);
downout:=BBR0<2;
PXXG:=BARSLAST(C<下下轨 and isdown>3)<4;
BBR1:=BARSLAST(CROSS(REF(ZIG(3,5),1),ZIG(3,5)));
BBR2:=BARSLAST(CROSS(ZIG(3,5),REF(ZIG(3,5),1)));
BBR3:=BARSLAST(CROSS(ZIG(3,5),REF(ZIG(3,5),1)))>1;
buycond:=BBR1>BBR2 and CLOSE<=下轨 and BBR3 AND HOLDING=0;

if buycond AND NOT(JXK)then
BEGIN
 BUY(holding=0,lots,LIMITr,CLOSE); 
//DRAWTEXT(1,HIGH*1.005,'111') ,COLORGREEN;and close-中轨>0.32*(中轨-下轨)AND NOT(JXK OR downout OR PXXG) 
if JXK then
BEGIN
buyshort(holding>0 and JXK,0);
sell(holding=0,lots);
END

BCR1:=BARSLAST(CLOSE<=中轨);
psellcond:=CLOSE>=下下轨 and BCR1<2 and ENTERBARS>8 and close-中轨>0.32*(中轨-下轨),NOAXIS;
if psellcond then 
BEGIN
 SELLSHORT(holding<0,0,LIMITr,CLOSE);
END
BCR2:=BARSLAST(CLOSE>=中轨)
pbuycond:=CLOSE<=上上轨 and BCR2>3 and ENTERBARS>5 and 中轨-close>0.36*(上轨-中轨) ,NOAXIS;
if pbuycond then
BEGIN
 SELL(holding>0,0,LIMITr,CLOSE);
END
2楼
风水财神 发表于:2014/1/29 14:57:40

 

downout:=BARSLAST(high<下下轨 and LOW<下下轨)<2;

PXXG:=BARSLAST(C<下下轨 and isdown>3)<4;

buycond:=BARSLAST(CROSS(REF(ZIG(3,5),1),ZIG(3,5)))>BARSLAST(CROSS(ZIG(3,5),REF(ZIG(3,5),1))) and CLOSE<=下轨

and BARSLAST(CROSS(ZIG(3,5),REF(ZIG(3,5),1)))>1 AND HOLDING=0 and not(downout OR PXXG ) ;

 

 

if buycond AND NOT(JXK)then

BEGIN

 BUY(holding=0,lots,LIMITr,CLOSE);

//DRAWTEXT(1,HIGH*1.005,'111') ,COLORGREEN;and close-中轨>0.32*(中轨-下轨)

END

 

psellcond:=CLOSE>=下下轨 and BARSLAST(CLOSE<=中轨)<2 and ENTERBARS>8 and close-中轨>0.32*(中轨-下轨),NOAXIS;

if psellcond then

BEGIN

 SELLSHORT(holding<0,0,LIMITr,CLOSE);

END

pbuycond:=CLOSE<=上上轨 and BARSLAST(CLOSE>=中轨)>3 and ENTERBARS>5 and 中轨-close>0.36*(上轨-中轨) ,NOAXIS;

if pbuycond then

BEGIN

 SELL(holding>0,0,LIMITr,CLOSE);

END


这是之前能够通过的代码

3楼
jinzhe 发表于:2014/1/29 15:08:36
BCR2:=BARSLAST(CLOSE>=中轨)
pbuycond:=CLOSE<=上上轨 and BCR2>3 and ENTERBARS>5 and 中轨-close>0.36*(上轨-中轨) ,NOAXIS;

 

 

第一句后面少个分号

4楼
风水财神 发表于:2014/1/29 15:28:03
刚才已将分号补上,还是不能通过
5楼
风水财神 发表于:2014/1/29 15:29:35

BBR0:=BARSLAST(high<下下轨 and LOW<下下轨);
downout:=BBR0<2;
PXXG:=BARSLAST(C<下下轨 and isdown>3)<4;
BBR1:=BARSLAST(CROSS(REF(ZIG(3,5),1),ZIG(3,5)));
BBR2:=BARSLAST(CROSS(ZIG(3,5),REF(ZIG(3,5),1)));
BBR3:=BARSLAST(CROSS(ZIG(3,5),REF(ZIG(3,5),1)))>1;
buycond:=BBR1>BBR2 and CLOSE<=下轨 and BBR3 AND HOLDING=0;



if buycond AND NOT(JXK)then
BEGIN
 BUY(holding=0,lots,LIMITr,CLOSE); 
//DRAWTEXT(1,HIGH*1.005,'111') ,COLORGREEN;and close-中轨>0.32*(中轨-下轨)AND NOT(JXK OR downout OR PXXG) 
if JXK then
BEGIN
buyshort(holding>0 and JXK,0);
sell(holding=0,lots);
END

BCR1:=BARSLAST(CLOSE<=中轨);
psellcond:=CLOSE>=下下轨 and BCR1<2 and ENTERBARS>8 and close-中轨>0.32*(中轨-下轨),NOAXIS;
if psellcond then 
BEGIN
 SELLSHORT(holding<0,0,LIMITr,CLOSE);
END
BCR2:=BARSLAST(CLOSE>=中轨);
pbuycond:=CLOSE<=上上轨 and BCR2>3 and ENTERBARS>5 and 中轨-close>0.36*(上轨-中轨),NOAXIS;
if pbuycond then
BEGIN
 SELL(holding>0,0,LIMITr,CLOSE);
END
6楼
风水财神 发表于:2014/1/29 15:30:31
改问题还是没有解决 是不是函数转换的问题的写法不对?
7楼
风水财神 发表于:2014/1/29 15:31:37
求万能的版主解决啊,揪心呀
8楼
jinzhe 发表于:2014/1/29 15:42:09

if buycond AND NOT(JXK)then
BEGIN
 BUY(holding=0,lots,LIMITr,CLOSE);
//DRAWTEXT(1,HIGH*1.005,'111') ,COLORGREEN;and close-中轨>0.32*(中轨-下轨)AND NOT(JXK OR downout OR PXXG)
if JXK then
BEGIN
buyshort(holding>0 and JXK,0);
sell(holding=0,lots);
END

 

这句后面加个and

9楼
风水财神 发表于:2014/1/29 16:47:11
大哥呀  真心还是不行呀,这句 我加了 AND
10楼
王锋 发表于:2014/1/29 17:24:07
你能不能将BEGIN..END中间的代码使用TAB进行格式化一下,否则你代码乱的没人看得懂的,没法帮你改的
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 3 queries.