_Amplitude_allHistAvg

Author: Copyright � 2005, komposter
2 Views
0 Downloads
0 Favorites
_Amplitude_allHistAvg
//+------------------------------------------------------------------+
//|                                              	Amplitude_All.mq4 |
//|                                      Copyright © 2005, komposter |
//|                                      mailto:komposterius@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, komposter"
#property link      "mailto:komposterius@mail.ru"

#property indicator_separate_window
#property indicator_minimum 0
#property  indicator_buffers 5
#property  indicator_color1  Chartreuse
#property  indicator_color2  Green
#property  indicator_color3  Blue
#property  indicator_color4  Red
#property  indicator_color5  SlateGray
#property indicator_width2 2
#property indicator_style5 2


//---- EASY TO READ indicator parameters  

extern bool  show.info       = true;
extern int   win             = 1;
extern int price.x.offset    = 250;  //250
extern int price.y.offset    = -160; //-190
//+------------------------------------------------------------------+ 


double buf0[]; //High-Low Average
double buf1[]; //Body Average
double buf2[]; //Up_Shadow Average
double buf3[]; //Down_Shadow Average
double buf4[]; //Summ_Shadow Average

int init()
{
//	IndicatorShortName( "Amplitude(All history average)   -   " );

	IndicatorShortName( "Ampltd(allHistAvg)HL,OC,(Hwg,Lwg)H+Lwg" );

	IndicatorDigits ( 2 );

	SetIndexBuffer ( 0 , buf0 );
	SetIndexStyle ( 0 , DRAW_LINE, STYLE_DOT );
	SetIndexDrawBegin ( 0 , 0 );
	SetIndexLabel( 0 , "High-Low");

	SetIndexBuffer ( 1 , buf1 );
	SetIndexStyle ( 1 , DRAW_LINE, STYLE_DOT );
	SetIndexDrawBegin ( 1 , 0 );
	SetIndexLabel( 1 , "Open-Close");

	SetIndexBuffer ( 2 , buf2 );
	SetIndexStyle ( 2 , DRAW_LINE, STYLE_DOT );
	SetIndexDrawBegin ( 2 , 0 );
	SetIndexLabel( 2 , "Up_Shadow");

	SetIndexBuffer ( 3 , buf3 );
	SetIndexStyle ( 3 , DRAW_LINE, STYLE_DOT );
	SetIndexDrawBegin ( 3 , 0 );
	SetIndexLabel( 3 , "Down_Shadow");

	SetIndexBuffer ( 4 , buf4 );
	SetIndexStyle ( 4 , DRAW_LINE, STYLE_DOT );
	SetIndexDrawBegin ( 4 , 0 );
	SetIndexLabel( 4 , "Summ_Shadow");

return(0);
}

int start()
{
	int counted_bars=IndicatorCounted();
	if ( counted_bars < 0 ) { Print( "Indicator Error (Counted bars < 0)!" ); return(-1); }
	if ( Bars < 100 ) { Print( "Indicator Error (bars < 100)!" ); return(-1); }
	int limit = Bars - 1;

	double buf_tmp = 0.0, buf_tmp1 = 0.0, buf_tmp2 = 0.0, buf_tmp3 = 0.0, buf_tmp4 = 0.0;
	int bars = Bars, z, z1, z2, z3, z4;
	double high, low, close, open, point = Point;

	for ( int i = limit; i >= 0; i -- )
	{
		high = High[i]; low = Low[i]; close = Close[i]; open = Open[i];

		buf_tmp += ( high - low ) / point;
		buf0[i] = buf_tmp / ( bars - i + z );
		if ( ( high - low ) / point == 0 ) z --;

		buf_tmp1 += MathAbs( ( close - open ) ) / point;
		buf1[i] = buf_tmp1 / ( bars - i + z1 );
		if ( MathAbs( ( close - open ) ) / point  == 0 ) z1 --;

		if ( close - open >= 0 )
		{
			buf_tmp2 += ( high - close ) / point;
			buf2[i] = buf_tmp2 / ( bars - i + z2 );
			if ( ( high - close ) / point  == 0 ) z2 --;

			buf_tmp3 += ( open - low ) / point;
			buf3[i] = buf_tmp3 / ( bars - i + z3 );
			if ( ( open - low ) / point  == 0 ) z3 --;
		}
		else
		{
			buf_tmp2 += ( high - open ) / point;
			buf2[i] = buf_tmp2 / ( bars - i + z2 );
			if ( ( high - open ) / point  == 0 ) z2 --;

			buf_tmp3 += ( close - low ) / point;
			buf3[i] = buf_tmp3 / ( bars - i + z3 );
			if ( ( close - low ) / point  == 0 ) z3 --;
		}
		buf4[i] = buf2[i] + buf3[i];
	}




//+------------------------------------------------------------------+ 
if (show.info) {    

//int win  = WindowFind("_Amplitude_AHArsAvt"); 
   
int tDig = Digits ;
   
string tLabl = "AHA" ;

string tMain =  DoubleToStr( buf0[0] , tDig ) ;  
string tTopL =  DoubleToStr( buf2[0] , tDig ) ; 
string tBotL =  DoubleToStr( buf3[0] , tDig ) ; 
string tTopR =  DoubleToStr( buf1[0] , tDig ) ; 
string tBotR =  DoubleToStr( buf4[0] , tDig ) ; 

color cLabl =  Gray ;
color cMain =  Chartreuse ;   
color cTopL =  Blue ; 
color cBotL =  Crimson  ; 
color cTopR =  Red ; 
color cBotR =  SlateGray ;


   ObjectCreate("AHA_LB", OBJ_LABEL, win, 0, 0);// main LABEL
   ObjectSetText("AHA_LB", tLabl , 30, "Arial Bold", cLabl );
   ObjectSet("AHA_LB", OBJPROP_CORNER, 0);
   ObjectSet("AHA_LB", OBJPROP_XDISTANCE, 760+price.x.offset);
   ObjectSet("AHA_LB", OBJPROP_YDISTANCE, 160+price.y.offset);
 
   ObjectCreate("AHA_TL", OBJ_LABEL, win, 0, 0);// top left LABEL
   ObjectSetText("AHA_TL", tTopL , 15, "Arial Bold", cTopL );
   ObjectSet("AHA_TL", OBJPROP_CORNER, 0);
   ObjectSet("AHA_TL", OBJPROP_XDISTANCE, 770+price.x.offset);
   ObjectSet("AHA_TL", OBJPROP_YDISTANCE, 197+price.y.offset);
   
   ObjectCreate("AHA_BL", OBJ_LABEL, win, 0, 0);//HiLow LABEL
   ObjectSetText("AHA_BL", tBotL , 15, "Arial Bold", cBotL );
   ObjectSet("AHA_BL", OBJPROP_CORNER, 0);
   ObjectSet("AHA_BL", OBJPROP_XDISTANCE, 770+price.x.offset);
   ObjectSet("AHA_BL", OBJPROP_YDISTANCE, 260+price.y.offset);                 
                     
   ObjectCreate("AHA_MN", OBJ_LABEL, win, 0, 0);//HiLow LABEL
   ObjectSetText("AHA_MN", tMain , 40, "Arial Bold", cMain );
   ObjectSet("AHA_MN", OBJPROP_CORNER, 0);
   ObjectSet("AHA_MN", OBJPROP_XDISTANCE, 800+price.x.offset); // 765
   ObjectSet("AHA_MN", OBJPROP_YDISTANCE, 210+price.y.offset); 
           
 
   ObjectCreate("AHA_TR", OBJ_LABEL, win, 0, 0);
   ObjectSetText("AHA_TR", tTopR , 15, "Arial Bold", cTopR );
   ObjectSet("AHA_TR", OBJPROP_CORNER, 0);
   ObjectSet("AHA_TR", OBJPROP_XDISTANCE, 860+price.x.offset);
   ObjectSet("AHA_TR", OBJPROP_YDISTANCE, 197+price.y.offset);
                 
   ObjectCreate("AHA_BR", OBJ_LABEL, win, 0, 0);
   ObjectSetText("AHA_BR", tBotR , 15, "Arial Bold", cBotR );
   ObjectSet("AHA_BR", OBJPROP_CORNER, 0);
   ObjectSet("AHA_BR", OBJPROP_XDISTANCE, 860+price.x.offset);
   ObjectSet("AHA_BR", OBJPROP_YDISTANCE, 260+price.y.offset);    
    
 
//+------------------------------------------------------------------+  
   WindowRedraw();    
} 

return(0);
}



Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---