论坛全局菜单下方 - TICKMILL 285X70论坛全局菜单下方 - ThinkMarkets285X70论坛全局菜单下方 - 荔枝返现285X70论坛全局菜单下方 -  icmarkets285X70
查看:1562回复:7
草龙
注册时间2004-12-17
[MT4指标]Aroon编写的kd指标,和国内的不大一样
楼主发表于:2014-01-24 01:54只看该作者倒序浏览
1楼 电梯直达
电梯直达
附图指标的一种kd显示指标 和国内的不大一样 这个指标应该使用上和国内的kd方法一样 mt4指标类型:震荡指标 是否能用在mt4手机版上:否 是否含有未来函数:否 //+------------------------------------------------------------------+ //| Custom Aroon Oscillator_v1.mq4 | //| rafcamara | //| Has corrected - Ramdass | //+------------------------------------------------------------------+ #property copyright "rafcamara" #property link "[email protected]" //---- indicator settings #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 DodgerBlue #property indicator_color2 Red #property indicator_color3 Snow #property indicator_color4 Green //---- indicator parameters extern int AroonPeriod = 10; extern int Filter = 50; extern int CountBars = 300; //---- indicator buffers double ind_buffer1; double ind_buffer2; double ind_buffer3; double HighBarBuffer; double LowBarBuffer; double ArOscBuffer; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- additional buffers are used for counting. IndicatorBuffers(6); SetIndexBuffer(4, HighBarBuffer); SetIndexBuffer(5, LowBarBuffer); SetIndexBuffer(3, ArOscBuffer); SetIndexBuffer(0, ind_buffer1); SetIndexBuffer(1, ind_buffer2); SetIndexBuffer(2, ind_buffer3); //---- drawing settings SetIndexStyle(0, DRAW_HISTOGRAM, STYLE_SOLID, 1); SetIndexStyle(1, DRAW_HISTOGRAM, STYLE_SOLID, 1); SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, 1); SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 1); //---- IndicatorDigits(0); //-- indicator buffers mapping if(!SetIndexBuffer(0, ind_buffer1) && !SetIndexBuffer(1, ind_buffer2) && !SetIndexBuffer(2, ind_buffer3)) Print("cannot set indicator buffers!"); //---- name for DataWindow and indicator subwindow label IndicatorShortName("AroonOsc_v1 (" + AroonPeriod + ", " + Filter + ")"); //---- initialization done return(0); } //+------------------------------------------------------------------+ //| Aroon Oscilator | //+------------------------------------------------------------------+ int start() { if(CountBars >= Bars) CountBars=Bars; SetIndexDrawBegin(0, Bars - CountBars + AroonPeriod + 1); SetIndexDrawBegin(1, Bars - CountBars + AroonPeriod + 1); SetIndexDrawBegin(2, Bars - CountBars + AroonPeriod + 1); SetIndexDrawBegin(3, Bars - CountBars + AroonPeriod + 1); double ArOsc, HighBar = 0, LowBar = 0; int ArPer; int limit, i; // bool up,dn; int counted_bars = IndicatorCounted(); //---- ArPer = AroonPeriod; //---- check for possible errors if(counted_bars < 0) return(-1); //---- initial zero if(counted_bars < 1) { for(i = 1; i <= ArPer; i++) HighBarBuffer[CountBars-i] = 0.0; for(i = 1; i <= ArPer; i++) LowBarBuffer[CountBars-i] = 0.0; for(i = 1; i <= ArPer; i++) ArOscBuffer[CountBars-i] = 0.0; for(i = 1; i <= ArPer; i++) ind_buffer1[CountBars-i] = 0.0; for(i = 1; i <= ArPer; i++) ind_buffer2[CountBars-i] = 0.0; for(i = 1; i <= ArPer; i++) ind_buffer3[CountBars-i] = 0.0; } //---- last counted bar will be recounted //if(counted_bars>0) counted_bars--; limit = CountBars - AroonPeriod; //----Calculation--------------------------- for(i = 0; i < limit; i++) { HighBarBuffer = Highest(NULL, 0, MODE_HIGH, ArPer, i); //Periods from HH LowBarBuffer = Lowest(NULL, 0, MODE_LOW, ArPer, i); //Periods from LL ArOscBuffer = 100*(LowBarBuffer - HighBarBuffer) / ArPer; //Short formulation } //---- dispatch values between 2 buffers for(i = limit - 1; i >= 0; i--) { ArOsc=ArOscBuffer; if(ArOsc > Filter) { ind_buffer1 = ArOsc; ind_buffer2 = 0.0; ind_buffer3 = 0.0; } if(ArOsc < -Filter) { ind_buffer1 = 0.0; ind_buffer2 = ArOsc; ind_buffer3 = 0.0; } if(ArOsc <= Filter && ArOsc >= -Filter) { ind_buffer1 = 0.0; ind_buffer2 = 0.0; ind_buffer3 = ArOsc; } } //---- done return(0); } //+------------------------------------------------------------------+Aroon_Oscillator_v1.jpgAroon_Oscillator_v1.jpg
TK29帖子1楼右侧xm竖版广告90-240
个性签名

阅尽天下指标
搬砖开始,始于2014

广告
TK30+TK31帖子一樓廣告
TK30+TK31帖子一樓廣告
yunyun35
注册时间2014-01-19
HONGCHUN
注册时间2014-06-19
发表于:2015-06-17 10:07只看该作者
3楼
谢谢楼主,辛苦了
个性签名

韬客社区www.talkfx.co

恋风
注册时间2015-01-02
paopaol
注册时间2015-06-05
rimonky
注册时间2014-11-29
发表于:2015-07-01 11:57只看该作者
6楼
感谢分享
Pzxzx
注册时间2017-08-06
发表于:2017-08-10 04:17只看该作者
7楼
缺钱,灌水赚通宝,谢谢分享!!
dkfjru
注册时间2017-11-22

本站免责声明:

1、本站所有广告及宣传信息均与韬客无关,如需投资请依法自行决定是否投资、斟酌资金安全及交易亏损风险;

2、韬客是独立的、仅为投资者提供交流的平台,网友发布信息不代表韬客的观点与意思表示,所有因网友发布的信息而造成的任何法律后果、风险与责任,均与韬客无关;

3、金融交易存在极高法律风险,未必适合所有投资者,请不要轻信任何高额投资收益的诱导而贸然投资;投资保证金交易导致的损失可能超过您投入的资金和预期。请您考虑自身的投资经验及风险承担能力,进行合法、理性投资;

4、所有投资者的交易帐户应仅限本人使用,不应交由第三方操作,对于任何接受第三方喊单、操盘、理财等操作的投资和交易,由此导致的任何风险、亏损及责任由投资者个人自行承担;

5、韬客不隶属于任何券商平台,亦不受任何第三方控制,韬客不邀约客户投资任何保证金交易,不接触亦不涉及投资者的任何资金及账户信息,不代理任何交易操盘行为,不向客户推荐任何券商平台,亦不存在其他任何推荐行为。投资者应自行选择券商平台,券商平台的任何行为均与韬客无关。投资者注册及使用韬客即表示其接受和认可上述声明,并自行承担法律风险。

版权所有:韬客外汇论坛 www.talkfx.com 联络我们:[email protected]