Re: 4 Time Frame and All TFs Indicators for MT4

691
Fionwins wrote: Wed Jan 21, 2026 3:35 pm Thank you again for your work on this indicator, I really appreciate it.

I have one small additional request, if possible.
Would it be possible to add one more option in the menu for a slow line crossing the zero line?

Appreciate your help. Thanks again.
Helli, sorry, dont understand, there is no slow line. Indicator plot macd (fast-slow) and signal line from macd...you mean signal line crossing zero?


Re: 4 Time Frame and All TFs Indicators for MT4

693
Fionwins wrote: Thu Jan 22, 2026 1:13 am Yes, that’s correct. I mean the signal line crossing the zero line.
Sorry for the confusion, and thank you for clarifying.
4-timeframe indicator of MACD Histogram

Hello, here is version with this menu - signal cross zero line. MaCD histogram is made simply way, and if you choose this logic, histogram change colors based on this logic.
These users thanked the author kvak for the post (total 7):
RodrigoRT7, Akela, Tsar, Jimmy, Fionwins, Krunal Gajjar, Abdi
Rating: 4.1%

Re: 4 Time Frame and All TFs Indicators for MT4

694
kvak wrote: Thu Jan 22, 2026 6:23 am Hello, here is version with this menu - signal cross zero line. MaCD histogram is made simply way, and if you choose this logic, histogram change colors based on this logic.
Thank you for your time and effort in developing this indicator. It’s very helpful and I truly appreciate your support and really appreciate you sharing it with the community.
These users thanked the author Fionwins for the post (total 2):
kvak, RodrigoRT7
Rating: 1.2%

Re: 4 Time Frame and All TFs Indicators for MT4

695
4-timeframe indicator of MACD Histogram and Oscillator set

Another 4th timeframe indicator, now it is stochastic indicator.

You may choose pre/pos smoothing and also filtering

Also there is new two stochastics slow and turbo for experimentings.

PS: Additional 4-timeframe indicators to try:
These users thanked the author kvak for the post (total 8):
RodrigoRT7, Jimmy, Tsar, Krunal Gajjar, moey_dw, Akela, Abdi, boytoy
Rating: 4.7%


Re: 4 Time Frame and All TFs Indicators for MT4

696
kvak wrote: Fri Jan 23, 2026 7:50 am 4-timeframe indicator of MACD Histogram

Another 4th timeframe indicator, now it is stochastic indicator.

You may choose pre/pos smoothing and also filtering

Also there is new two stochastics slow and turbo for experimentings.
Turbo calculation fascinates me............ what is this new mode!!! Hows did you make this its like a jurik but more smoother??
These users thanked the author moey_dw for the post (total 2):
kvak, RodrigoRT7
Rating: 1.2%
Official Forex-station GIF animator at your service 👨‍⚖️
The best divergence indicator in the world.

Re: 4 Time Frame and All TFs Indicators for MT4

697
moey_dw wrote: Fri Jan 23, 2026 6:57 pm Turbo calculation fascinates me............ what is this new mode!!! Hows did you make this its like a jurik but more smoother??

Hi moey_dw,

Didn't you knew (in Long ago) that kvak is a Very Intelligent and Adaptable person who quickly learned about MT4 + MT5 programming ?

He's poured many New ideas and Creativity into MT4 & MT5 programming to further Perfect it. This allows Traders will clearly understand more Better about the indicator signal's he created.

Furthermore, the Meta Quotes programming Language has been Upgraded & Updated to be even Smarter Now.

Moreover... Now is the era of AI ; which can help Reduce workloads and make it more Efficiency...
These users thanked the author Tsar for the post (total 2):
kvak, moey_dw
Rating: 1.2%
Always looking the GREAT, never left GOOD Point...

Re: 4 Time Frame and All TFs Indicators for MT4

698
moey_dw wrote: Fri Jan 23, 2026 6:57 pm Turbo calculation fascinates me............ what is this new mode!!! Hows did you make this its like a jurik but more smoother??
The "Turbo" calculation

Hello.
"Turbo" is adaptive method what I use in some functions...It is two stage proces with z-score and ER and made value adaptive.
It makes things very fast to market changes, but it can also calm down after a while and return to calm values.
It is more suitable for adapting slow things (average types, indicators like rsx, stochastic). I tried a simple EMA and it was very nervous.
But I still recommend larger periods...
In the picture T3 turbo, where the HOT coefficient is controlled by adaptation.
Stochastic turbo, this is variation of DSS with slow alfa and adapting
and turbo adaptive RSX.
These users thanked the author kvak for the post (total 6):
Jimmy, Akela, Tsar, RodrigoRT7, boytoy, moey_dw
Rating: 3.5%

Re: 4 Time Frame and All TFs Indicators for MT4

699
4 Time Frame ZeroLag Stoch

I'm not sure if any coder did this before but here it is.
This indicator is useful for coders because there's a standalone iZeroLagStoch function.

Code: Select all

//-------------------------------------------------------------------
// ZeroLag Stochastic function - self-contained, no iCustom dependency
// mode: 0 = Main line (ZeroLag %K), 1 = Signal line (ZeroLag %D)
//-------------------------------------------------------------------
double iZeroLagStoch(const string symbol, int timeframe, int kperiod, int slowing, int dperiod, int mode, int index)
{
   int n, s;
   double sum, ema;
   
   // Need enough history for the full chain of smoothing
   int depth = kperiod + slowing*2 + dperiod*2 + 5;
   
   // Step 1: Compute raw %K for enough bars
   double rawK[];
   ArrayResize(rawK, depth);
   for (n = 0; n < depth; n++)
   {
      int shift = index + n;
      double hi = iHigh(symbol, timeframe, iHighest(symbol, timeframe, MODE_HIGH, kperiod, shift));
      double lo = iLow (symbol, timeframe, iLowest (symbol, timeframe, MODE_LOW,  kperiod, shift));
      if (hi != lo)
         rawK[n] = 100.0 * (iClose(symbol, timeframe, shift) - lo) / (hi - lo);
      else
         rawK[n] = 0;
   }
   
   // Step 2: SMA of rawK (Slowing) => smoothK
   int smoothLen = depth - slowing + 1;
   double smoothK[];
   ArrayResize(smoothK, smoothLen);
   for (n = 0; n < smoothLen; n++)
   {
      sum = 0;
      for (s = 0; s < slowing; s++)
         sum += rawK[n + s];
      smoothK[n] = sum / slowing;
   }
   
   // Step 3: ZeroLag Main = 2*smoothK - SMA(smoothK, slowing)
   int mainLen = smoothLen - slowing + 1;
   double mainLine[];
   ArrayResize(mainLine, mainLen);
   for (n = 0; n < mainLen; n++)
   {
      sum = 0;
      for (s = 0; s < slowing; s++)
         sum += smoothK[n + s];
      ema = sum / slowing;
      mainLine[n] = smoothK[n] + smoothK[n] - ema;
   }
   
   if (mode == 0)
      return(mainLine[0]);  // Main line at requested index
   
   // Step 4: SMA of mainLine (DPeriod) => smoothD
   int smoothDLen = mainLen - dperiod + 1;
   double smoothD[];
   ArrayResize(smoothD, smoothDLen);
   for (n = 0; n < smoothDLen; n++)
   {
      sum = 0;
      for (s = 0; s < dperiod; s++)
         sum += mainLine[n + s];
      smoothD[n] = sum / dperiod;
   }
   
   // Step 5: ZeroLag Signal = 2*smoothD - SMA(smoothD, dperiod)
   int sigLen = smoothDLen - dperiod + 1;
   if (sigLen < 1) return(0);
   
   sum = 0;
   for (s = 0; s < dperiod; s++)
      sum += smoothD[s];
   ema = sum / dperiod;
   
   return(smoothD[0] + smoothD[0] - ema);  // Signal line at requested index
}
//-------------------------------------------------------------------
These users thanked the author Banzai for the post:
Cagliostro
Rating: 0.6%

Re: 4 Time Frame and All TFs Indicators for MT4

700
4 Time Frame ZeroLag MACD

This indicator is useful for coders because there's a standalone iZeroLagMACD function.

Code: Select all

//-------------------------------------------------------------------
// ZeroLag MACD function - self-contained, no iCustom dependency
// mode: 0 = MACD line, 1 = Signal line
// Uses double-EMA (EMA of EMA) for zero-lag filtering on fast, slow, and signal
//-------------------------------------------------------------------
double iZeroLagMACD(const string symbol, int timeframe, int fastPeriod, int slowPeriod, int signalPeriod, int priceType, int mode, int index)
{
   // EMA needs enough warm-up bars for convergence
   int depth = MathMax(slowPeriod, fastPeriod) * 10;
   int totalBars = iBars(symbol, timeframe);
   if (depth > totalBars - index) depth = totalBars - index;
   if (depth < 2) return(0);
   
   double alpha1 = 2.0 / (1.0 + fastPeriod);
   double alpha2 = 2.0 / (1.0 + slowPeriod);
   double alpha3 = 2.0 / (1.0 + signalPeriod);
   
   // Work arrays: ema11=fast EMA1, ema12=fast EMA2, ema21=slow EMA1, ema22=slow EMA2
   double ema11, ema12, ema21, ema22, ema31, ema32;
   double macdVal, signalVal;
   int n;
   
   // Start from the oldest bar and iterate forward
   int startBar = index + depth - 1;
   double price = iMA(symbol, timeframe, 1, 0, MODE_SMA, priceType, startBar);
   ema11 = price;
   ema12 = price;
   ema21 = price;
   ema22 = price;
   macdVal = 0;
   ema31 = 0;
   ema32 = 0;
   
   for (n = startBar - 1; n >= index; n--)
   {
      price = iMA(symbol, timeframe, 1, 0, MODE_SMA, priceType, n);
      ema11 = ema11 + alpha1 * (price  - ema11);
      ema12 = ema12 + alpha1 * (ema11  - ema12);
      ema21 = ema21 + alpha2 * (price  - ema21);
      ema22 = ema22 + alpha2 * (ema21  - ema22);
      macdVal = (2.0 * ema11 - ema12) - (2.0 * ema21 - ema22);
      ema31 = ema31 + alpha3 * (macdVal - ema31);
      ema32 = ema32 + alpha3 * (ema31   - ema32);
   }
   
   if (mode == 0)
      return(macdVal);  // MACD line
   
   signalVal = 2.0 * ema31 - ema32;
   return(signalVal);   // Signal line
}
//-------------------------------------------------------------------