LOTS:=max(1,INTPART(Fund/(O*MULTIPLIER*CWKZ)));
TR1:=.............;
ATR:=.............;//
MIDLINE:=.............;
UPBAND:=.............;
DOWNBAND:=.............;
MA20:.............;
请问一下,如何编写
1,当 holding<=0 and C>=UPBAND AND REF(C,1)<REF(UPBAND,1) 条件满足时并价格大于MA20时平空开多(也就是说在MA20上方只要满足holding<=0 and C>=UPBAND AND REF(C,1)<REF(UPBAND,1) 条件就开多)
2,当 holding<=0 and C>MA20 条件满足时时平空开多
以上两个条件先到原则,先到先做,后到不做
IF holding<=0 and C>=UPBAND and C>MA20 AND REF(C,1)<REF(UPBAND,1) THEN
BEGIN
sellshort(holding<0,0,market); //买平空单
Buy(holding=0,lots,market); //买开多单
END
我按上面的写有点不对
3,当 holding>=0 and C<=DOWNBAND AND REF(C,1)>REF(DOWNBAND,1) 条件满足时并价格小于MA20时平多开空(也就是说在MA20下方只要满足holding>=0 and C<=DOWNBAND AND REF(C,1)>REF(DOWNBAND,1) 条件就开空)
4,当 holding<=0 and C<MA20 条件满足时时平多开空
以上两个条件先到原则,先到先做,后到不做
IF holding>=0 and C<=DOWNBAND and C<MA20 AND REF(C,1)>REF(DOWNBAND,1) THEN
BEGIN
sell(holding>0,holding,market); //卖平多单
buyShort(holding=0,lots,MARKET);//卖开空单
END
我按上面的写有点不对
多平:SELL(holding>=0 and C<=MIDLINE,0,market);
空平:SELLSHORT(holding<=0 and C>=MIDLINE,0,market);
你这个“ C>=UPBAND and C>MA20 ” 是and的关系了啊。也就是同时满足才会执行
1,当 holding<=0 and C>=UPBAND AND REF(C,1)<REF(UPBAND,1)
2,当 holding<=0 and C>MA20
如果我没有理解错, 你的意思是大于ma20和前面那个条件是先后满足,且不区分顺序的意思吧? 如果是这样,这种逻辑上是有点问题的。
我的意思是第一个条件是在大于MA20上方才可以,第二个条件是只要大于MA20就可以,应是大于MA20是先成立的
意思是我这样写是对的?
IF holding<=0 and C>=UPBAND and C>MA20 AND REF(C,1)<REF(UPBAND,1) THEN
BEGIN
sellshort(holding<0,0,market); //买平空单
Buy(holding=0,lots,market); //买开多单
END