[MT4指标]动态斐波那契指标
主图指标
mt4指标类型:趋势指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//| Brooky_Fibbed_Donchian.mq4 |
//| Copyright ? 2010, www.Brooky-Indicators.com. |
//| http://www.www.Brooky-Indicators.com |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2010, www.Brooky-Indicators.com."
#property link "http://www.www.Brooky-Indicators.com"
extern string Hello_From = " www.Brooky-Indicators.com ";
//---- indicator settings
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_width1 1
#property indicator_width2 1
#property indicator_color3 Orange
#property indicator_color4 DodgerBlue
#property indicator_width3 1
#property indicator_width4 1
#property indicator_color5 Yellow
#property indicator_color6 Aqua
#property indicator_width5 1
#property indicator_width6 1
#property indicator_color7 Aqua
#property indicator_width7 2
//---- indicator parameters
extern string Setting_1 = "+-- Bars Back between Peaks and Troughs --+";
extern int periods=96;
extern string Setting_1a = "+-- Use Hi Lo or Close Prices --+";
extern bool use_closes = false;
extern int shift_ahead =0;
extern string Setting_2 = "+-- % change: Reduces by % value --+";
extern int percent_range_change=50;
extern string Setting_3 = "+-- Inner Line Fib Levels --+";
extern double fib1 = 0.236;
extern double fib2 = 0.382;
extern string Setting_4 = "+-- Fib Line Style 0 to 4 --+";
extern string Setting_4a = "+ 0=Solid, 1=Dash, 2=DashDot, 3=DashDotDot +";
extern int line_style = 2;
extern string Setting_5 = "+-- Centre Line Style 0 to 4 --+";
extern int mean_line_style = 0;
extern string Setting_6 = "+-- See Line Prices --+";
extern bool see_all_prices = false;
extern bool see_main_prices = true;
extern int label_size = 2;
extern string Setting_7 = "+-- Sound Alert --+";
extern bool alerts_on =true;
extern bool alert_mean_line_cross = true;
extern bool alert_channel_line_cross = true;
//---- indicator buffers
double upper;
double lower;
double inupper;
double inlower;
double in2upper;
double in2lower;
double mean;
int init()
{
//---- indicator buffers
SetIndexBuffer(0,upper);
SetIndexStyle(0,DRAW_LINE,line_style);
SetIndexLabel(0,"Upper");
SetIndexShift(0,shift_ahead);
SetIndexBuffer(1,lower);
SetIndexStyle(1,DRAW_LINE,line_style);
SetIndexLabel(1,"Lower");
SetIndexShift(1,shift_ahead);
SetIndexBuffer(2,inupper);
SetIndexStyle(2,DRAW_LINE,line_style);
SetIndexLabel(2,"Upper Less"+DoubleToStr(fib1*1000,0));
SetIndexShift(2,shift_ahead);
SetIndexBuffer(3,inlower);
SetIndexStyle(3,DRAW_LINE,line_style);
SetIndexLabel(3,"Lower Plus"+DoubleToStr(fib1*1000,0));
SetIndexShift(3,shift_ahead);
SetIndexBuffer(4,in2upper);
SetIndexStyle(4,DRAW_LINE,line_style);
SetIndexLabel(4,"Upper Less"+DoubleToStr(fib2*1000,0));
SetIndexShift(4,shift_ahead);
SetIndexBuffer(5,in2lower);
SetIndexStyle(5,DRAW_LINE,line_style);
SetIndexLabel(5,"Lower Plus"+DoubleToStr(fib2*1000,0));
SetIndexShift(5,shift_ahead);
SetIndexBuffer(6,mean);
SetIndexStyle(6,DRAW_LINE,mean_line_style);
SetIndexLabel(6,"Mean");
SetIndexShift(6,shift_ahead);
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("Brooky Fibbed Donchian("+periods+")");
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectDelete("Price1");
ObjectDelete("Price2");
ObjectDelete("Price3");
ObjectDelete("Price4");
ObjectDelete("Price5");
ObjectDelete("Price6");
ObjectDelete("Price7");
//----
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
double up,lo,hilo,newup,newlo,newhilo,hnow,lnow;
//---- calculate values
for(int i=0; imean && lnowupper && lnowlower && lnowBrooky_Fibbed_Donchian.jpg