+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

Gauss Kernel System

The Gauss Kernel System applies Gaussian functions to smooth or filter data. Traders can use Amibroker AFL to develop systems that implement Gauss Kernel algorithms for data smoothing or predictive analysis. Integrating Amibroker data feed allows for real-time application of the Gauss Kernel System, aiding traders in making more accurate predictions or analyses.

/_SECTION_BEGIN("Gauss Kernel System");
function Kernel(Input, Length)
{

Norm = 0;
sigma = (Length+1)/4.0;

for (i = 0; i <= Length; i++)
		
	{
		Norm = Norm + exp(-((Length/2 - i)*(Length/2 - i))/(2*sigma*sigma));
	}

array = Input;

for (j = Length; j < BarCount; j++)
	{
		Filtered = 0;

		for (k = 0; k <= Length; k++)

			{
				Filtered = Filtered + exp(-((Length/2 - k)*(Length/2 - k))/(2*sigma*sigma))*Input[j - k];
			}

		array[j] = Filtered/Norm;

	}
return array;
}

function Kernel_HMA(Input, N)
{
	f = Kernel(2 * Kernel(Input,round(N/2)) - Kernel(Input,N), round(sqrt(N)));
return f;
}

Length1 = Param("Length1", 8, 2, 50, 1);
Length2 = Param("Length2", 13, 2, 50, 1);
Length3 = Param("Length3", 21, 2, 50, 1);

Smoothx = Kernel(C, Length1);
Smoothy = Kernel(C, Length2);
Smoothz = Kernel(C, Length3);

x = C - Smoothx;
y = C - Smoothy;
z = C - Smoothz;

Normx = Kernel_HMA(x/sqrt(Kernel(x^2,Length1)),2);
Normy = Kernel_HMA(y/sqrt(Kernel(y^2,Length2)),2);
Normz = Kernel_HMA(z/sqrt(Kernel(z^2,Length3)),2);

Buy = ( Cross(Normx,0) OR Cross(Normy,0) OR Cross(Normz,0)) AND (Normx > Ref(Normx,-1) AND Normy > Ref(Normy,-1) AND Normz > Ref(Normz,-1));
Sell = ( Cross(0,Normx) OR Cross(0,Normy) OR Cross(0,Normz) ) AND (Normx < Ref(Normx,-1) AND Normy < Ref(Normy,-1) AND Normz < Ref(Normz,-1));
Short = Sell;
Cover = Buy;

Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
PlotShapes( shape, IIf( Buy, colorBrightGreen, colorRed ), 0, IIf( Buy, 0 , 0));

Plot(Normx, "Normx", colorYellow, styleThick);
Plot(Normy, "Normy", colorBlue, styleThick);
Plot(Normz, "Normz", colorRed, styleThick);
Plot(0, "Zero", colorBlack, styleThick);
_SECTION_END();

Open chat
1
Hi, how can I help you?