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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师帮我写一个均线指标

   

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


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

主题:请老师帮我写一个均线指标

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/12 10:27:33    Post IP:58.246.57.26[显示全部帖子]

 //从expma里抽取的代码
N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);

cd1:cross(m1,m3);
cd2:cross(m3,m1);

DRAWTEXT(cd1,h,'看多');
DRAWTEXT(cd2,l,'看空');

SPEAK(cd1,h,'看多');
SPEAK(cd2,l,'看空');

K线变色那个没有直接函数,要额外画,稍候处理下。先把主干逻辑贴上来。


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


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

 N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);

cd1:cross(m1,m3);
cd2:cross(m3,m1);



cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORYELLOW,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORYELLOW,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORYELLOW,COLORGREEN));
DRAWTEXT(cd1,h,'看多');
DRAWTEXT(cd2,l,'看空');

SPEAK(cd1,h,'看多');
SPEAK(cd2,l,'看空');

颜色你可以自己再改下。
实际效果大致如下:

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


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/12 17:02:38    Post IP:58.246.57.26[显示全部帖子]

 N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);

cd1:cross(m1,m3);
cd2:cross(m3,m1);



cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
DRAWTEXT(cd1,h,'看多');
DRAWTEXT(cd2,l,'看空');

SPEAK(cd1,'看多');
SPEAK(cd2,'看空');


前面没留意,speak函数参数搞错了。你替换成上面的。 颜色改成红和绿了。


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


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

cd1:cross(m1,m3);
cd2:cross(m3,m1);

改成

cd1:m1>m3;
cd2:m3>m1;


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


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

  N:=4;
wx:=DRAWNULL;
M1:EMA(CLOSE,5);
M3:EMA(CLOSE,20)*if(n<3,wx,1);

cd1:m1>m3;
cd2:m3>m1;



cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
DRAWTEXT(cross(m1,m3),h,'看多');
DRAWTEXT(cross(m3,m1),l,'看空');

SPEAK(cross(m1,m3),'看多');
SPEAK(cross(m3,m1),'看空');


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


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

 改下定义方式就行了

M1:=EMA(CLOSE,5);
M3:=EMA(CLOSE,20)*if(n<3,wx,1);

这样自然就不显示指标线了。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2021/3/16 8:50:42    Post IP:58.246.57.26[显示全部帖子]

 你原先代码里已经有了
M1:=EMA(CLOSE,5);
M3:=EMA(CLOSE,20)*if(n<3,wx,1);

M1和M3了。 这里当然冲突了。


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


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

 你把这里的m1,m3改个名字

M1:=EMA(CLOSE,5);
M3:=EMA(CLOSE,20)*if(n<3,wx,1);

然后用到它们的地方也改个名字。
我建议你还是学习下编写的基本教程吧。否则有些非常基础的修改,都不太了解 会比较麻烦的。


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


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

 input:M1(3,1,100,10),M2(6,1,100,10),M3(12,1,100,10),M4(24,1,100,10);

BBI:(MA(CLOSE,M1)+MA(CLOSE,M2)+MA(CLOSE,M3)+MA(CLOSE,M4))/4, COLORwhite;

N:=4;
wx:=DRAWNULL;
M1x:=EMA(CLOSE,5);
M3x:=EMA(CLOSE,20)*if(n<3,wx,1);

cd1:m1x>m3x;
cd2:m3x>m1x;

cd:c>=o;//区分阴阳线的,与上面三个条件无关
STICKLINE(cd1 or cd2 ,C,o,8,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));//绘制柱体
//绘制上下影线
STICKLINE(cd1 or cd2,if(not(cd),O,c),h,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
STICKLINE(cd1 or cd2,if(cd,O,c),L,0,if(cd,1,0),if(cd1,COLORRED,COLORGREEN));
DRAWTEXT(cross(m1x,m3x),h,'看多');
DRAWTEXT(cross(m3x,m1x),l,'看空');

SPEAK(cross(m1x,m3x),'看多');
SPEAK(cross(m3x,m1x),'看空');


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


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

 后面加2句:

if cross(m1x,m3x) then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);   
END
if cross(m3x,m1x) then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);   
END


命数如织,当如磐石。
 回到顶部
总数 11 1 2 下一页