以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]请教一下这个如何写  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=182687)

--  作者:zxl86081
--  发布时间:2020/10/26 11:01:10
--  [求助]请教一下这个如何写
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);

--  作者:FireScript
--  发布时间:2020/10/26 11:30:11
--  
 你这个“ 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和前面那个条件是先后满足,且不区分顺序的意思吧? 如果是这样,这种逻辑上是有点问题的。

--  作者:zxl86081
--  发布时间:2020/10/26 12:00:04
--  
我的意思是第一个条件是在大于MA20上方才可以,第二个条件是只要大于MA20就可以,应是大于MA20是先成立的
--  作者:zxl86081
--  发布时间:2020/10/26 12:05:56
--  
应是holding<=0 and C>=UPBAND AND REF(C,1)<REF(UPBAND,1)条件成立后   价格大于MA20    后平空开多   ,多平:SELL(holding>=0 and C<=MIDLINE,0,market);这个条件后 只要在MA20上方只要满足holding<=0 and C>=UPBAND AND REF(C,1)<REF(UPBAND,1) 条件就开多
--  作者:zxl86081
--  发布时间:2020/10/26 12:20:38
--  
意思是我这样写是对的?

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