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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 基于开盘价的日内ATR区间突破的公式,求助

   

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


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

主题:基于开盘价的日内ATR区间突破的公式,求助

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


加好友 发短信
等级:新手上路 帖子:5 积分:30 威望:0 精华:0 注册:2012/3/15 9:25:15
基于开盘价的日内ATR区间突破的公式,求助  发帖心情 Post By:2012/3/15 9:40:09    Post IP:58.210.34.238[显示全部帖子]

 基于开盘价的日内ATR区间突破的公式,啊有哪位兄弟有?小弟,刚看金字塔,要把交易开拓者里的转化到金字塔里
以下内容为程序代码:

1 //------------------------------------------------------------------------
2 // 简称: ATRbreak
3 // 名称: ATRbreak
4 // 类别: 公式应用
5 // 类型: 用户应用
6 // 输出:
7 //------------------------------------------------------------------------
8
9
10
11 // 基于开盘价的日内ATR区间突破
12 // 期指IF888 五分钟周期
13
14
15 Params
16 Numeric Mult(4);
17 Numeric Length(30);
18 Numeric ExitOnCloseMins(15.10);
19 Numeric StopPercent(0.5);
20
21 Vars
22 Numeric DayOpen;
23 Numeric UpperBand;
24 Numeric LowerBand;
25 Numeric MyPrice;
26 Numeric myExitPrice;
27 NumericSeries EntryLots;
28 NumericSeries ATRValue;
29
30
31 Begin
32 ATRValue=AvgTrueRange(Length);
33
34 DayOpen=OpenD(0);
35 UpperBand=DayOpen+ATRValue[1]*Mult;
36 LowerBand=DayOpen-ATRValue[1]*Mult;
37 EntryLots=IntPart(Portfolio_CurrentCapital*0.3/(Close*ContractUnit*BigPointValue*MarginRatio));
38
39 If(MarketPosition!=1 && High>=UpperBand && Time<ExitOnCloseMins/100)
40 {
41 MyPrice=UpperBand;
42 If(Open>MyPrice) Myprice=Open;
43 Buy(1,MyPrice);
44 Return;
45 }
46
47 If(MarketPosition!=-1 && Low<=LowerBand && Time<ExitOnCloseMins/100)
48 {MyPrice=LowerBand;
49 If(Open<MyPrice) Myprice=Open;
50 SellShort(1,MyPrice);
51 Return;
52 }
53
54
55 If(MarketPosition==1)
56 {
57 If(Low<AvgEntryPrice*(1-StopPercent/100))
58 {
59 myExitPrice=AvgEntryPrice*(1-StopPercent/100);
60 myExitPrice=Min(Open,myExitPrice);
61 Sell(0,myExitPrice);
62 }
63 }
64
65 If(MarketPosition==-1)
66 {
67 If(High>AvgEntryPrice*(1+StopPercent/100))
68 {
69 myExitPrice=AvgEntryPrice*(1+StopPercent/100);
70 myExitPrice=Max(Open,myExitPrice);
71 BuyToCover(0,myExitPrice);
72 }
73 }
74
75 If(Time>=ExitonCloseMins/100)
76 {
77 Sell(0,Open);
78 BuyToCover(0,Open);
79 }
80
81 End
82
83

[此贴子已经被作者于2012-3-15 9:40:55编辑过]

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


加好友 发短信
等级:新手上路 帖子:5 积分:30 威望:0 精华:0 注册:2012/3/15 9:25:15
  发帖心情 Post By:2012/3/15 9:54:17    Post IP:58.210.34.238[显示全部帖子]

 我是12年应届毕业生,本科学计算机的,没啥基础。现在在一个期货公司实习,刚来,头布置了任务,把TB里的程序转到金字塔里,程序是他给我的。看这个程序的意思就是:1、先求过去30个周期的最高点与最低点的差价的平均值  2,求得过去10天的平均开盘价,作为中间线,在加减1求的值,作为上下轨  3然后就是三个判断条件,一个当天最高价大于上轨,不是多仓,时间小于10.5,就对应一个操作。。。   PS这是头布置的任务,总共5个程序,两周内转到金字塔。要是完成,就能转正。我现在是零基础,才看了三四天,有点迷糊,so 求大侠帮助,感激涕零。
[此贴子已经被作者于2012-3-15 9:56:35编辑过]

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


加好友 发短信
等级:新手上路 帖子:5 积分:30 威望:0 精华:0 注册:2012/3/15 9:25:15
  发帖心情 Post By:2012/3/15 11:31:26    Post IP:58.210.34.238[显示全部帖子]

 谢谢

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


加好友 发短信
等级:新手上路 帖子:5 积分:30 威望:0 精华:0 注册:2012/3/15 9:25:15
  发帖心情 Post By:2012/3/15 13:34:15    Post IP:58.210.34.238[显示全部帖子]

以下是引用rushtaotao在2012-3-15 12:40:31的发言:

//1、先求过去30个周期的最高点与最低点的差价的平均值 
zg:=ref(LLV(low,30),1);
zd:=ref(hhv(high,30),1);
chajia:(zg-zd)/30,;

//2,以if01为例子,求得过去10天的平均开盘价,作为中间线,在加减1求的值,作为上下轨
dayopen:"if01$open#day";
kaipan:ma(dayopen,10);
shanggui:kaipan+1;
xiagui:kaipan-1;

//3然后就是三个判断条件,一个当天最高价大于上轨,不是多仓,时间小于10.5

nn:=barslast(date<>ref(date,1))+1;

aa:ref(hhv(h,nn),1);
if aa>shanggui then buy(1,1,market);

if holding<=0 then buy(1,1,market);

if time<100500

 then buy(1,1,market);

 

 同为实习生,必须得支持一下




您好,//1,原程序的意思是先求出过去30个周期里,每个周期最高价减去最低价,求的30个差价后,然后相加,除30,求平均

[此贴子已经被作者于2012-3-15 12:41:23编辑过]

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


加好友 发短信
等级:新手上路 帖子:5 积分:30 威望:0 精华:0 注册:2012/3/15 9:25:15
  发帖心情 Post By:2012/3/15 13:35:08    Post IP:58.210.34.238[显示全部帖子]

 

您好,//1,原程序的意思是先求出过去30个周期里,每个周期最高价减去最低价,求的30个差价后,然后相加,除30,求平均


 回到顶部