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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 模型先后顺序怎么区分?

   

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


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

主题:模型先后顺序怎么区分?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/29 11:23:22    Post IP:180.169.30.6[显示全部帖子]

 我仔细想了下。你这个需求有逻辑漏洞的。

数据足够的时候  在macd死叉的位置 往前找肯定能找到一个c<ma30,也就是说等于是macsc就平仓就行了。你这个限制其实不够的。

macdjc 以及你说的第一次c<ma30 (其实就是cross(ma(c,30),c))  都是交替反复出现的。

举个例子吧:

majc  macdjc  macdsc macdjc  macdsc   masc macdjc macdsc

上面 假设是几个金叉死叉出现位置。三个macdsc位置可以说都满足 第一次c<ma30 之后macdsc.




命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/8/29 14:35:56    Post IP:180.169.30.6[显示全部帖子]


p:=26;
s:=12;
m:=9;
DIFF :=EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  :=EMA(DIFF,M);
MACD :=2*(DIFF-DEA);

MACDSC:CROSS(DEA,DIFF);//死叉
MA30:MA(C,30);
cd:count(c<MA30,ENTERBARS+2)>=1 and not(C<MA30) and count(MACDSC,ENTERBARS+2)=1 and MACDSC and holding>0;

if  cd  then
begin
测试:sell(holding>0,holding,market);
end
如果用的是market指令,使用上述代码,如果是marketr这种,因为ENTERBARS返回值原因,改成ENTERBARS+1即可。


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