[MT4指标]BLines_Profi指标
主图指标
BLines_Profi指标
mt4指标类型:趋势指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//| BLines_Profi_v1.mq4 |
//| Profi_R |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2005, MetaQuotes Software Corp."
#property link "Profi_R"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Blue
#property indicator_color2 DodgerBlue
#property indicator_color3 Yellow
#property indicator_color4 Yellow
#property indicator_color5 Black
#property indicator_color6 White
#property indicator_color7 Black
#property indicator_color8 White
//---- input parameters
extern int Range=5;
extern int NextTF=240;
extern double FiboLevel=0.618;
//---- buffers
double StBPoint;
double DBPoint;
double StBStep;
double DBStep;
double StSupport;
double DSupport;
double StResistance;
double DResistance;
//----
int d_b,Displacement;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2);
SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2);
SetIndexStyle(4,DRAW_LINE,STYLE_DOT);
SetIndexStyle(5,DRAW_LINE,STYLE_DOT);
SetIndexStyle(6,DRAW_LINE,STYLE_DOT);
SetIndexStyle(7,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(0,StBPoint);
SetIndexBuffer(1,DBPoint);
SetIndexBuffer(2,StBStep);
SetIndexBuffer(3,DBStep);
SetIndexBuffer(4,StSupport);
SetIndexBuffer(5,DSupport);
SetIndexBuffer(6,StResistance);
SetIndexBuffer(7,DResistance);
SetIndexLabel(0,"Static level of balance");
SetIndexLabel(1,"Dynamic level of balance");
SetIndexLabel(2,"Static steps of balance");
SetIndexLabel(3,"Dynamic steps of balance");
SetIndexLabel(4,"Static level of support (Fibo"+FiboLevel*100+"%)");
SetIndexLabel(5,"Dynamic level of support (Fibo"+FiboLevel*100+"%)");
SetIndexLabel(6,"Static level of resistance (Fibo"+FiboLevel*100+"%)");
SetIndexLabel(7,"Dynamic level of resistance (Fibo"+FiboLevel*100+"%)");
string short_name;
short_name="Lines of balance ("+Range+","+NextTF+","+FiboLevel*100+")";
IndicatorShortName(short_name);
if( NextTF>Period() )
{
d_b=Range*NextTF/Period();
if( NextTF<10080)
{
Displacement=NextTF/Period();
}
else
{
if( NextTF==10080 )
{
Displacement=7200/Period();
}
else
{
if( NextTF==43200 )
{
Displacement=31680/Period();
}
}
}
}
else
{
return(-1);
}
SetIndexDrawBegin(0,d_b);
SetIndexDrawBegin(1,d_b);
SetIndexDrawBegin(2,d_b);
SetIndexDrawBegin(3,d_b);
SetIndexDrawBegin(4,d_b);
SetIndexDrawBegin(5,d_b);
SetIndexDrawBegin(6,d_b);
SetIndexDrawBegin(7,d_b);
SetIndexShift(0,Displacement);
SetIndexShift(2,Displacement);
SetIndexShift(4,Displacement);
SetIndexShift(6,Displacement);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int cb,limit,sbb_index,sbb_Aux_i,sbe_Aux_i,i;
int counted_bars=IndicatorCounted();
datetime Corresp_bbbnTime;
double StHigh,StLow,DHigh,DLow,SStBStep,SDBStep;
//----
if( NextTF<=Period() )
{
Alert("Incorrect parameter NextTF, it should be more current TF!");
return(-1);
}
if( counted_bars<0 )
{
return(-1);
}
else
{
if( Bars-1-counted_bars>Bars-1-d_b )
{
limit=Bars-1-d_b;
}
else
{
if( Bars-1-counted_bars>=0 )
{
limit=Bars-1-counted_bars;
}
else
{
limit=0;
}
}
}
limit=Bars-1-counted_bars;
//----
for(cb=limit;cb>=0;cb--)
{
Corresp_bbbnTime=NormTimeBarBegin(Time[cb],NextTF);
sbb_index=n_iBarShift(Corresp_bbbnTime,Period());
StHigh=High[Highest(NULL,0,MODE_HIGH,sbb_index-cb+1,cb)];
StLow=Low[Lowest(NULL,0,MODE_LOW,sbb_index-cb+1,cb)];
StBPoint[cb]=MathRound((Close[cb]+StHigh+StLow)/3/Point)*Point;
StSupport[cb]=StBPoint[cb]-MathRound((StHigh-StLow)*FiboLevel/Point)*Point;
StResistance[cb]=StBPoint[cb]+MathRound((StHigh-StLow)*FiboLevel/Point)*Point;
if( cbBLines_Profi_v11.jpg