香蕉我好像不懂 刘欢带血啊 怕怕怕 求高手指点 不懂...

本人新手,现在看了ATR指标的代码有好多都不懂,求高手指点解释 - MT4老师答疑 - 智能交易网,程序化交易,自动交易,量化交易 -
后使用快捷导航没有帐号?
查看: 800|回复: 6
本人新手,现在看了ATR指标的代码有好多都不懂,求高手指点解释
#property copyright& &&, MetaQuotes Software Corp.&
#property link& && &&&&&
#property description &Average True Range&
#property strict
//--- indicator settings
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1&&DodgerBlue
//--- input parameter
input int InpAtrPeriod=14; // ATR Period
//--- buffers
double ExtATRBuffer[];
double ExtTRBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function& && && && && && && && & |
//+------------------------------------------------------------------+
int OnInit(void)
& &string short_
//--- 1 additional buffer used for counting.
& &IndicatorBuffers(2);
& &IndicatorDigits(Digits);
//--- indicator line
& &SetIndexStyle(0,DRAW_LINE);
& &SetIndexBuffer(0,ExtATRBuffer);
& &SetIndexBuffer(1,ExtTRBuffer);
//--- name for DataWindow and indicator subwindow label
& &short_name=&ATR(&+IntegerToString(InpAtrPeriod)+&)&;
& &IndicatorShortName(short_name);
& &SetIndexLabel(0,short_name);
//--- check for input parameter
& &if(InpAtrPeriod&=0)
& && &Print(&Wrong input parameter ATR Period=&,InpAtrPeriod);
& && &return(INIT_FAILED);
& &SetIndexDrawBegin(0,InpAtrPeriod);
& &return(INIT_SUCCEEDED);
//+------------------------------------------------------------------+
//| Average True Range& && && && && && && && && && && && && && && &&&|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
& && && && && & const int prev_calculated,
& && && && && & const datetime &time[],
& && && && && & const double &open[],
& && && && && & const double &high[],
& && && && && & const double &low[],
& && && && && & const double &close[],
& && && && && & const long &tick_volume[],
& && && && && & const long &volume[],
& && && && && & const int &spread[])
//--- check for bars count and input parameter
& &if(rates_total&=InpAtrPeriod || InpAtrPeriod&=0)
& && &return(0);
//--- counting from 0 to rates_total
& &ArraySetAsSeries(ExtATRBuffer,false);
& &ArraySetAsSeries(ExtTRBuffer,false);
& &ArraySetAsSeries(open,false);
& &ArraySetAsSeries(high,false);
& &ArraySetAsSeries(low,false);
& &ArraySetAsSeries(close,false);
//--- preliminary calculations
& &if(prev_calculated==0)
& && &ExtTRBuffer[0]=0.0;
& && &ExtATRBuffer[0]=0.0;
& && &//--- filling out the array of True Range values for each period
& && &for(i=1; i&rates_ i++)
& && && &ExtTRBuffer=MathMax(high,close[i-1])-MathMin(low,close[i-1]);
& && &//--- first AtrPeriod values of the indicator are not calculated
& && &double firstValue=0.0;
& && &for(i=1; i&=InpAtrP i++)
& && && &ExtATRBuffer=0.0;
& && &&& firstValue+=ExtTRBuffer;
& && &//--- calculating the first value of the indicator
& && &firstValue/=InpAtrP
& && &ExtATRBuffer[InpAtrPeriod]=firstV
& && &limit=InpAtrPeriod+1;
& && &limit=prev_calculated-1;
//--- the main loop of calculations
& &for(i= i&rates_ i++)
& &&& ExtTRBuffer=MathMax(high,close[i-1])-MathMin(low,close[i-1]);
& && &ExtATRBuffer=ExtATRBuffer[i-1]+(ExtTRBuffer-ExtTRBuffer[i-InpAtrPeriod])/InpAtrP
//--- return value of prev_calculated for next call
& &return(rates_total);
以上红色部分都希望可以帮忙解释下
ArraySetAsSeries 好像在视频教程中说现在版本的MT4编程中,是没用的吧,是指从左到右为正序列,默认都是正序列为true,这个我知道,这里ATR代码里有了是不是多余的??
TR的意思是取(当前最高价-当前最低价),当前最高-前收盘的绝对值,当前最低-前收盘的绝对值,三个中的最大数
ExtTRBuffer=MathMax(high,close[i-1])-MathMin(low,close[i-1]) 这句代码是这个意思吗??
还有 firstValue+=ExtTRBuffer;这句代码又是什么意思?
ExtTRBuffer=MathMax(high,close[i-1])-MathMin(low,close[i-1]);
ExtATRBuffer=ExtATRBuffer[i-1]+(ExtTRBuffer-ExtTRBuffer[i-InpAtrPeriod])/InpAtrPeriod
这两句代码也希望能解释下
有哪位高手解释下啊
ArraySetAsSeries(arry[],false)& &//false,数组正序排列
ExtTRBuffer=MathMax(high,close[i-1])-MathMin(low,close[i-1])& &//buffer是一个数组,将最高价和收盘价中的最大的数减去最低价和收盘价中最小的数赋值到buffer数组中
firstValue+=ExtTRB& &&&//firstValue=firstValue+ExtTRBuffer
有个打错了,
& && &firstValue/=InpAtrP这是什么意思?
& && &firstValue/=InpAtrP这个算什么意思?
本帖最后由 光辉助理 于
10:16 编辑
firstValue/=InpAtrP这个算什么意思?
a/=c& && &就是a=a/c
{:soso_e201:}
Powered by皮肤黄怎么变白?求高手指点下!_百度知道杰出版主勋章获得茶坊年度评选杰出版主称号的版主真实网友通过手机认证的茶坊注册会员环保勋章参加茶坊公益环保活动的活跃网友版主勋章通过见习期,成功转正的论坛版主客户端勋章使用茶坊客户端登录的用户
总积分:44394
360强制杀,沟了杀毒完成后自动关机栏,再重新启动就成了这个样子,烦请高手指点,如何才能打开电脑,若有高手上门操作,本人愿意支付上门费或是重装系统费。谢了!
公告: 业主社区(/)各子论坛诚征版主, 有意请点击.
环保勋章参加茶坊公益环保活动的活跃网友客户端勋章使用茶坊客户端登录的用户
总积分:7655
***小妖,他是高手
环保勋章参加茶坊公益环保活动的活跃网友客户端勋章使用茶坊客户端登录的用户
总积分:7655
他最不喜欢360,360杀毒有时会破坏一些软件的功能
环保勋章参加茶坊公益环保活动的活跃网友客户端勋章使用茶坊客户端登录的用户
总积分:7655
我现在听妖的,没***360
杰出版主勋章获得茶坊年度评选杰出版主称号的版主真实网友通过手机认证的茶坊注册会员环保勋章参加茶坊公益环保活动的活跃网友版主勋章通过见习期,成功转正的论坛版主客户端勋章使用茶坊客户端登录的用户
总积分:44394
现换了台小电脑上了,大电脑还是不行,高手们都睡觉了吗
环保勋章参加茶坊公益环保活动的活跃网友
总积分:110029
我没睡觉,但不是高手,只能装哑巴
客户端勋章使用茶坊客户端登录的用户
总积分:42094
不懂 只能飘过
客户端勋章使用茶坊客户端登录的用户环保勋章参加茶坊公益环保活动的活跃网友
总积分:23139
我们干着急
客户端勋章使用茶坊客户端登录的用户
总积分:11077
小曲,偶对待所有不听话的电器统统是:一阵猛拍,然后拨了电源重插一次。
杰出版主勋章获得茶坊年度评选杰出版主称号的版主版主勋章通过见习期,成功转正的论坛版主客户端勋章使用茶坊客户端登录的用户
总积分:143512
开机,按F6,进入安全模式,卸载360,就好了
积分 + 0 还是如此,又回到此界面
环保勋章参加茶坊公益环保活动的活跃网友客户端勋章使用茶坊客户端登录的用户
总积分:253233
看来要重新装系统了。
杰出版主勋章获得茶坊年度评选杰出版主称号的版主真实网友通过手机认证的茶坊注册会员环保勋章参加茶坊公益环保活动的活跃网友版主勋章通过见习期,成功转正的论坛版主客户端勋章使用茶坊客户端登录的用户
总积分:44394
这下惨了,梅山这边没人上门的,如何联系人上门给我装系统啊,害人的杀毒软件。
杰出版主勋章获得茶坊年度评选杰出版主称号的版主版主勋章通过见习期,成功转正的论坛版主客户端勋章使用茶坊客户端登录的用户
总积分:143512
财务软件怎么办?
[完成后可按 Ctrl+Enter 发布]
| & 5淘房 江苏三六五网络股份有限公司苏ICP证编号 B2- 信息网络传播视听节目许可证 1009365 号广播电视节目制作经营许可证(苏)字第230号 文明办网上文明上网 举报***:025-
扫一扫,立刻加茶坊微信
马上扫描下载淘房客户端
马上登录,发帖回帖,赚取积分换礼品
还没有茶坊账号?马上
用其他帐号登录:
亲,您还没登陆华侨路茶坊哦,立即登陆发表观点,分享生活的点点滴滴,还可以赢取茶坊cp,兑换礼品哦~
你可以选择:
免费订阅楼盘动态、开盘、优惠随时掌握

参考资料

 

随机推荐