Cronex DeMarker

Download script
Cronex DeMarker

The Cronex DeMarker is a specialized technical analysis tool designed to provide traders with a clearer view of market momentum and potential trend reversals. Unlike standard indicators that focus solely on price, this script analyzes the "strength" or "exhaustion" of price movements to help identify when a trend might be losing steam.

How the Logic Works

The indicator operates through a three-step layered calculation process:

1. The Momentum Foundation (DeMarker) At its core, the tool utilizes the DeMarker oscillator. This component tracks the relationship between the high and low prices of a period. By focusing on these extremes, it identifies whether the market is moving with conviction or if it is becoming overextended. It essentially acts as the "raw data" source for the rest of the indicator.

2. The Fast Smoothing Layer The script then takes that raw momentum data and applies a "Fast Moving Average." This calculation smooths out the jagged, rapid fluctuations of the DeMarker oscillator. By doing this, it filters out minor market noise, making it easier to see the immediate, short-term direction of the momentum.

3. The Slow Smoothing Layer Finally, the script applies a "Slow Moving Average" to that same momentum data. This provides a broader, long-term perspective of the trend. It represents the overall "health" of the market movement over a larger window of time.

How to Interpret the Results

By displaying these three components together in a separate window, the indicator allows you to see the relationship between different speeds of market momentum:

  • Trend Confirmation: When the fast and slow smoothed lines move in the same direction, it confirms that the current trend has consistent strength.
  • Potential Reversals: When there is a significant gap or a "crossing" between the fast and slow moving averages, it may signal that the momentum is shifting. For instance, if the fast line drops significantly below the slow line while the price is still high, it could indicate that the upward trend is exhausting.
  • Visual Clarity: Because the script uses specific smoothing methods (Linear Weighted), it aims to react more dynamically to recent changes than a standard average would, helping traders spot turning points more efficiently.
Indicators Used
DeMarker indicatorMoving average indicator
Miscellaneous
Implements a curve of type %1
14 Views
0 Downloads
0 Favorites
Cronex DeMarker
//+------------------------------------------------------------------+
//|                                              Cronex DeMarker.mq4 |
//|                                        Copyright © 2007, Cronex. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2007, Cronex"
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 3
#property  indicator_color1  Silver
#property  indicator_color2  Blue
#property  indicator_color3  Red
//#property  indicator_width1  2
//---- indicator parameters
extern int DeMarker=25;
extern int FastMA=14;
extern int SlowMA=25;
//---- indicator buffers
double     DeMarkerBuffer[];
double     FastMABuffer[];
double     SlowMABuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexStyle(2,DRAW_LINE);   
   SetIndexDrawBegin(1,SlowMA);
//   IndicatorDigits(Digits+1);
//---- indicator buffers mapping
   SetIndexBuffer(0,DeMarkerBuffer);
   SetIndexBuffer(1,FastMABuffer);
   SetIndexBuffer(2,SlowMABuffer);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("Cronex DeMarker");
   SetIndexLabel(0,"DeMarker");
   SetIndexLabel(1,"Fast MA");
   SetIndexLabel(2,"Slow MA");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Cronex DeMarker                                                  |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- DeMarker counted in the 1-st buffer

   for(int i=0; i<limit; i++)
      DeMarkerBuffer[i]=iDeMarker(NULL,0,DeMarker,i);
//---- signal line counted in the 2-nd buffer
   for(i=0; i<limit; i++)
    {  
      FastMABuffer[i]=iMAOnArray(DeMarkerBuffer,Bars,FastMA,0,MODE_LWMA,i);
      SlowMABuffer[i]=iMAOnArray(DeMarkerBuffer,Bars,SlowMA,0,MODE_LWMA,i);
    } 
//---- done
   return(0);
  }
//+------------------------------------------------------------------+

Comments