共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
10楼
王锋 发表于:2014/1/29 17:24:07
你能不能将BEGIN..END中间的代码使用TAB进行格式化一下,否则你代码乱的没人看得懂的,没法帮你改的
共11 条记录, 每页显示 10 条, 页签:
[1]
[2]