//+------------------------------------------------------------------+ //| Copyright © 2006, Keris2112 | //| IgorAd www.forex-tsd.com | //+------------------------------------------------------------------+ //2008fxtsd ki //mod +di-di & adx separate settings #property copyright "Copyright © 2006, Keris2112" #property link "http://www.forex-tsd.com" #property indicator_separate_window #property indicator_buffers 3 #property indicator_color1 DimGray #property indicator_color2 Green #property indicator_color3 Maroon #property indicator_style3 2 #property indicator_width2 2 #property indicator_level1 20 #property indicator_levelcolor SlateGray extern int TimeFrame = 0; extern int ADX_Period = 14; extern int DI_Period = 21; extern int applied_price = 0; extern int MaxBarsToCount = 1500; extern string note_Price = "0C 1O 2H 3L 4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6"; extern string TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN"; double ADX_buff[],PADX_buff[],NADX_buff[]; //+------------------------------------------------------------------+ int init() { //---- SetIndexBuffer(0,ADX_buff); SetIndexStyle (0,DRAW_LINE); SetIndexBuffer(1,PADX_buff); SetIndexStyle (1,DRAW_LINE); SetIndexBuffer(2,NADX_buff); SetIndexStyle (2,DRAW_LINE); switch(TimeFrame) { case 1 : string TimeFrameStr="M1"; break; case 5 : TimeFrameStr="M5"; break; case 15 : TimeFrameStr="M15"; break; case 30 : TimeFrameStr="M30"; break; case 60 : TimeFrameStr="H1"; break; case 240 : TimeFrameStr="H4"; break; case 1440 : TimeFrameStr="D1"; break; case 10080 : TimeFrameStr="W1"; break; case 43200 : TimeFrameStr="MN"; break; default : TimeFrameStr="TF0"; } TimeFrame = MathMax(TimeFrame, Period()); IndicatorShortName("ADX("+ADX_Period+") +DI-DI ("+DI_Period+") ["+TimeFrameStr+"]"); SetIndexLabel(0,"ADX ["+TimeFrame+"] "); SetIndexLabel(1,"+DI ["+TimeFrame+"]"); SetIndexLabel(2,"-DI ["+TimeFrame+"]"); SetIndexDrawBegin(0,ADX_Period); SetIndexDrawBegin(1,ADX_Period); SetIndexDrawBegin(2,ADX_Period); return(0); } //+--- int deinit() { return(0); } //+------- int start() { int i,y,limit; datetime TimeArray[]; ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame); int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; limit = MathMax (limit,TimeFrame/Period()); limit = MathMin (limit,MaxBarsToCount); for(i =0, y=0; i<limit; i++) { if (Time[i]<TimeArray[y]) y++; ADX_buff[i] =iADX(NULL,TimeFrame,ADX_Period,applied_price,0,y); PADX_buff[i] =iADX(NULL,TimeFrame,DI_Period, applied_price,1,y); NADX_buff[i] =iADX(NULL,TimeFrame,DI_Period, applied_price,2,y); } return(0); } //+-------------------------------------------------------------
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Indicator Curves created:
Indicators Used:
Movement directional index
Custom Indicators Used:
Order Management characteristics:
Other Features: