3c_JRSX_H_v1

Download script
Author: Copyright � 2005, Weld, Jurik Research
3c_JRSX_H_v1

This tool is a specialized technical analysis indicator designed to measure momentum in financial markets. While it functions similarly to the well-known Relative Strength Index (RSI), it utilizes advanced smoothing algorithms to provide a more refined and stable visual representation of market trends.

Core Logic and Functionality

1. Advanced Smoothing Technology The primary distinction of this tool is its mathematical approach to "noise." Standard indicators often suffer from jagged movements or lag, which can lead to false signals. This script uses a multi-layered smoothing process. By applying specific weighting factors to price changes, it filters out minor market fluctuations, resulting in a curve that is significantly smoother and more consistent than traditional alternatives.

2. Momentum Analysis The indicator analyzes the relationship between price gains and price losses over a user-defined period (the "Length"). It calculates the intensity of upward movement versus downward movement to determine the current "strength" of the trend.

3. Dynamic Value Scaling The logic processes two distinct types of data:

  • Directional Velocity: It looks at how much the price moves in a specific direction.
  • Absolute Magnitude: It tracks the total intensity of movement, regardless of direction. By comparing these two metrics, the indicator calculates a relative value that is then normalized into a consistent range. This allows traders to see exactly where the market stands in terms of overbought or oversold conditions relative to its recent history.

4. Three-Color Visual Coding One of the most user-friendly features of this script is its automated color-coding system. Instead of just showing a single line, it categorizes the momentum into three distinct visual states:

  • Upward Momentum: Highlighted in one color (Blue) to show increasing strength.
  • Downward Momentum: Highlighted in another color (Magenta) to show decreasing strength.
  • Neutral/Stationary State: Highlighted in a third color (Gray) to indicate periods where the momentum is flat or transitioning.

Summary for the User

In practical terms, this indicator acts as a "refined trend tracker." It tells you not just which way the price is moving, but how strongly it is moving there, while stripping away the "jitter" of the market. By looking at the three distinct colors on the chart, you can quickly identify whether the current move has significant momentum or if the market is losing steam and heading toward a potential reversal.

Miscellaneous
Implements a curve of type %1
14 Views
0 Downloads
0 Favorites
3c_JRSX_H_v1
/* Ïî ñâîèì ñâîéñòâàì ýòîò èíäèêàòîð àáñîëþòíî àíàëîãè÷åí êëàññè÷åñêèì 
 îñöèëÿòîðàì è ê íåìó ïðèìåíèìû àáñîëþòíî òå æå ïðè¸ìû òåõàíàëèçà, ÷òî è
 ê RSI. Òîëüêî áëàãîäàðÿ èñïîëüçîâàíèþ áîëåå ñîâåðøåííûõ àëãîðèòìîâ ñãëà-
 æèâàíèÿ îí èìååò ìåíüøåå çàïàçäûâàíèå è áîëåå ãëàêóþ ôîðìó êðèâîé. 
 */
//+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
//|                                                    3c_JRSX_H.mq4 |
//|          JRSX: Copyright © 2005,            Weld, Jurik Research | 
//|                                          http://weld.torguem.net | 
//|   MQL4+3color: Copyright © 2005,                Nikolay Kositsin | 
//|                                   Khabarovsk, violet@mail.kht.ru |   
//+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
#property copyright "Copyright © 2005, Weld, Jurik Research"
#property link      " http://weld.torguem.net"
#property indicator_separate_window
#property indicator_buffers  3
#property indicator_color1  Blue
#property indicator_color2  Magenta
#property indicator_color3  Gray
#property indicator_level1  0.5
#property indicator_level2 -0.5
#property indicator_level3  0.0
#property indicator_maximum  1
#property indicator_minimum -1
//---- input parameters
extern int       Lengh = 14;
extern int   CountBars = 300;
//---- buffers
double JRSX_Up  [];
double JRSX_Down[];
double JRSX_St  [];
//----
int    shift,r,w,k,counted_bars,T0,T1,Tnew;
//----
double v4,v8,v10,v14,v18,v20,v0C,v1C,v8A,minuse;   
double F28,F30,F38,F40,F48,F50,F58,F60,F68,F70,F78,F80,JRSX; 
double f0,f28,f30,f38,f40,f48,f50,f58,f60,f68,f70,f78,f80,Kg,Hg;
//+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
//| Custom indicator initialization function                         |
//+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM, STYLE_SOLID);
   SetIndexStyle(1,DRAW_HISTOGRAM, STYLE_SOLID);
   SetIndexStyle(2,DRAW_HISTOGRAM, STYLE_SOLID);
//----   
   SetIndexBuffer(0,JRSX_Up);
   SetIndexBuffer(1,JRSX_Down);
   SetIndexBuffer(2,JRSX_St);
//----  
   IndicatorShortName("RSX("+Lengh+")");
//----   
   SetIndexDrawBegin(0,Bars-CountBars);
   SetIndexDrawBegin(1,Bars-CountBars);
   SetIndexDrawBegin(2,Bars-CountBars);
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
//----  
   if (Lengh-1>=5) w=Lengh-1; else w=5; Kg=3/(Lengh+2.0); Hg=1.0-Kg;
//----
return(0);
  }
//+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
//| Custom indicator initialization function                         |
//+SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
int start()
{
counted_bars=IndicatorCounted();
if (counted_bars<0) return(-1);
if (counted_bars>Lengh) shift=Bars-counted_bars-1;
else shift=Bars-Lengh-1;

Tnew=Time[shift+1];

//+--- âîññòàíîâëåíèå ïåðåìåííûõ +=====================+
if((Tnew!=T0)&&(shift<Bars-Lengh-1)) 
{
if (Tnew==T1)
{
f28=F28; f30=F30; f38=F38; f40=F40; f48=F48; f50=F50;
f58=F58; f60=F60; f68=F68; f70=F70; f78=F78; f80=F80;
} else return(-1);
}
//+--- +===============================================+

if (Lengh-1>=5)w=Lengh-1;else w=5; Kg=3/(Lengh+2.0); Hg=1.0-Kg;

while (shift>=0)
{
//+-------------------+
if (r==0){r=1; k=0;}
else
{
//++++++++++++++++++++
if (r>=w) r=w+1; else r=r+1;

v8 = Close[shift]-Close[shift+1]; v8A=MathAbs(v8);
//---- âû÷èñëåíèå V14 ------
f28 = Hg  * f28 + Kg  *  v8;
f30 = Kg  * f28 + Hg  * f30;
v0C = 1.5 * f28 - 0.5 * f30;
f38 = Hg  * f38 + Kg  * v0C;
f40 = Kg  * f38 + Hg  * f40;
v10 = 1.5 * f38 - 0.5 * f40;
f48 = Hg  * f48 + Kg  * v10;
f50 = Kg  * f48 + Hg  * f50;
v14 = 1.5 * f48 - 0.5 * f50;
//---- âû÷èñëåíèå V20 ------
f58 = Hg  * f58 + Kg  * v8A;
f60 = Kg  * f58 + Hg  * f60;
v18 = 1.5 * f58 - 0.5 * f60;
f68 = Hg  * f68 + Kg  * v18;
f70 = Kg  * f68 + Hg  * f70;
v1C = 1.5 * f68 - 0.5 * f70;
f78 = Hg  * f78 + Kg  * v1C;
f80 = Kg  * f78 + Hg  * f80;
v20 = 1.5 * f78 - 0.5 * f80;
//-------wwwwwwwwww---------
if ((r <= w) && (v8!= 0)) k = 1;
if ((r == w) && (k == 0)) r = 0;
}//++++++++++++++++++++
if ((r>w)&&(v20>0.0000000001)){v4=(v14/v20+1.0)*50.0;if(v4>100.0)v4=100.0;if(v4<0.0)v4=0.0;}else v4=50.0;

JRSX=(v4/50)-1;

//+--- Ñîõðàíåíèå ïåðåìåííûõ +========================+
if (shift==1)
{
T1=Time[1];T0=Time[0];
F28=f28; F30=f30; F38=f38; F40=f40; F48=f48; F50=f50;
F58=f58; F60=f60; F68=f68; F70=f70; F78=f78; F80=f80;
}
//+---+===============================================+

//---- +SSSSSSSSSSSSSSSSSSS Three Colour code +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+
minuse = JRSX - JRSX_Up[shift+1]-JRSX_Down[shift+1]-JRSX_St[shift+1]; 
JRSX_Up[shift]=0.0;JRSX_Down[shift]=0.0;JRSX_St[shift]=0.0;
if (minuse>0.0)JRSX_Up[shift]=JRSX;else{if (minuse<0.0)JRSX_Down[shift]=JRSX;else JRSX_St[shift]=JRSX;}    
 //---- +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS+

shift--;
}
//+-------------------+
return(0);
}






Comments