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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求大神帮忙看看公式什么地方有问题

   

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


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

主题:求大神帮忙看看公式什么地方有问题

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


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2016/12/29 14:46:08
求大神帮忙看看公式什么地方有问题  发帖心情 Post By:2017/9/1 10:41:20    Post IP:123.169.101.248[只看该作者]

老师您好,我有个想法试了很多次都没写好,我大体写一下,请老师帮忙看一下大致是什么地方出错了
CC:=REF(C,BARSLAST(CROSS(diff,dea)));//取上次MACD金叉的收盘价;
BB:=REF(C,1);//得到昨天的收盘价
DD:=IF(ENTERVOL=0,CC,BB);//判断当前收否有持仓,如果没有持仓的话,取CC的价格,如果有持仓的话,取昨天的收盘价。
SS:=5;
DD1:=DD+SS;
DD2:=DD+2*SS;
DD3:=DD+3*SS;
EE1:=DD-SS;
EE2:=DD-2*SS;
EE3:=DD-3*SS;
if  holding=0 and cross(DIFF,DEA),THEN BEGIN//判断当根K线有没有持仓,且出现金叉时,买入十手多单
     BUY(1,10,MARKET);
     END;
 IF  holding>=10 and (diff>dea AND BETWEEN(C,dd1,DD2)),THEN BEGIN//判断持仓数是否大于等于10,且价位处在DD1与DD2之间,如果满足,则平仓五手
     SELL(1,5,MARKET);
     END;
 IF holding>=5 and (diff>dea AND BETWEEN(C,DD2,DD3)),THEN BEGIN判断持仓数是否大于等于5,且价位处在DD2与DD3之间,如果满足,则平仓五手
     SELL(1,5,MARKET);
     END;
if  holding>=0 and (diff>dea and between(c,ee1,ee2)),then begin
     buy(1,5,market);
     end;
if  holding>=0 and (diff>dea and between(c,ee2,ee3)),then begin
     buy(1,5,market);
     end;
    我也不知道哪写错了,我想表达的意思是:当新K线出来,首先要判断下有没有持仓,如果没有持仓,判断下MACD情况,如果有金叉出现,则开十手多单。如果有持仓的话,判断当前价位处于什么位置,如果处在EE1与EE2之间,加5手多单,如果处在EE2与EE3之间,再加5手多单,如果处在DD1与dd2之间,平5手多单,处在dd2与dd3之间,再平5手多单。
----------------------DD2      平5手
-----------------------DD1     平5手
---------------------    DD      开10手多单
---------------------EE1
---------------------EE2          加5手
---------------------EE3          加5手
麻烦老师了


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2017/9/1 10:59:32    Post IP:180.169.30.6[只看该作者]

描述下,你的说的问题点在哪?



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
如意蝶
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:24 积分:0 威望:0 精华:0 注册:2016/12/29 14:46:08
  发帖心情 Post By:2017/9/1 11:14:37    Post IP:123.169.101.248[只看该作者]


DD:=IF(ENTERVOL=0,REF(C,BARSLAST(CROSS(diff,dea)),REF(C,1));//判断当前是否有持仓,如果没有持仓的话,取MACD金叉时的收盘价,如果有持仓的话,取前一天的收盘价的价格。
这段话写的对是吧。

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


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

以下是引用如意蝶在2017/9/1 11:14:37的发言:

DD:=IF(ENTERVOL=0,REF(C,BARSLAST(CROSS(diff,dea)),REF(C,1));//判断当前是否有持仓,如果没有持仓的话,取MACD金叉时的收盘价,如果有持仓的话,取前一天的收盘价的价格。
这段话写的对是吧。

代码是对的。不过你要判断是否有持仓,直接用holding=0判断吧。



命数如织,当如磐石。
 回到顶部