[MT4指标]Aroon编写的kd指标,和国内的不大一样
附图指标的一种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.jpg
发表于:2014-01-25 02:56只看该作者
2楼
谢谢楼主,辛苦了
发表于:2015-06-17 10:07只看该作者
3楼
谢谢楼主,辛苦了
韬客社区www.talkfx.co
发表于:2015-06-17 14:38只看该作者
4楼
谢谢楼主,辛苦了
韬客社区www.talkfx.co
发表于:2015-07-01 11:57只看该作者
6楼
感谢分享
韬客社区www.talkfx.co
发表于:2017-08-10 04:17只看该作者
7楼
缺钱,灌水赚通宝,谢谢分享!!
韬客社区www.talkfx.co
发表于:2017-11-24 12:37只看该作者
8楼
谢谢楼主
韬客社区www.talkfx.co