Enhanced version of the Stochastic Oscillator. As for parameter fields, asymmetric Stochastic has only three differences from the standard one:

  1. Kperiod now consists of two values – junior KperiodShort (short) and senior KperiodLong (long).
  2. Oversold (OS) and overbought (OB) levels parameters are added. In case Stochastic enters OS/OB areas, Kperiods (lengths of highs/lows searching) are switched over.
  3. The third difference (sensitivity limit) is a Sens parameter, which allows to cut off scillations below a certain limit set in points. Thereby, the number of false signals is considerably reduced. The fact is that the standard Stochastic locates the current price between price highs and lows for the number of bars set by %K (Kperiod) parameter. And it does not matter, if extreme points differ from each other by 1 or 100 points. It will still indicate that OS/OB values are reached. Implementation of some limit allows to cut off oscillations that are inconsiderable for a trading system.


In case Stochastic enters OS area, the indicator searches for lows at the bars junior Kperiod (KperiodShort) and for highs – at the senior (KperiodLong) one. In case Stochastic enters OB area, lows are searched for at the long interval, while highs – at the short one.

Interpretation/usage. Entering OS/OB by Stochastic means switching a trend over to the appropriate direction. However, trend switching generally does NOT mean a signal for market entry according to the current trend direction. Position should be opened during a correction, which can be identified by 50% line crossing/touching. If you follow the “turtle” strategy, additions to your position should be made during corrections. When a trend is being switched over, positions should be closed completely or decreased. In the latter case complete closing of a position is carried out during the correction, while a new position in the opposite direction is opened simultaneously. Stop levels are set near the previous (opposite) extreme point with a reasonable setback. But their triggering in the operating mode is unlikely. Stop levels are set there only for force majeure conditions.

This indicator was first implemented in MQL4 and published in Code Base 22.04.2010.

Indicator input parameters:

//|  Indicator input parameters       |
input uint KperiodShort=5;                   // %K period
input uint KperiodLong=12;                   // %K period
input Smooth_Method DMethod=MODE_SMA;        // Signal line smoothing method 
input uint Dperiod=7;                        // %D signal line period
input int DPhase=15;                         // Signal line smoothing parameter
input uint Slowing=3;                        // Slowing
input ENUM_STO_PRICE PriceField=STO_LOWHIGH;  // Prices selection parameter for calculation
input uint Sens=7;                           // Sensitivity in points
input uint OverBought=80;                    // Overbought level, %%
input uint OverSold=20;                      // Oversold level, %%
input color LevelsColor=Blue;                // Levels color
input STYLE Levelstyle=DASH_;                // Levels style
input WIDTH  LevelsWidth=Width_1;            // Levels width
input int Shift=0;                           // Horizontal shift of the indicator in bars

This indicator allows to select a smoothing type of the signal line out of ten possible versions:

  1. SMA – simple moving average;
  2. EMA – exponential moving average;
  3. SMMA – smoothed moving average;
  4. LWMA – linear weighted moving average;
  5. JJMA – JMA adaptive average;
  6. JurX – ultralinear smoothing;
  7. ParMA – parabolic smoothing;
  8. T3 – Tillson’s multiple exponential smoothing;
  9. VIDYA – smoothing with the use of Tushar Chande’s algorithm;
  10. AMA – smoothing with the use of Perry Kaufman’s algorithm.

It should be noted that Phase type parameters for different smoothing algorithms have completely different meaning. For JMA it is an external Phase variable changing from -100 to +100. For T3 it is a smoothing ratio multiplied by 100 for better visualization, for VIDYA it is a CMO oscillator period and for AMA it is a slow EMA period. In other algorithms these parameters do not affect smoothing. For AMA fast EMA period is a fixed value and is equal to 2 by default. The ratio of raising to the power is also equal to 2 for AMA.

The indicator uses SmoothAlgorithms.mqh library classes (must be copied to the terminal_data_folder\MQL5\Include). The use of the classes was thoroughly described in the article “Averaging Price Series for Intermediate Calculations Without Using Additional Buffers”.


MT5 Indicator – Download Instructions

AsymmetricStochNR is a Metatrader 5 (MT5) indicator and the essence of the forex indicator is to transform the accumulated history data.

AsymmetricStochNR provides for an opportunity to detect various peculiarities and patterns in price dynamics which are invisible to the naked eye.

Based on this information, traders can assume further price movement and adjust their strategy accordingly.

How to install AsymmetricStochNR.mq5?

  • Download AsymmetricStochNR.mq5
  • Copy AsymmetricStochNR.mq5 to your Metatrader Directory / experts / indicators /
  • Start or restart your Metatrader 5 Client
  • Select Chart and Timeframe where you want to test your indicator
  • Search “Custom Indicators” in your Navigator mostly left in your Metatrader 5 Client
  • Right click on AsymmetricStochNR.mq5
  • Attach to a chart
  • Modify settings or press ok
  • Indicator AsymmetricStochNR.mq5 is available on your Chart

How to remove AsymmetricStochNR.mq5 from your Metatrader 5 Chart?

  • Select the Chart where is the Indicator running in your Metatrader Client
  • Right click into the Chart
  • “Indicators list”
  • Select the Indicator and delete

Click here below to download MT5 Indicator:


Trade With Lowest Spreads
Previous articleRSI AC Stochastic Signal
Next articleRBVI