This tool is a specialized technical indicator designed to help traders visualize market momentum and identify potential price trends. It utilizes a modified version of the Relative Strength Index (RSI), a common financial metric used to determine whether an asset is overbought or oversold.
Core Functionality
The script creates a visual representation of market strength in a separate window on your trading chart. Unlike standard indicators that might provide only one set of data, this tool distinguishes between a continuous trend line and specific highlighted markers (dots). This dual-layered approach allows for a clearer distinction between the general flow of price action and specific momentum points.
Key Features and Logic
- Dynamic Period Management: The indicator is designed to be "smart" regarding its settings. It can automatically detect and adapt to specific configurations saved on your trading account. If a custom period has been pre-configured for a specific currency pair, the tool will prioritize those settings; otherwise, it defaults to a standard timeframe.
- Visual Feedback:
- Trend Line: The primary component tracks the RSI value as a continuous line, allowing you to see the "velocity" of price movements over time.
- Momentum Dots: The script plots specific dots that align with the RSI values. These act as visual anchors, helping traders identify precise levels where momentum is shifting.
- Reference Zones: The indicator operates within a defined scale (0 to 100) and includes pre-set horizontal levels. These levels serve as "zones" that help traders identify when a market may be stretched too far in one direction, providing clues on whether a reversal or a continuation is likely.
Summary for the Trader
Essentially, this script simplifies complex momentum data into an easy-to-read visual format. By tracking the RSI through both a line and a series of dots, it provides a clearer picture of how "strong" the current market move is, helping you spot potential exhaustion points or confirming your existing trend more effectively than a standard RSI alone.
//+------------------------------------------------------------------+
//| RSI_LiDo.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//| original "RSI_dot" concept by Accrete, and nicely tweaked by |
//| telsa of ForexFactory fame !! Many thanks telsa...Accrete |
//| |
//| Tweaked by Bluto 06/23/07 to work with Super RSI |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Lime
#property indicator_level1 75
#property indicator_level2 65
#property indicator_level3 35
#property indicator_level4 25
//---- input parameters
extern int Default_RSIPeriod = 4;
//---- buffers
double dRsiLine[];
double dRsiDots[];
//---- vars
string SR_RSIPeriod;
int RSIPeriod = 0;
int init() {
SR_RSIPeriod=AccountNumber()+"_"+Symbol()+"_SR_RSIPeriod";
if (GlobalVariableCheck(SR_RSIPeriod))
{
RSIPeriod = GlobalVariableGet(SR_RSIPeriod);
IndicatorShortName("RSI LiDo @ Super-RSI Mode (" + RSIPeriod + ")");
}
else
{
RSIPeriod = Default_RSIPeriod;
IndicatorShortName("RSI LiDo (" + RSIPeriod + ")");
}
SetIndexBuffer(0,dRsiLine);
SetIndexStyle (0,DRAW_LINE);
SetIndexLabel (0,"RSI");
SetIndexBuffer(1,dRsiDots);
SetIndexStyle (1,DRAW_ARROW);
SetIndexArrow (1,159);
SetIndexLabel (1,"RSI");
return(0);
}
int start() {
if (GlobalVariableCheck(SR_RSIPeriod))
{
if (GlobalVariableGet(SR_RSIPeriod)!= RSIPeriod)
{
RSIPeriod = GlobalVariableGet(SR_RSIPeriod);
IndicatorShortName("RSI LiDo @ Super-RSI Mode (" + RSIPeriod + ")");
}
}
// Determine how far back to iterate
int iBarsToCalc = Bars - IndicatorCounted();
if (iBarsToCalc < Bars) iBarsToCalc++;
for (int i=iBarsToCalc-1;i>=0;i--) {
dRsiLine[i] = iRSI(Symbol(),0,RSIPeriod,PRICE_OPEN,i);
dRsiDots[i] = dRsiLine[i];
}
}
//__________________
//Will Code For Pips
Comments