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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请编写一个简单的模型

   

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


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

主题:请编写一个简单的模型

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/3 14:22:26    Post IP:183.194.168.232[显示全部帖子]

需要明确:
1.当前运行的周期
2.“15分钟站上60线,且5分钟周期站上5.20.60线三线”   这个没说清除。你现在一共有三个周期的三种均线 那么一共是九条线了。
5min_ma5:STKINDI('','ma.ma1',0,2,0);//5分钟的5日均线
5min_ma20:STKINDI('','ma.ma3',0,2,0);//5分钟的20日均线
5min_ma60:STKINDI('','ma.ma4',0,2,0);//5分钟的60日均线

30min_ma5:STKINDI('','ma.ma1',0,4,0);//30分钟的5日均线
30min_ma20:STKINDI('','ma.ma3',0,4,0);//30分钟的20日均线
30min_ma60:STKINDI('','ma.ma4',0,4,0);//30分钟的60日均线

60min_ma5:STKINDI('','ma.ma1',0,5,0);//60分钟的5日均线
60min_ma20:STKINDI('','ma.ma3',0,5,0);//60分钟的20日均线
60min_ma60:STKINDI('','ma.ma4',0,5,0);//60分钟的60日均线


请在上面这三个周期 三种均线上描述下你的需求逻辑。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/3 14:51:51    Post IP:183.194.168.232[显示全部帖子]

意思是15分钟和5分钟 里 都满足现价(5分钟和15分钟)大于60周期均线   且五分钟周期满足5,20,60均线多头排列  是这样对吗?


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/3 15:07:36    Post IP:183.194.168.232[显示全部帖子]

以多头为例:
5min_ma5:STKINDI('','ma.ma1',0,2,0);//5分钟的5日均线
5min_ma20:STKINDI('','ma.ma3',0,2,0);//5分钟的20日均线
5min_ma60:STKINDI('','ma.ma4',0,2,0);//5分钟的60日均线

5min_dtpl:5min_ma60<5min_ma20  and 5min_ma20<5min_ma5;//5分钟周期上多头排列

15min_ma60:STKINDI('','ma.ma4',0,3,0);//15分钟的60日均线

5min_c:CALLSTOCK('',vtCLOSE,5);//5分钟现价
15min_c:CALLSTOCK('',vtCLOSE,3);//15分钟现价

cd1:5min_c>5min_ma60;//5分钟现价大于5分钟的60周期均线
cd2:15min_c>15min_ma60;

if cd1 and cd2 and 5min_dtpl then buy(holding=0,1,market);//开仓
if L<ref(l,1) and holding>0 then sell(holding>0,holding,market);//平多


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/3 15:45:47    Post IP:183.194.168.232[显示全部帖子]

请稍等。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/3 15:53:56    Post IP:183.194.168.232[显示全部帖子]

之前的代码可以弃用掉。按照之前的方式 代码太冗余了。代码稍微改进下吧。
新建一个指标MAZ:
INPUT:N1(5,1,100,10),N2(10,1,120,12),N3(20,1,200,20),N4(60,1,200,20);
ma1:ma(c,n1);
ma2:ma(c,n2);
ma3:ma(c,n3);
ma4:ma(c,n4);

dtpl:ma3>ma4 and ma3>ma1;//多头排列
xp:c>ma4;//现价大于60周期均线

sc1:cross(ma1,ma4);//5周期下穿60周期
sc2:cross(ma3,ma4);//20周期下穿60周期
sc3:cross(ma3,ma1);//5分钟下穿20周期

sc:sc1 and sc2;



上面这部分是被调用的代码:

下面这里是交易的部分:

dtpl:STKINDI('','MAZ.dtpl',0,2,0);//5分钟的5日均线

15min_xp:STKINDI('','MAZ.xp',0,3,0);//15分钟 现价大于60周期均线
5min_xp:STKINDI('','MAZ.xp',0,2,0);//5分钟 现价大于60周期均线

sc1:STKINDI('','MAZ.sc',0,2,0);//5分钟的5周期,20周期均线分别下破60周期均线
sc2:STKINDI('','MAZ.sc3',0,3,0);//15分钟 5周期均线下破20周期均线


if L<ref(l,1) and holding>0 then sell(holding>0,holding,market);//多头平仓
if 15min_xp and 5min_xp and dtpl then buy(holding=0,1,market);//多头开仓

if 5min_xp and holding<0 then sellshort(holding<0,holding,market);//空头平
if sc1 and sc2 and holding=0 then buyshort(holding=0,1,market);//空头开仓


2部分代码 是需要分开的:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/2/3 15:56:53    Post IP:183.194.168.232[显示全部帖子]

另外就是空头部分 我看了。这个条件似乎很苛刻。 你可以看下我注释部分 核对下思路是否一致。


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