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?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.
Re: 4 Time Frame and All TFs Indicators for MT4
692Yes, that’s correct. I mean the signal line crossing the zero line.kvak wrote: Wed Jan 21, 2026 6:52 pm 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?
Sorry for the confusion, and thank you for clarifying.
Re: 4 Time Frame and All TFs Indicators for MT4
6934-timeframe indicator of MACD HistogramFionwins 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.
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
694Thank 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.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.
- 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
6954-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:
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
696Turbo calculation fascinates me............ what is this new mode!!! Hows did you make this its like a jurik but more smoother??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.
- 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.
The best divergence indicator in the world.
Re: 4 Time Frame and All TFs Indicators for MT4
697moey_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...
- Rating: 1.2%
Always looking the GREAT, never left GOOD Point...
Re: 4 Time Frame and All TFs Indicators for MT4
698The "Turbo" calculationmoey_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??
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.
- Rating: 3.5%
Re: 4 Time Frame and All TFs Indicators for MT4
6994 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.
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
7004 Time Frame ZeroLag MACD
This indicator is useful for coders because there's a standalone iZeroLagMACD function.
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
}
//-------------------------------------------------------------------