欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]请教一下这个如何写

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3070人关注过本帖树形打印复制链接

主题:[求助]请教一下这个如何写

帅哥哟,离线,有人找我吗?
zxl86081
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/10/26 9:30:20
[求助]请教一下这个如何写  发帖心情 Post By:2020/10/26 11:01:10    Post IP:117.21.184.105[只看该作者]

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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/10/26 11:30:11    Post IP:58.246.57.26[只看该作者]

 你这个“ 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/10/26 9:30:20
  发帖心情 Post By:2020/10/26 12:00:04    Post IP:117.21.184.105[只看该作者]

我的意思是第一个条件是在大于MA20上方才可以,第二个条件是只要大于MA20就可以,应是大于MA20是先成立的

 回到顶部
帅哥哟,离线,有人找我吗?
zxl86081
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/10/26 9:30:20
  发帖心情 Post By:2020/10/26 12:05:56    Post IP:117.21.184.105[只看该作者]

应是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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:4 积分:0 威望:0 精华:0 注册:2020/10/26 9:30:20
  发帖心情 Post By:2020/10/26 12:20:38    Post IP:117.21.184.105[只看该作者]

意思是我这样写是对的?

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

 回到顶部