STLM2_v1

This script is designed as a technical analysis tool for the MetaTrader trading platform. Its primary purpose is to calculate and visualize specific historical price movements in a dedicated window, helping traders identify trends by comparing different weighted averages of past price data.

Core Logic Overview

The tool operates by analyzing a large set of historical price points—specifically looking back over a significant number of previous bars (the "history") to determine the current market momentum.

Instead of looking at just the most recent price, the script uses a complex mathematical weighting system. It takes many individual closing prices from the past and multiplies each by a specific, unique decimal value. This ensures that different parts of the historical timeline contribute differently to the final result, creating a "smoothed" representation of market behavior.

How it Works

  1. Data Gathering: The script examines 90 consecutive data points in two different configurations.
  2. Weighting & Calculation:
    • It calculates two primary values (Value 1 and Value 3) using one set of weights.
    • It calculates two secondary values (Value 2 and Value 4) using a different, contrasting set of weights.
  3. Comparison: The script then performs a subtraction to find the difference between these sets (creating STLM and STLM1). These differences represent the "momentum" or "strength" of the price movement at that specific point in time.
  4. Visual Representation: Finally, the script compares these two results:
    • If the first momentum value is higher than the second, it marks the movement as an Upward trend (displayed in Lime).
    • If the second momentum value is higher, it marks it as a Downward trend (displayed in Red).

User Experience

On your trading chart, this logic produces a histogram in a separate window. Rather than showing raw price numbers, it provides a visual history of market sentiment: you will see colored bars indicating whether the underlying mathematical trend was leaning toward the "Up" or "Down" direction based on the complex weighted history provided by the script.

Miscellaneous
Implements a curve of type %1
16 Views
0 Downloads
0 Favorites
STLM2_v1
//+------------------------------------------------------------------+
//| STLM_hist.mq4 
//| Ramdass - Conversion only
//+------------------------------------------------------------------+

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red

extern int CountBars=300;
//---- buffers
double Up[];
double Down[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2);
   SetIndexBuffer(0,Up);
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);
   SetIndexBuffer(1,Down);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| STLM                                                             |
//+------------------------------------------------------------------+
int start()
  {
   SetIndexDrawBegin(0,Bars-CountBars+90);
   SetIndexDrawBegin(1,Bars-CountBars+90);
   int i,i2,counted_bars=IndicatorCounted();
   double STLM,STLM1,value1,value2,value3,value4;
//----
   if(Bars<=90) return(0);
//---- initial zero
   if(counted_bars<90)
   {
      for(i=1;i<=0;i++) Up[CountBars-i]=0.0;
      for(i=1;i<=0;i++) Down[CountBars-i]=0.0;
   }
//----
   i=CountBars-90-1;
//   if(counted_bars>=90) i=Bars-counted_bars-1;
   while(i>=0)
     {

value1 =
0.0982862174*Close[i+0]
+0.0975682269*Close[i+1]
+0.0961401078*Close[i+2]
+0.0940230544*Close[i+3]
+0.0912437090*Close[i+4]
+0.0878391006*Close[i+5]
+0.0838544303*Close[i+6]
+0.0793406350*Close[i+7]
+0.0743569346*Close[i+8]
+0.0689666682*Close[i+9]
+0.0632381578*Close[i+10]
+0.0572428925*Close[i+11]
+0.0510534242*Close[i+12]
+0.0447468229*Close[i+13]
+0.0383959950*Close[i+14]
+0.0320735368*Close[i+15]
+0.0258537721*Close[i+16]
+0.0198005183*Close[i+17]
+0.0139807863*Close[i+18]
+0.0084512448*Close[i+19]
+0.0032639979*Close[i+20]
-0.0015350359*Close[i+21]
-0.0059060082*Close[i+22]
-0.0098190256*Close[i+23]
-0.0132507215*Close[i+24]
-0.0161875265*Close[i+25]
-0.0186164872*Close[i+26]
-0.0205446727*Close[i+27]
-0.0219739146*Close[i+28]
-0.0229204861*Close[i+29]
-0.0234080863*Close[i+30]
-0.0234566315*Close[i+31]
-0.0231017777*Close[i+32]
-0.0223796900*Close[i+33]
-0.0213300463*Close[i+34]
-0.0199924534*Close[i+35]
-0.0184126992*Close[i+36]
-0.0166377699*Close[i+37]
-0.0147139428*Close[i+38]
-0.0126796776*Close[i+39]
-0.0105938331*Close[i+40]
-0.0084736770*Close[i+41]
-0.0063841850*Close[i+42]
-0.0043466731*Close[i+43]
-0.0023956944*Close[i+44]
-0.0005535180*Close[i+45]
+0.0011421469*Close[i+46]
+0.0026845693*Close[i+47]
+0.0040471369*Close[i+48]
+0.0052380201*Close[i+49]
+0.0062194591*Close[i+50]
+0.0070340085*Close[i+51]
+0.0076266453*Close[i+52]
+0.0080376628*Close[i+53]
+0.0083037666*Close[i+54]
+0.0083694798*Close[i+55]
+0.0082901022*Close[i+56]
+0.0080741359*Close[i+57]
+0.0077543820*Close[i+58]
+0.0073260526*Close[i+59]
+0.0068163569*Close[i+60]
+0.0062325477*Close[i+61]
+0.0056078229*Close[i+62]
+0.0049516078*Close[i+63]
+0.0161380976*Close[i+64];

value2 =
-0.0074151919*Close[i+0]
-0.0060698985*Close[i+1]
-0.0044979052*Close[i+2]
-0.0027054278*Close[i+3]
-0.0007031702*Close[i+4]
+0.0014951741*Close[i+5]
+0.0038713513*Close[i+6]
+0.0064043271*Close[i+7]
+0.0090702334*Close[i+8]
+0.0118431116*Close[i+9]
+0.0146922652*Close[i+10]
+0.0175884606*Close[i+11]
+0.0204976517*Close[i+12]
+0.0233865835*Close[i+13]
+0.0262218588*Close[i+14]
+0.0289681736*Close[i+15]
+0.0315922931*Close[i+16]
+0.0340614696*Close[i+17]
+0.0363444061*Close[i+18]
+0.0384120882*Close[i+19]
+0.0402373884*Close[i+20]
+0.0417969735*Close[i+21]
+0.0430701377*Close[i+22]
+0.0440399188*Close[i+23]
+0.0446941124*Close[i+24]
+0.0450230100*Close[i+25]
+0.0450230100*Close[i+26]
+0.0446941124*Close[i+27]
+0.0440399188*Close[i+28]
+0.0430701377*Close[i+29]
+0.0417969735*Close[i+30]
+0.0402373884*Close[i+31]
+0.0384120882*Close[i+32]
+0.0363444061*Close[i+33]
+0.0340614696*Close[i+34]
+0.0315922931*Close[i+35]
+0.0289681736*Close[i+36]
+0.0262218588*Close[i+37]
+0.0233865835*Close[i+38]
+0.0204976517*Close[i+39]
+0.0175884606*Close[i+40]
+0.0146922652*Close[i+41]
+0.0118431116*Close[i+42]
+0.0090702334*Close[i+43]
+0.0064043271*Close[i+44]
+0.0038713513*Close[i+45]
+0.0014951741*Close[i+46]
-0.0007031702*Close[i+47]
-0.0027054278*Close[i+48]
-0.0044979052*Close[i+49]
-0.0060698985*Close[i+50]
-0.0074151919*Close[i+51]
-0.0085278517*Close[i+52]
-0.0094111161*Close[i+53]
-0.0100658241*Close[i+54]
-0.0104994302*Close[i+55]
-0.0107227904*Close[i+56]
-0.0107450280*Close[i+57]
-0.0105824763*Close[i+58]
-0.0102517019*Close[i+59]
-0.0097708805*Close[i+60]
-0.0091581551*Close[i+61]
-0.0084345004*Close[i+62]
-0.0076214397*Close[i+63]
-0.0067401718*Close[i+64]
-0.0058083144*Close[i+65]
-0.0048528295*Close[i+66]
-0.0038816271*Close[i+67]
-0.0029244713*Close[i+68]
-0.0019911267*Close[i+69]
-0.0010974211*Close[i+70]
-0.0002535559*Close[i+71]
+0.0005231953*Close[i+72]
+0.0012297491*Close[i+73]
+0.0018539149*Close[i+74]
+0.0023994354*Close[i+75]
+0.0028490136*Close[i+76]
+0.0032221429*Close[i+77]
+0.0034936183*Close[i+78]
+0.0036818974*Close[i+79]
+0.0038037944*Close[i+80]
+0.0038338964*Close[i+81]
+0.0037975350*Close[i+82]
+0.0036986051*Close[i+83]
+0.0035521320*Close[i+84]
+0.0033559226*Close[i+85]
+0.0031224409*Close[i+86]
+0.0028550092*Close[i+87]
+0.0025688349*Close[i+88]
+0.0022682355*Close[i+89]
+0.0073925495*Close[i+90];



value3 =
0.0982862174*Close[i+0+1]
+0.0975682269*Close[i+1+1]
+0.0961401078*Close[i+2+1]
+0.0940230544*Close[i+3+1]
+0.0912437090*Close[i+4+1]
+0.0878391006*Close[i+5+1]
+0.0838544303*Close[i+6+1]
+0.0793406350*Close[i+7+1]
+0.0743569346*Close[i+8+1]
+0.0689666682*Close[i+9+1]
+0.0632381578*Close[i+10+1]
+0.0572428925*Close[i+11+1]
+0.0510534242*Close[i+12+1]
+0.0447468229*Close[i+13+1]
+0.0383959950*Close[i+14+1]
+0.0320735368*Close[i+15+1]
+0.0258537721*Close[i+16+1]
+0.0198005183*Close[i+17+1]
+0.0139807863*Close[i+18+1]
+0.0084512448*Close[i+19+1]
+0.0032639979*Close[i+20+1]
-0.0015350359*Close[i+21+1]
-0.0059060082*Close[i+22+1]
-0.0098190256*Close[i+23+1]
-0.0132507215*Close[i+24+1]
-0.0161875265*Close[i+25+1]
-0.0186164872*Close[i+26+1]
-0.0205446727*Close[i+27+1]
-0.0219739146*Close[i+28+1]
-0.0229204861*Close[i+29+1]
-0.0234080863*Close[i+30+1]
-0.0234566315*Close[i+31+1]
-0.0231017777*Close[i+32+1]
-0.0223796900*Close[i+33+1]
-0.0213300463*Close[i+34+1]
-0.0199924534*Close[i+35+1]
-0.0184126992*Close[i+36+1]
-0.0166377699*Close[i+37+1]
-0.0147139428*Close[i+38+1]
-0.0126796776*Close[i+39+1]
-0.0105938331*Close[i+40+1]
-0.0084736770*Close[i+41+1]
-0.0063841850*Close[i+42+1]
-0.0043466731*Close[i+43+1]
-0.0023956944*Close[i+44+1]
-0.0005535180*Close[i+45+1]
+0.0011421469*Close[i+46+1]
+0.0026845693*Close[i+47+1]
+0.0040471369*Close[i+48+1]
+0.0052380201*Close[i+49+1]
+0.0062194591*Close[i+50+1]
+0.0070340085*Close[i+51+1]
+0.0076266453*Close[i+52+1]
+0.0080376628*Close[i+53+1]
+0.0083037666*Close[i+54+1]
+0.0083694798*Close[i+55+1]
+0.0082901022*Close[i+56+1]
+0.0080741359*Close[i+57+1]
+0.0077543820*Close[i+58+1]
+0.0073260526*Close[i+59+1]
+0.0068163569*Close[i+60+1]
+0.0062325477*Close[i+61+1]
+0.0056078229*Close[i+62+1]
+0.0049516078*Close[i+63+1]
+0.0161380976*Close[i+64+1];

value4 =
-0.0074151919*Close[i+0+1]
-0.0060698985*Close[i+1+1]
-0.0044979052*Close[i+2+1]
-0.0027054278*Close[i+3+1]
-0.0007031702*Close[i+4+1]
+0.0014951741*Close[i+5+1]
+0.0038713513*Close[i+6+1]
+0.0064043271*Close[i+7+1]
+0.0090702334*Close[i+8+1]
+0.0118431116*Close[i+9+1]
+0.0146922652*Close[i+10+1]
+0.0175884606*Close[i+11+1]
+0.0204976517*Close[i+12+1]
+0.0233865835*Close[i+13+1]
+0.0262218588*Close[i+14+1]
+0.0289681736*Close[i+15+1]
+0.0315922931*Close[i+16+1]
+0.0340614696*Close[i+17+1]
+0.0363444061*Close[i+18+1]
+0.0384120882*Close[i+19+1]
+0.0402373884*Close[i+20+1]
+0.0417969735*Close[i+21+1]
+0.0430701377*Close[i+22+1]
+0.0440399188*Close[i+23+1]
+0.0446941124*Close[i+24+1]
+0.0450230100*Close[i+25+1]
+0.0450230100*Close[i+26+1]
+0.0446941124*Close[i+27+1]
+0.0440399188*Close[i+28+1]
+0.0430701377*Close[i+29+1]
+0.0417969735*Close[i+30+1]
+0.0402373884*Close[i+31+1]
+0.0384120882*Close[i+32+1]
+0.0363444061*Close[i+33+1]
+0.0340614696*Close[i+34+1]
+0.0315922931*Close[i+35+1]
+0.0289681736*Close[i+36+1]
+0.0262218588*Close[i+37+1]
+0.0233865835*Close[i+38+1]
+0.0204976517*Close[i+39+1]
+0.0175884606*Close[i+40+1]
+0.0146922652*Close[i+41+1]
+0.0118431116*Close[i+42+1]
+0.0090702334*Close[i+43+1]
+0.0064043271*Close[i+44+1]
+0.0038713513*Close[i+45+1]
+0.0014951741*Close[i+46+1]
-0.0007031702*Close[i+47+1]
-0.0027054278*Close[i+48+1]
-0.0044979052*Close[i+49+1]
-0.0060698985*Close[i+50+1]
-0.0074151919*Close[i+51+1]
-0.0085278517*Close[i+52+1]
-0.0094111161*Close[i+53+1]
-0.0100658241*Close[i+54+1]
-0.0104994302*Close[i+55+1]
-0.0107227904*Close[i+56+1]
-0.0107450280*Close[i+57+1]
-0.0105824763*Close[i+58+1]
-0.0102517019*Close[i+59+1]
-0.0097708805*Close[i+60+1]
-0.0091581551*Close[i+61+1]
-0.0084345004*Close[i+62+1]
-0.0076214397*Close[i+63+1]
-0.0067401718*Close[i+64+1]
-0.0058083144*Close[i+65+1]
-0.0048528295*Close[i+66+1]
-0.0038816271*Close[i+67+1]
-0.0029244713*Close[i+68+1]
-0.0019911267*Close[i+69+1]
-0.0010974211*Close[i+70+1]
-0.0002535559*Close[i+71+1]
+0.0005231953*Close[i+72+1]
+0.0012297491*Close[i+73+1]
+0.0018539149*Close[i+74+1]
+0.0023994354*Close[i+75+1]
+0.0028490136*Close[i+76+1]
+0.0032221429*Close[i+77+1]
+0.0034936183*Close[i+78+1]
+0.0036818974*Close[i+79+1]
+0.0038037944*Close[i+80+1]
+0.0038338964*Close[i+81+1]
+0.0037975350*Close[i+82+1]
+0.0036986051*Close[i+83+1]
+0.0035521320*Close[i+84+1]
+0.0033559226*Close[i+85+1]
+0.0031224409*Close[i+86+1]
+0.0028550092*Close[i+87+1]
+0.0025688349*Close[i+88+1]
+0.0022682355*Close[i+89+1]
+0.0073925495*Close[i+90+1];



STLM=value1-value2;
STLM1=value3-value4;


if (STLM>STLM1) {Up[i]=STLM;Down[i]=0.0;} else {Down[i]=STLM;Up[i]=0.0;}

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

Comments