Author: Wolfe
MoR_v1

This technical tool, known as MoR, is designed to provide traders with a multi-layered view of market momentum and trend strength by analyzing price fluctuations through several mathematical transformations. Instead of looking at price directly, it focuses on the "velocity" and "relationship" between different trading averages.

Here is a breakdown of the logic behind how this script processes data:

1. The Foundation: Momentum Analysis

The process begins by calculating the Relative Strength Index (RSI). This is a standard financial metric used to measure the speed and change of price movements. By using the RSI as its primary data source, the tool ignores some of the "noise" of raw price action and focuses instead on whether the market is gaining or losing strength over a specific period.

2. Double Smoothing (The Moving Averages)

Rather than applying standard moving averages to the price chart, this script applies two different Exponential Moving Averages (EMAs) directly onto the RSI values:

  • Short-Term Average: A faster average that reacts more quickly to recent momentum shifts.
  • Long-Term Average: A slower average that represents the broader trend of the momentum.

By layering these averages over the RSI, the tool helps identify "crossovers"—moments where short-term momentum begins to pull away from the long-term trend, often signaling a potential change in market direction.

3. The Momentum Ratio

The final and unique component of this logic is the Ratio. The script takes the value of the Short-Term Average and divides it by the Long-Term Average (multiplied by 100).

This calculation creates a specific "Ratio" line that tells you exactly how much faster (or slower) the short-term momentum is moving compared to the long-term trend.

  • When the Ratio is significantly higher than 100, it suggests that short-term momentum is accelerating aggressively.
  • When the Ratio drops, it suggests that the immediate momentum is weakening or cooling off relative to the larger trend.

Summary of Visual Output

On your trading platform, the tool provides four distinct visual elements:

  1. RSI: The raw momentum line.
  2. MA1: The fast-moving average of that momentum.
  3. MA2: The slow-moving average of that momentum.
  4. Ratio: A specialized line showing the mathematical relationship between the two averages, allowing you to see trend intensity at a glance.
Indicators Used
Relative strength indexMoving average indicator
Miscellaneous
Implements a curve of type %1
15 Views
0 Downloads
0 Favorites
MoR_v1
//+------------------------------------------------------------------+
//|                                                          MoR.mq4 |
//|                 Copyright © 1999-2007, MetaQuotes Software Corp. |
//|                                         http://www.metaquotes.ru |
//+------------------------------------------------------------------+
#property copyright "Wolfe"
#property link "xxxxwolfe@gmail.com"
//----
#property indicator_separate_window
#property indicator_level1  100
#property indicator_level2  80
#property indicator_level3  50
#property indicator_level4  20
#property indicator_buffers 4
#property indicator_color1 Black    //RSI
#property indicator_color2 Blue     //MA1
#property indicator_color3 Red      //MA2
#property indicator_color4 Green    //Ratio
//----
int  RSI_Timeframe=0;//0=current chart,1=m1,5=m5,15=m15,30=m30,60=h1,240=h4,etc...
int  RSI_Period=10;
int  RSI_Applied_Price=0;//0=close, 1=open, 2=high, 3=low, 4=(high+low)/2, 5=(high+low+close)/3, 6=(high+low+close+close)/4
int  MA1_Period=10;
int  MA1_Method=1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
int  MA2_Period=30;
int  MA2_Method=1;// 0=SMA, 1=EMA, 2=SMMA, 3=LWMA
double RSI[],MA1_Array[],MA2_Array[],MR_Ratio[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators setting
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1); //RSI
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); //EMA10
   SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,1); //EMA30
   SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2); //Ratio
//----
   SetIndexBuffer(0,RSI);
   SetIndexLabel(0,"RSI");
   SetIndexBuffer(1,MA1_Array);
   SetIndexLabel(1,"MA1");
   SetIndexBuffer(2,MA2_Array);
   SetIndexLabel(2,"MA2");
   SetIndexBuffer(3,MR_Ratio);
   SetIndexLabel(3,"Ratio");
//----
   IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
   IndicatorShortName("MoR");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i,limit=Bars - IndicatorCounted() - 1;
   //+------------------------------------------------------------------+
   //| RSI                                                              |
   //+------------------------------------------------------------------+
     for(i=limit; i>=0; i--)
     {
      RSI[i]= iRSI(NULL,RSI_Timeframe,RSI_Period,RSI_Applied_Price,i);
     }
   //+------------------------------------------------------------------+
   //| EMA 10 & 30                                                      |
   //+------------------------------------------------------------------+
     for(i=limit; i>=0; i--)
     {
      MA1_Array[i]=iMAOnArray(RSI,0,MA1_Period,0,MA1_Method,i);
      MA2_Array[i]=iMAOnArray(RSI,0,MA2_Period,0,MA2_Method,i);
     }
   //+------------------------------------------------------------------+
   //| Ratio of EMA 10 & 30                                             |
   //+------------------------------------------------------------------+
     for(i=0; i<=limit; i++)
     {
      MR_Ratio[i]=MA1_Array[i]/MA2_Array[i] * 100;
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+

Comments