Author: Copyright 2002, Finware.ru Ltd.
FTLM_STLM

This script functions as a custom technical indicator designed to provide traders with visual data on market trends. It operates by analyzing historical price movements to calculate and display two distinct smoothed values in a separate window below the main price chart.

Core Logic and Data Processing

The primary mechanism of this tool is a complex weighted calculation. Rather than looking at just the most recent price, the script examines a large series of previous closing prices (spanning 91 data points for one calculation and up to 91 for another).

Each price point in these sequences is assigned a specific numerical weight—some positive and some negative. By multiplying each historical price by its respective weight and then summing them together, the script generates a "weighted average" of the market's behavior over a specific period.

The Two Visual Components

The indicator produces two separate lines, which represent different mathematical perspectives on the market:

  • FTLM Component: This is derived from the difference between two distinct weighted averages (value1 and value2). It essentially measures the variance or the "gap" between two different sets of historical price behaviors.
  • STLM Component: This is derived from the difference between two other weighted averages (value3 and value4). Because these weights cover a significant amount of history, this component aims to capture specific trends or momentum shifts.

How it appears on your chart

Instead of showing you the raw price of an asset, this script translates price fluctuations into two moving lines.

  • The script automatically handles the "loading" phase, ensuring that it only begins drawing once there is enough historical data (at least 90 bars) to make an accurate calculation.
  • The result is a visualization where the distance and direction between these two lines can be used to interpret market momentum, volatility, or potential trend reversals based on the underlying mathematical relationship of historical price data.
Miscellaneous
Implements a curve of type %1
12 Views
0 Downloads
0 Favorites
FTLM_STLM
//+------------------------------------------------------------------+
//| FTLM_STLM.mq4 
//| 
//+------------------------------------------------------------------+
#property copyright "Copyright 2002, Finware.ru Ltd."
#property link "http://www.finware.ru/"

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

extern int CountBars=400;
//---- buffers
double FTLMBuffer[];
double STLMBuffer[];
double value1;
double value2;
double value3;
double value4;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,STLMBuffer);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexBuffer(1,FTLMBuffer);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| FTLM_STLM                                                             |
//+------------------------------------------------------------------+
int start()
  {
   SetIndexDrawBegin(0,Bars-CountBars+90);
   SetIndexDrawBegin(1,Bars-CountBars+90);
   int i,counted_bars=IndicatorCounted();
//----
   if(Bars<=90) return(0);
//---- initial zero
   if(counted_bars<43)
   {
      for(i=1;i<=0;i++) FTLMBuffer[CountBars-i]=0.0;
      for(i=1;i<=0;i++) STLMBuffer[CountBars-i]=0.0;
   }
//----
   i=CountBars-90-1;
//   if(counted_bars>=90) i=Bars-counted_bars-1;
   while(i>=0)
     {
value1 =
0.4360409450*Close[i+0]
+0.3658689069*Close[i+1]
+0.2460452079*Close[i+2]
+0.1104506886*Close[i+3]
-0.0054034585*Close[i+4]
-0.0760367731*Close[i+5]
-0.0933058722*Close[i+6]
-0.0670110374*Close[i+7]
-0.0190795053*Close[i+8]
+0.0259609206*Close[i+9]
+0.0502044896*Close[i+10]
+0.0477818607*Close[i+11]
+0.0249252327*Close[i+12]
-0.0047706151*Close[i+13]
-0.0272432537*Close[i+14]
-0.0338917071*Close[i+15]
-0.0244141482*Close[i+16]
-0.0055774838*Close[i+17]
+0.0128149838*Close[i+18]
+0.0226522218*Close[i+19]
+0.0208778257*Close[i+20]
+0.0100299086*Close[i+21]
-0.0036771622*Close[i+22]
-0.0136744850*Close[i+23]
-0.0160483392*Close[i+24]
-0.0108597376*Close[i+25]
-0.0016060704*Close[i+26]
+0.0069480557*Close[i+27]
+0.0110573605*Close[i+28]
+0.0095711419*Close[i+29]
+0.0040444064*Close[i+30]
-0.0023824623*Close[i+31]
-0.0067093714*Close[i+32]
-0.0072003400*Close[i+33]
-0.0047717710*Close[i+34]
+0.0005541115*Close[i+35]
+0.0007860160*Close[i+36]
+0.0130129076*Close[i+37]
+0.0040364019*Close[i+38];

value2 =
-0.0025097319*Close[i+0]
+0.0513007762*Close[i+1]
+0.1142800493*Close[i+2]
+0.1699342860*Close[i+3]
+0.2025269304*Close[i+4]
+0.2025269304*Close[i+5]
+0.1699342860*Close[i+6]
+0.1142800493*Close[i+7]
+0.0513007762*Close[i+8]
-0.0025097319*Close[i+9]
-0.0353166244*Close[i+10]
-0.0433375629*Close[i+11]
-0.0311244617*Close[i+12]
-0.0088618137*Close[i+13]
+0.0120580088*Close[i+14]
+0.0233183633*Close[i+15]
+0.0221931304*Close[i+16]
+0.0115769653*Close[i+17]
-0.0022157966*Close[i+18]
-0.0126536111*Close[i+19]
-0.0157416029*Close[i+20]
-0.0113395830*Close[i+21]
-0.0025905610*Close[i+22]
+0.0059521459*Close[i+23]
+0.0105212252*Close[i+24]
+0.0096970755*Close[i+25]
+0.0046585685*Close[i+26]
-0.0017079230*Close[i+27]
-0.0063513565*Close[i+28]
-0.0074539350*Close[i+29]
-0.0050439973*Close[i+30]
-0.0007459678*Close[i+31]
+0.0032271474*Close[i+32]
+0.0051357867*Close[i+33]
+0.0044454862*Close[i+34]
+0.0018784961*Close[i+35]
-0.0011065767*Close[i+36]
-0.0031162862*Close[i+37]
-0.0033443253*Close[i+38]
-0.0022163335*Close[i+39]
+0.0002573669*Close[i+40]
+0.0003650790*Close[i+41]
+0.0060440751*Close[i+42]
+0.0018747783*Close[i+43];

value3 =
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];

value4 =
-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];

      STLMBuffer[i] = value3-value4;
      FTLMBuffer[i] = value1-value2;
            
      i--;
     }
   return(0);
  }
//+------------------------------------------------------------------+

Comments