Recent Posts

Pages: [1] 2 3 ... 10
1
General Discussion / Re: How to create Format file, aqe file
« Last post by Fugtust on April 25, 2018, 02:44:00 am »
I'm grateful to you.
2
Trading System Discussion / Re: Long and Short Signal at same time
« Last post by Fugtust on April 25, 2018, 02:43:53 am »
I'm thankful for that.
3
Amibroker Help / Re: Rotational sorting weights
« Last post by Oelmasu on April 24, 2018, 02:40:06 am »
I think your information has given me more knowledge.
4
Introduction / Re: Newbie from Malaysia
« Last post by Oelmasu on April 24, 2018, 02:39:44 am »
I'm looking for this information, it's the information I'm looking for.
5
Amibroker Help / Rotational sorting weights
« Last post by NO EROCLA on April 12, 2018, 08:25:17 am »
Attn customer service,

there is a way to sort position size during rotational backtesting ?

For example, if I want rotate top 14 of ā€œnā€ symbols:
 
please find image attached.

Thank you very much for any helps.
Best Regards
6
Amibroker Help / NUMBER OF CURRENT OPEN POSITION
« Last post by NO EROCLA on April 12, 2018, 08:22:55 am »
Dear all,

anyone know if there's a way to count the number of current open position in AFL ?

Thanks in advance
Regards
No Erocla
7
General Discussion / Re: How to create Format file, aqe file
« Last post by Peter5510 on December 18, 2017, 10:30:54 pm »
Change your file in the following order....
$FORMAT TICKER,BOOK_VALUE_PER_SHARE,.....
$SEPARATOR ,
$SKIPLINES 1
$NOQUOTES 1

Save this file and name it e.g. fundamental.format in the Amibroker/Formats folder.

The next thing you must do is to add the following line in import.types file.
Fundamental Information (*.*)|*.*|fundamental.format

In Amibroker, go to File -> Import ASCII... select the file to import and select the file types in the drop down menu. Click Open
.
8
Amibroker Help / Re: amiquote
« Last post by Peter5510 on December 18, 2017, 10:10:02 pm »
Yahoo Finance deprecated its API and new API uses unit time stamp, cookie and crump.
The latest version of AmiQuote can do the download.
9
Amibroker Help / How to look at my last signal and take a decision in future
« Last post by tiasamik on December 12, 2017, 03:23:58 am »
I was trying to implement stochastics cross as a signal along with when stochK cross 20. I wrote AFL like -

///
Buy=cross(stochk(15,2),stochD(15,2,2)) and stochk(15,2)>20;
///

This has a problem. above AFL provides signal only when StochK value is greater than 20 and a Stchk StchD cross is happening. But it can not work when a cross of stochK & stochD happens below 20 and after few bars stochK increases and cross 20. I want to get signal also, when cross of K & D is happening below 20 level and when stochK cross 20. can any one help?
10
Amibroker Help / Weekly Autocorrelation Periodogram on a Daily Amibroker Chart
« Last post by derek2209 on November 30, 2017, 04:33:14 pm »
Hi
Is it possible  plot a  Weekly  "Autocorrelation Periodogram " ( John F. Ehlers)
on a separate  pane of a Daily Amibroker Chart ?
Link to  Autocorrelation Periodogram code below:

https://www.wisestocktrader.com/indicators/4665-john-f-ehlers-autocorrelation-periodogram-for-amibroker-afl

Thanking you in advance
Best regards
Derek

Code: [Select]
// Downloaded From www.WiseStockTrader.com
/*
Autocorrelation Periodogram
2013 John F. Ehlers
*/

SetBarsRequired(sbrAll);

LPeriod = Param("Low-pass Period", 10, 3, 20);
HPeriod = Param("High-pass Period", 48, 22, 80);
IsPlotHeatMap = ParamToggle("Show HeatMap?", "No|Yes", 1);
IsPlotDominantCycle = ParamToggle("Show Dom. Cycle?", "No|Yes");

pi=3.1415926;

function RoofingFilter(lpPeriod, hpPeriod)
{
alpha1 = (cos(0.707*2*pi / hpPeriod) + sin(0.707*2*pi / hpPeriod) - 1) / cos(0.707*2*pi / hpPeriod);
a1 = exp(-1.414*pi / lpPeriod);
b1 = 2*a1*cos(1.414*pi / lpPeriod);
c2 = b1;
c3 = -a1*a1;
c1 = 1 - c2 - c3;

HP = Close;
Filt = HP;

for(i = 2; i < BarCount; i++)
{
HP[i] = ((1 - alpha1 / 2)^2)*(Close[i] - 2*Close[i-1] + Close[i-2]) + 2*(1 - alpha1)*HP[i-1] - ((1 - alpha1)^2)*HP[i-2];
Filt[i] = c1*(HP[i] + HP[i-1]) / 2 + c2*Filt[i-1] + c3*Filt[i-2];
}

return Filt;
}

function AGC(lowerCutoff, higherCutoff, acceptableSlope)
{
factor = 0;
accSlope = -acceptableSlope; //acceptableSlope = 1.5 dB
halfLC = lowerCutoff / 2;
halfHC = higherCutoff / 2;
ratio = 10^(accSlope/20);
if(halfHC - halfLC > 0)
factor = ratio^(1/(halfHC - halfLC));
return factor;
}

function AutocorrelationPeriodogram(data, isHeatMap, isDomCyc)
{
avgLength = 3;
dominantCycle = 0;

//Pearson correlation for each value of lag
for(lag = 0; lag <= 48; lag++)
{
//Set the average length as M
M = avgLength;
if(avgLength == 0)
M = lag;
//Initialize correlation sums
Sx = 0;
Sy = 0;
Sxx = 0;
Syy = 0;
Sxy = 0;
//Advance samples of both data streams and sum Pearson components
for(count = 0; count <= M-1; count++)
{
X = Ref(data, -count);
Y = Ref(data, -(lag + count));
Sx += X;
Sy += Y;
Sxx += X^2;
Syy += Y^2;
Sxy += X*Y;
}
var1 = (M*Sxx - Sx^2)*(M*Syy - Sy^2);
VarSet("corr" + lag, IIf(var1 > 0, (M*Sxy - Sx*Sy)/sqrt(var1), 0)); //Compute correlation for each value of lag
//VarSet("corrScale" + lag, IIf(var1 > 0, 0.5*((M*Sxy - Sx*Sy)/sqrt(var1) + 1), 0)); //Scale each correlation to range between 0 and 1
}

/*//Plot as a Heatmap (for scale each correlation to range between 0 and 1)
for(period = 3; period <= 48; period++)
{
corr = VarGet("corrScale" + period);
Red = IIf(corr > 0.5, 255*(2 - 2*corr), 255);
Green = IIf(corr > 0.5, 255, 2*255*corr);
PlotOHLC( period-1, period-1, period, period, "", ColorRGB( Red, Green, 0 ), styleCloud | styleNoLabel);
}*/

/*
The DFT is accomplished by correlating the autocorrelation at each value of lag with the cosine and sine of each period of interest.
The sum of the squares of each of these values represents the relative power at each period.
*/
for(period = 10; period <= 48; period++)
{
cosinePart = 0;
sinePart = 0;

for(n = 3; n <= 48; n++)
{
cosinePart += VarGet("corr" + n)*cos(2*pi*n / period);
sinePart += VarGet("corr" + n)*sin(2*pi*n / period);
}
VarSet("sqSum" + period, cosinePart^2 + sinePart^2);
}

//EMA is used to smooth the power measurement at each period
for(period = 10; period <= 48; period++)
VarSet("r" + period, AMA((VarGet("sqSum" + period))^2, 0.2));

//Find Maximum Power Level for Normalization
K = AGC(10, 48, 1.5);
for(period = 10; period <= 48; period++)
{
if(period == 10)
VarSet("maxPwr", 0);
VarSet("maxPwr", IIf(VarGet("r" + period) > VarGet("maxPwr"), K*VarGet("r" + period), VarGet("maxPwr")));
}

//Normalization power
for(period = 10; period <= 48; period++)
VarSet("pwr" + period, VarGet("r" + period)/VarGet("maxPwr"));

//Compute the dominant cycle using the CG of the spectrum
Spx = 0;
Sp = 0;
for(period = 10; period <= 48; period++)
{
Spx += IIf(VarGet("pwr" + period) >= 0.5,  period*VarGet("pwr" + period), 0);
Sp += IIf(VarGet("pwr" + period) >= 0.5, VarGet("pwr" + period), 0);
}
dominantCycle = IIf(Sp != 0, Spx / Sp, 0);

if(isHeatMap)
{
//Plot as a Heatmap
for(period = 10; period <= 48; period++)
{
pwr = VarGet("pwr" + period);
Red = IIf(pwr > 0.5, 255, 2*255*pwr);
Green = IIf(pwr > 0.5, 255*(2*pwr - 1), 0);
PlotOHLC( period-1, period-1, period, period, "", ColorRGB( Red, Green, 0 ), styleCloud | styleNoLabel, Null, Null, 0, 0);
}
}

if(isDomCyc)
Plot(dominantCycle, "Dominant Cycle", colorBlue, styleThick, Null, Null, 0, 1);

return dominantCycle;
}

filtData = RoofingFilter(LPeriod, HPeriod);
AutocorrelationPeriodogram(filtData, IsPlotHeatMap, IsPlotDominantCycle);
Pages: [1] 2 3 ... 10