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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]请大师帮我写一个简单的ATR通道代码

   

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


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

主题:[求助]请大师帮我写一个简单的ATR通道代码

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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2019/2/15 16:17:14
[求助]请大师帮我写一个简单的ATR通道代码  发帖心情 Post By:2019/11/7 20:40:31    Post IP:39.83.155.10[只看该作者]

万分感谢,就是由收盘价和收盘价加N倍的ATR组成的上轨和收盘价减去N倍的ATR组成的下轨,当突破上轨时开仓,回落到均线时平仓,突破下轨时开仓,回落到均线处平仓,万分感谢!!!

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


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

INPUT:M(14,1,100,1),A(5,1,100,1);
TR1 := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR := MA(TR1,M);

N:=0.01;//变量N
MAN:MA(C,A);//均线
UP:C+N*ATR;//上轨
DOWN:C-N*ATR;//下轨

JC:CROSS(C,UP);//上穿上轨
SC:CROSS(DOWN,C);//下破下轨

MA_JC:=CROSS(C,MAN);//上破均线
MA_SC:=CROSS(MAN,C);//下破均线

SELLSHORT(HOLDING<0 AND MA_JC,1,MARKET);
BUY(HOLDING=0 AND JC,1,MARKET);
SELL(HOLDING>0 AND MA_SC,1,MARKET);
BUYSHORT(HOLDING=0 AND SC,1,MARKET);


代码如上。但是我看了下,这个没法有信号。c没法上穿上轨或者下破下轨。因为上下轨是恒比c大或小。
[此贴子已经被作者于2019/11/8 9:19:09编辑过]


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2019/2/15 16:17:14
  发帖心情 Post By:2019/11/8 9:28:31    Post IP:39.83.155.10[只看该作者]

感谢如您,怪我表述不好,老师,嘿嘿,其实就像HCL那样的三条线通道,上轨是比如20日均线加了N倍的ATR下轨也是在20日均线基础上减了N倍的ATR,当收盘价突破上轨或下轨时开仓,回落到均线时平仓,嘿嘿,像您学习,争取早日我也能独立的写出代码,

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


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

 UP:C+N*ATR;//上轨
DOWN:C-N*ATR;//下轨

你意思是这个上下轨应该是用 ma+N*atr 这种方式算的。你均线是多少周期的均线?


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


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

这样就可以了:


INPUT:M(14,1,100,1),A(5,1,100,1),N(1,1,100,1);
TR1 := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR := MA(TR1,M);

MAN:MA(C,A);//A日均线 默认是5日均线,可以调整参数a来调整这个
UP:MAN+N*ATR;//上轨
DOWN:MAN-N*ATR;//下轨

JC:CROSS(C,UP);//上穿上轨
SC:CROSS(DOWN,C);//下破下轨

MA_JC:=CROSS(C,MAN);//上破均线
MA_SC:=CROSS(MAN,C);//下破均线

SELLSHORT(HOLDING<0 AND MA_JC,1,MARKET);//平空
BUY(HOLDING=0 AND JC,1,MARKET);//开多
SELL(HOLDING>0 AND MA_SC,1,MARKET);//平多
BUYSHORT(HOLDING=0 AND SC,1,MARKET);//开空


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


加好友 发短信
等级:新手上路 帖子:9 积分:0 威望:0 精华:0 注册:2019/2/15 16:17:14
  发帖心情 Post By:2019/11/8 11:09:42    Post IP:39.83.155.10[只看该作者]

多谢大师~~~~~哈啊哈,终于能回测到实打实的数据啦,嘿嘿

 回到顶部