STLM_hist_v2

Download script
STLM_hist_v2

Technical Logic Overview

This script functions as a specialized visual indicator designed to analyze price movements by calculating complex weighted averages. It operates independently of the main price chart, appearing in a separate window to provide a streamlined view of specific data trends.

Core Methodology

The primary logic relies on a sophisticated mathematical "weighting" system. Instead of looking at just the current price, the script examines a large sequence of historical closing prices simultaneously. Each price in this sequence is multiplied by a specific numerical weight—some positive and some negative.

By combining these weighted values, the script generates two distinct comparative figures:

  1. Current Weighted State: A calculation based on the most recent data points.
  2. Previous Weighted State: A calculation based on the data points immediately preceding the current ones.

How it Translates to Visuals

The tool compares these two calculated states to determine the "momentum" or direction of the market. The logic follows a simple binary rule to display this information visually:

  • Green Histogram (Up Trend): If the current weighted calculation is higher than the previous one, the script identifies an upward shift and displays a green bar.
  • Red Histogram (Down Trend): If the current weighted calculation is lower than the previous one, the script identifies a downward shift and displays a red bar.

Key Features for the User

  • Smooth Data Processing: By using a wide array of historical prices (weighted across many bars), the indicator aims to filter out minor market "noise," focusing instead on broader movements.
  • Visual Clarity: Because it only shows Green or Red bars based on whether the calculated value increased or decreased compared to its immediate predecessor, it provides a clear "Go/No-Go" visual for identifying trend direction.
  • Lookback Range: The script is configured to process a specific volume of historical data (defined by a user-set count) to ensure the calculations remain consistent and relevant to the current market context.
Miscellaneous
Implements a curve of type %1
12 Views
0 Downloads
0 Favorites
STLM_hist_v2
/*-----------------------------+
|			       |
| Shared by www.Aptrafx.com    |
|			       |
+------------------------------*/

//+------------------------------------------------------------------+
//| STLM_hist.mq4 
//| Ramdass - Conversion only
//+------------------------------------------------------------------+

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Green
#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);
   SetIndexBuffer(0,Up);
   SetIndexStyle(1,DRAW_HISTOGRAM);
   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