0
(0)
Name:
Drive
Author: systrad5 (2006.09.08 14:46)
Rating: 11
Downloaded: 9216
Download:
Drive 1
 _Drive.mq4 (2.3 Kb) View
Green above Red -> Up.

Red above Green -> Down.

Periods that seem useful are 4, 16, 128.

Value is calculated as follows:

Up (Green) = ((High - Open) + (Close - Low))/2, averaged for the selected period;

Down (Red) = ((Open - Low) + (High - Close))/2, averaged for the selected period.

Drive 2

This may have another name or be similar to an existing indicator. I've made up the name drive. Please drop me an email if you've run into a similar indicator before - [email protected]

2 comments  To post a new comment, please log in or register

I like it. On EURUSD 1H, it's giving better exit signals than my current indicators.
16.07.2011 08:30 maj1es2tic

#property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Green #property indicator_color2 Red //---- input parameters extern int Depth = 16; //---- buffers double UpBuffer[]; double DownBuffer[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { //---- additional buffers SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, UpBuffer); SetIndexStyle(1, DRAW_LINE); SetIndexBuffer(1, DownBuffer); //---- name for DataWindow and indicator subwindow label string short_name = "Drive(" + Depth + ")"; IndicatorShortName(short_name); SetIndexLabel(0, "DriveUp"); SetIndexLabel(1, "DriveDn"); //---- return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int i, j; double UpCnt, DnCnt; if(Bars <= Depth + 10) return(0); //---- last counted bar will be recounted int counted_bars = IndicatorCounted(); int limit = Bars - counted_bars; if(counted_bars > 0) limit++; //---- Load prices into CBuffer[0] for(i = 0; i < limit; i++) { UpCnt = 0; DnCnt = 0; for(j = 0; j < Depth; j++) { UpCnt = UpCnt + (High[i+j] - Open[i+j]) + (Close[i+j] - Low[i+j]); DnCnt = DnCnt + (Open[i+j] - Low[i+j]) + (High[i+j] - Close[i+j]); } UpBuffer[i] = (UpCnt / (2 * Depth)) / Point; DownBuffer[i] = (DnCnt / (2 * Depth)) / Point; } return(0); } //+------------------------------------------------------------------+

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?



Author: Forex Wiki Team
We are a team of highly experienced Forex Traders [2000-2023] who are dedicated to living life on our own terms. Our primary objective is to attain financial independence and freedom, and we have pursued self-education and gained extensive experience in the Forex market as our means to achieve a self-sustainable lifestyle.