Rss & SiteMap

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

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

标题:请问我用IF错在何处

1楼
haizxj 发表于:2013/12/13 23:13:16

费率设置设ASSET为10万

 

IF ASSET>=100000 THEN BEGIN
平空:SELLSHORT(PK and HOLDING<0,1,THISCLOSE),ORDERQUEUE;                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE),ORDERQUEUE;          //开多信号
平多:SELL(PD and HOLDING>0,1,THISCLOSE),ORDERQUEUE;                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE),ORDERQUEUE;     //开空信号
END
ELSE
if ASSET< 100000  then BEGIN
平空:SELLSHORT(PK and HOLDING<0,1,THISCLOSE),ORDERQUEUE;
平多:SELL(PD and HOLDING>0,1,THISCLOSE),ORDERQUEUE; 
END

 

显示编译错误,说平空不能重复,可是如果我想实现ASSET 小于八万平掉所有仓位,等下次虚拟运算,如果大于再次开平仓.怎么样实现

[此贴子已经被作者于2013/12/13 23:13:59编辑过]
2楼
王锋 发表于:2013/12/14 9:15:39

不可能不让多次平空的,你把完整代码贴过来我们帮你看看

3楼
haizxj 发表于:2013/12/14 12:17:30
就是用的你们的软件的KDJ交易系统呀
4楼
王锋 发表于:2013/12/14 17:11:45
你完整贴过来吧
5楼
haizxj 发表于:2013/12/15 21:01:40


RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;

手数:=ss;
//交易条件

开多平空条件:=CROSS(J,0);//开多平空条件
开空平多条件:=CROSS(100,J);//开空平多条件
KD:=cross(j,0);
PD:=cross(100,j);
KK:=pd;
pk:=kd;

IF ASSET>=100000 THEN BEGIN
平空:SELLSHORT(PK and HOLDING<0,1,THISCLOSE),ORDERQUEUE;                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE),ORDERQUEUE;          //开多信号
平多:SELL(PD and HOLDING>0,1,THISCLOSE),ORDERQUEUE;                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE),ORDERQUEUE;     //开空信号
END
ELSE
if ASSET< 100000  then BEGIN
平空:SELLSHORT(PK and HOLDING<0,1,THISCLOSE),ORDERQUEUE;
平多:SELL(PD and HOLDING>0,1,THISCLOSE),ORDERQUEUE; 
END

6楼
RogarZ 发表于:2013/12/15 22:12:59

RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;

手数:=ss;
//交易条件

开多平空条件:=CROSS(J,0);//开多平空条件
开空平多条件:=CROSS(100,J);//开空平多条件
KD:=cross(j,0);
PD:=cross(100,j);
KK:=pd;
pk:=kd;

IF ASSET>=100000 THEN BEGIN
平空:SELLSHORT(PK and HOLDING<0,1,THISCLOSE),ORDERQUEUE;                  //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE),ORDERQUEUE;          //开多信号
平多:SELL(PD and HOLDING>0,1,THISCLOSE),ORDERQUEUE;                       //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE),ORDERQUEUE;     //开空信号
END
ELSE
if ASSET< 100000  then BEGIN
平空:SELLSHORT(PK and HOLDING<0,1,THISCLOSE),ORDERQUEUE; 
平多:SELL(PD and HOLDING>0,1,THISCLOSE),ORDERQUEUE;  
END


一个系统 相同的变量名只能是1个 

7楼
haizxj 发表于:2013/12/16 9:13:15

怎么样解决这个问题呢

8楼
qwer123 发表于:2013/12/16 12:24:58
把“平空”改为“平空1”,“平空2” 或者干脆把“平空:”去掉就ok。
共8 条记录, 每页显示 10 条, 页签: [1]


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