Navigation:Home > Content >

HL.mq4

Time: 2010-04-10 | Download file:HL.mq4

//+------------------------------------------------------------------+
//| H_L.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Blue
#property indicator_color3 Yellow
#property indicator_color4 Yellow
//---- input parameters
extern int S=4;
//---- buffers
double ID_0[];
double ID_1[];
double ID_2[];
double ID_3[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(4);
SetIndexBuffer(0,ID_0);
SetIndexBuffer(1,ID_1);
SetIndexBuffer(2,ID_2);
SetIndexBuffer(3,ID_3); 
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_LINE);
SetIndexStyle(3,DRAW_LINE);
//----//
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if (counted_bars<0) return (-1);
if (counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
int A1=0;int A1d=0;
int A2=0;int A2d=0;
int V1=0;int V1d=0;
int V2=0;int V2d=0;
int AX=0;int AXd=0;
int BX=0;int BXd=0;
int CX=0;int CXd=0;
int DX=0;int DXd=0;

for (int cnt1=0; cnt1=0;cnt3--)
{//---------------------------------------------------
if (cnt3>0 && ID_0[cnt3]0 && ID_0[cnt3]==ID_0[cnt3-1] && AX>0)
{ 
BX=cnt3-1;
} 
if (cnt3>0 && ID_0[cnt3]>ID_0[cnt3-1] && AX>0) //
{ 
if (A1==0) 
{
A1=(AX+BX)/2;
}
if (A1>0) 
{
A2=(AX+BX)/2;
}
if (A1>0 && A2>0) 
{
for (int cnt4=1;cnt4<=A1-A2;cnt4++)
{
ID_0[A2+cnt4]=ID_0[A2]+(((ID_0[A1]-ID_0[A2])*cnt4)/(A1-A2));
}
A1=A2;
A2=0;
} 
}
//-----------------------------------------------
if (cnt3>0 && ID_1[cnt3]>ID_1[cnt3-1])
{ 
CX=cnt3-1;
DX=CX;
}
if (cnt3>0 && ID_1[cnt3]==ID_1[cnt3-1] && CX>0)
{ 
DX=cnt3-1;
} 
if (cnt3>0 && ID_1[cnt3]0) 
{ 
if (V1==0) 
{
V1=(CX+DX)/2;
}
if (V1>0) 
{
V2=(CX+DX)/2;
}
if (V1>0 && V2>0) 
{
for (int cnt5=1;cnt5<=V1-V2;cnt5++) 
{
ID_1[V2+cnt5]=ID_1[V2]+(((ID_1[V1]-ID_1[V2])*cnt5)/(V1-V2));
}
V1=V2;
V2=0;
} 
}
//---------------------------------------------------
//---------------------------------------------------
if (cnt3>0 && ID_2[cnt3]0 && ID_2[cnt3]==ID_2[cnt3-1] && AXd>0)
{ 
BXd=cnt3-1;
} 
if (cnt3>0 && ID_2[cnt3]>ID_2[cnt3-1] && AXd>0) 
{ 
if (A1d==0) 
{
A1d=(AXd+BXd)/2;
}
if (A1d>0) 
{
A2d=(AXd+BXd)/2;
}
if (A1d>0 && A2d>0) 
{
for (int cnt41=1;cnt41<=A1d-A2d;cnt41++) 
{
ID_2[A2d+cnt41]=ID_2[A2d]+(((ID_2[A1d]-ID_2[A2d])*cnt41)/(A1d-A2d));
}
A1d=A2d;
A2d=0;
} 
}
//-----------------------------------------------
if (cnt3>0 && ID_3[cnt3]>ID_3[cnt3-1])
{ 
CXd=cnt3-1;
DXd=CXd;
}
if (cnt3>0 && ID_3[cnt3]==ID_3[cnt3-1] && CXd>0)
{ 
DXd=cnt3-1;
} 
if (cnt3>0 && ID_3[cnt3]0) 
{ 
if (V1d==0) 
{
V1d=(CXd+DXd)/2;
}
if (V1d>0) 
{
V2d=(CXd+DXd)/2;
}
if (V1d>0 && V2d>0) 
{
for (int cnt51=1;cnt51<=V1d-V2d;cnt51++) 
{
ID_3[V2d+cnt51]=ID_3[V2d]+(((ID_3[V1d]-ID_3[V2d])*cnt51)/(V1d-V2d));
}
V1d=V2d;
V2d=0;
} 
} 
}//-----------------------------------------------------
} 

return(0);
}

Recommend