Hi there,
Could someone convert this Elliot Wave Analyzer (weekly waves)for MetaStock also in daily or intraday waves, in efs?
A bit how it works:
It identify some period (differ for each sort of EW line). For example, for Weekly Wave this period is one week. And yes, then it'll select HIGHEST AND LOWEST bar and chart the line depends on which bar number is smaller. Check out source code for WEEKLY WAVE logic below.
I like notice - this is ANALYZE METHOD only. NOT TRADEABLE Add-On. Visit my personal web site for check out my own TRADEABLE logic.
And my Nelly Elliot Wave MetaStock Add-on plots straight lines which help traders analyze stocks. Not indicator's style lines like other tools. This is major feature.
// BEGIN LOGIC
procedure IdentifyWeeklyWaves;
var
i: integer;
lastWeekClose, lastShift, lastWeekOpen: integer;
weekHighShift, weekLowShift: integer;
weekHighPrice, weekLowPrice: double;
swing_0, swing_1, swing_2, swing_3: integer;
middleWeekShift: integer;
begin
lastShift := -1;
for i := 0 to High(timeDate) do
begin
lastWeekClose := GetLastWeeklyClose(i);
if (lastShift = lastWeekClose) then
Continue
else
lastShift := lastWeekClose;
lastWeekOpen := GetLastWeeklyClose(lastWeekClose);
if (lastWeekClose = -1) or (lastWeekOpen = -1) then
Continue;
weekHighShift := GetHighestHighShift(lastWeekClose - 1, lastWeekClose - lastWeekOpen);
weekLowShift := GetLowestLowShift(lastWeekClose - 1, lastWeekClose - lastWeekOpen);
weekHighPrice := H[weekHighShift];
weekLowPrice := L[weekLowShift];
if (weekHighShift < weekLowShift) then
begin
weeklyWaves[lastWeekOpen] := weekHighPrice;
middleWeekShift := lastWeekClose - MathCeil((lastWeekClose - lastWeekOpen + 1) / 2);
weeklyWaves[middleWeekShift] := weekLowPrice;
end
else
begin
weeklyWaves[lastWeekOpen] := weekLowPrice;
middleWeekShift := lastWeekClose - MathCeil((lastWeekClose - lastWeekOpen + 1) / 2);
weeklyWaves[middleWeekShift] := weekHighPrice;
end;
end;
end;
// END OF LOGIC
Could someone convert this Elliot Wave Analyzer (weekly waves)for MetaStock also in daily or intraday waves, in efs?
A bit how it works:
It identify some period (differ for each sort of EW line). For example, for Weekly Wave this period is one week. And yes, then it'll select HIGHEST AND LOWEST bar and chart the line depends on which bar number is smaller. Check out source code for WEEKLY WAVE logic below.
I like notice - this is ANALYZE METHOD only. NOT TRADEABLE Add-On. Visit my personal web site for check out my own TRADEABLE logic.
And my Nelly Elliot Wave MetaStock Add-on plots straight lines which help traders analyze stocks. Not indicator's style lines like other tools. This is major feature.
// BEGIN LOGIC
procedure IdentifyWeeklyWaves;
var
i: integer;
lastWeekClose, lastShift, lastWeekOpen: integer;
weekHighShift, weekLowShift: integer;
weekHighPrice, weekLowPrice: double;
swing_0, swing_1, swing_2, swing_3: integer;
middleWeekShift: integer;
begin
lastShift := -1;
for i := 0 to High(timeDate) do
begin
lastWeekClose := GetLastWeeklyClose(i);
if (lastShift = lastWeekClose) then
Continue
else
lastShift := lastWeekClose;
lastWeekOpen := GetLastWeeklyClose(lastWeekClose);
if (lastWeekClose = -1) or (lastWeekOpen = -1) then
Continue;
weekHighShift := GetHighestHighShift(lastWeekClose - 1, lastWeekClose - lastWeekOpen);
weekLowShift := GetLowestLowShift(lastWeekClose - 1, lastWeekClose - lastWeekOpen);
weekHighPrice := H[weekHighShift];
weekLowPrice := L[weekLowShift];
if (weekHighShift < weekLowShift) then
begin
weeklyWaves[lastWeekOpen] := weekHighPrice;
middleWeekShift := lastWeekClose - MathCeil((lastWeekClose - lastWeekOpen + 1) / 2);
weeklyWaves[middleWeekShift] := weekLowPrice;
end
else
begin
weeklyWaves[lastWeekOpen] := weekLowPrice;
middleWeekShift := lastWeekClose - MathCeil((lastWeekClose - lastWeekOpen + 1) / 2);
weeklyWaves[middleWeekShift] := weekHighPrice;
end;
end;
end;
// END OF LOGIC
Comment