StrangeIndicator_v2
Download scriptThis tool is designed to provide traders with a visual representation of price momentum and positioning relative to moving averages. Rather than plotting the raw price of an asset, it creates a separate, dedicated window on your chart to show a specific mathematical relationship between three different types of market data.
How the Logic Works
The script operates by analyzing three distinct components of the market price simultaneously across historical data:
-
Data Collection: For every candle on the chart, the tool identifies three specific smoothed averages (Exponential Moving Averages):
- The average based on Closing Prices.
- The average based on the High prices.
- The average based on the Low prices.
-
Relative Position Calculation: Instead of simply showing these lines, the script calculates where the "Close" price sits in relation to the "High" and "Low" boundaries. It treats the distance between the high and low averages as a total range (a percentage) and then determines exactly what percentage of that range is occupied by the closing price.
-
The Visual Output: This calculation results in a percentage value. The tool plots this value on your screen as a continuous line.
What This Means for the User
Because the script converts complex price movements into a relative percentage, it filters out "noise." It allows you to see how aggressively the price is closing toward the top or bottom of its recent range. A higher value indicates the price is pushing toward the upper boundary of the recent momentum, while a lower value suggests it is leaning toward the lower boundary.
Essentially, this indicator transforms raw price action into a simplified "strength" reading, making it easier to visualize where the market sentiment is leaning at any given moment.
//+------------------------------------------------------------------+
//| StrangeIndicator.mq4 |
//| MT4 realization created by CrazyChart |
//| mailto:newcomer2003@yandex.ru |
//+------------------------------------------------------------------+
#property copyright "MT4 realization created by CrazyChart"
#property link "mailto:newcomer2003@yandex.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Blue
//---- input parameters
extern int shift=5;
//---- buffers
double ExtMapBuffer1[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
int cb=1;
int Ma534, Ma,ma7,cb1,min1,max1,c7;
double EMAclose,EMAhigh,EMAlow,ma3;
for(cb=1;cb<=Bars;cb++)
{
EMAclose=iMA(NULL,0,shift,0,MODE_EMA,PRICE_CLOSE,cb);
EMAlow=iMA(NULL,0,shift,0,MODE_EMA,PRICE_LOW,cb);
EMAhigh=iMA(NULL,0,shift,0,MODE_EMA,PRICE_HIGH,cb);
//----
ma3=(EMAclose-EMAlow)/(EMAhigh-EMAlow)*100;
//----
ExtMapBuffer1[cb-1]=ma3;
}
//----
return(0);
}
//+------------------------------------------------------------------+
Comments