s_ftlm-stlm
Download scriptThis technical tool is designed as a specialized visual indicator for the MetaTrader trading platform. Its primary purpose is to analyze price movements by calculating complex mathematical relationships between historical data points.
Core Functionality
The script functions by scanning a specific window of historical price data (the "Close" prices) and applying four distinct mathematical formulas to that data. Each formula acts as a unique filter, weighing different past prices with varying degrees of importance—some positive and some negative—to identify trends or anomalies.
The Calculation Logic
The logic is divided into two primary components, each resulting in a visual line on your trading chart:
- FTLM Component: This calculation combines two specific formulas (referred to as "Nik-fatl" and "Nik-rftl"). It measures the difference between these two sets of weighted data. By subtracting one complex calculation from the other, it isolates a specific type of market signal.
- STLM Component: This calculation combines two different sets of formulas (referred to as "Saviche-satl" and "Saviche-rstl"). Similar to the first component, it finds the difference between these two distinct mathematical models to produce a separate visual data point.
How It Works for the User
- Data Processing: The script looks back at approximately 90 price bars to perform its calculations. This ensures that the current indicator value is informed by a significant amount of recent market history rather than just a few moments of movement.
- Visual Output: Instead of showing you raw numbers, the script translates these complex subtractions into two separate lines on a dedicated window below your main chart.
- Analysis: Traders use these two lines to observe relationships between different mathematical models of price action. When these lines move in specific patterns relative to one another, they provide the visual cues needed to make informed trading decisions.
In essence, this script acts as a sophisticated "filter" that takes raw market noise and distills it into two smooth, comparative lines, helping traders see underlying trends that might not be visible to the naked eye.
//+------------------------------------------------------------------+
//| 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 Aqua
#property indicator_color2 Bisque
//---- 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);
SetIndexDrawBegin(0,90);
SetIndexDrawBegin(1,43);
//----
return(0);
}
//+------------------------------------------------------------------+
//| FTLM_STLM |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
//----
if(Bars<=90) return(0);
//---- initial zero
if(counted_bars<43)
{
for(i=1;i<=0;i++) FTLMBuffer[Bars-i]=0.0;
for(i=1;i<=0;i++) STLMBuffer[Bars-i]=0.0;
}
//----
i=Bars-43-1;
if(counted_bars>=43) i=Bars-counted_bars-1;
while(i>=0)
{
value1 =
//Nik-fatl
0.55681783*Close[i+0]
+0.40989480*Close[i+1]
+0.18698956*Close[i+2]
-0.01146416*Close[i+3]
-0.11159155*Close[i+4]
-0.10184495*Close[i+5]
-0.02852724*Close[i+6]
+0.04148221*Close[i+7]
+0.06352347*Close[i+8]
+0.03612810*Close[i+9]
-0.00925071*Close[i+10]
-0.03702468*Close[i+11]
-0.03227552*Close[i+12]
-0.00614165*Close[i+13]
+0.01805944*Close[i+14]
+0.02381914*Close[i+15]
+0.01153072*Close[i+16]
-0.00577452*Close[i+17]
-0.01468628*Close[i+18]
-0.01106937*Close[i+19]
-0.00073813*Close[i+20]
+0.00746883*Close[i+21]
+0.01520920*Close[i+22]
-0.00053452*Close[i+23];
value2 =
//Nik-rftl
-0.03461070*Close[i+0]
+0.04055913*Close[i+1]
+0.14685890*Close[i+2]
+0.24018091*Close[i+3]
+0.27724996*Close[i+4]
+0.24018091*Close[i+5]
+0.14685890*Close[i+6]
+0.04055913*Close[i+7]
-0.03461070*Close[i+8]
-0.05688785*Close[i+9]
-0.03489325*Close[i+10]
+0.00271370*Close[i+11]
+0.02737250*Close[i+12]
+0.02685755*Close[i+13]
+0.00837132*Close[i+14]
-0.01106902*Close[i+15]
-0.01810359*Close[i+16]
-0.01105387*Close[i+17]
+0.00180903*Close[i+18]
+0.01026176*Close[i+19]
+0.00955276*Close[i+20]
+0.00231460*Close[i+21]
-0.00510739*Close[i+22]
-0.00815565*Close[i+23]
-0.00830330*Close[i+24]
+0.00109424*Close[i+25];
value3 =
//Êðàâ÷óê-satl
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 =
//Êðàâ÷óê-rstl
-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