.

Bearish Candle Eliminator - Amibroker AFL Code

Click Image To Enlarge. Please Rate And Comment.

Bearish Candle Eliminator - Amibroker AFL Code

_SECTION_BEGIN("");


// Get Day/Month/Year in number format (NOT array).
Y = SelectedValue(Year()); M = SelectedValue(Month()); D = 
SelectedValue(Day());

// normalize values to range 0...1
function normalize( Val )
{

Val = Val - floor( Val );
if (Val < 0) {Val = Val + 1;}
return Val;
}

// Set Pi.
PI = 3.1415926535897932385;

// calculate the Julian Date at 12H UT
YY = Y - floor( ( 12 - M ) / 10 ); 
MM = M + 9;
if (MM >= 12) {MM = MM - 12;}

K1 = floor( 365.25 * ( YY + 4712 ) );
K2 = floor( 30.6 * MM + 0.5 );
K3 = floor( floor( ( YY / 100 ) + 49 ) * 0.75 ) - 38;

JD = K1 + K2 + D + 59; // for dates in Julian calendar
if (JD > 2299160) {JD = JD - K3;} // for Gregorian calendar

// calculate moon's age in days
IP = normalize( ( JD - 2451550.1 ) / 29.530588853 );
AG = IP*29.53;

Phase = "NEW";
if (AG < 27.68493) {Phase = "Waning crescent";S1=4;S2=8;}
if (AG < 23.99361) {Phase = "Last quarter";S1=4;S2=12;}
if (AG < 20.30228) {Phase = "Waning gibbous";S1=6;S2=14;}
if (AG < 16.61096) {Phase = "FULL";S1=6;S2=15;}
if (AG < 12.91963) {Phase = "Waxing gibbous";S1=6;S2=7;}
if (AG < 9.22831) {Phase = "First quarter";S1=2;S2=3;}
if (AG < 5.53699) {Phase = "Waxing crescent";S1=2;S2=1;}
if (AG < 1.84566) {Phase = "NEW";S1=0;S2=0;}

IP1 = IP;
IP = IP*2*PI; // Convert phase to radians

// calculate moon's distance
DP = 2*PI*normalize( ( JD - 2451562.2 ) / 27.55454988 );
DI = 60.4 - 3.3*cos( DP ) - 0.6*cos( 2*IP - DP ) - 0.5*cos( 2*IP );

// calculate moon's ecliptic latitude
NP = 2*PI*normalize( ( JD - 2451565.2 ) / 27.212220817 );
LA = 5.1*sin( NP );

// calculate moon's ecliptic longitude
RP = normalize( ( JD - 2451555.8 ) / 27.321582241 );
LO = 360*RP + 6.3*sin( DP ) + 1.3*sin( 2*IP - DP ) + 0.7*sin( 2*IP );

Zodiac = "Pisces";
if (LO < 348.58) {Zodiac = "Aquarius";}
if (LO < 311.72) {Zodiac = "Capricorn";}
if (LO < 302.49) {Zodiac = "Sagittarius";}
if (LO < 271.26) {Zodiac = "Scorpio";}
if (LO < 242.57) {Zodiac = "Libra";}
if (LO < 224.17) {Zodiac = "Virgo";}
if (LO < 173.34) {Zodiac = "Leo";}
if (LO < 135.30) {Zodiac = "Cancer";}
if (LO < 119.48) {Zodiac = "Gemini";}
if (LO < 93.44) {Zodiac = "Taurus";}
if (LO < 51.16) {Zodiac = "Aries";}
if (LO < 33.18) {Zodiac = "Pisces";}

_N(Title = "Date = " + Y + "/" + M + "/" +D + "\n" +
"Age: " + AG + " Phase: " + Phase + "\n" +
"distance: " + DI + " earth radii\n" +
"ecliptic\n" +
" latitude = " + LA + "°\n" +
" longitude = " + LO + "°\n" +
"constellation = " + Zodiac+ "\n" +
"IP: " + IP1);

Color = IIf(O > C, colorBlack, colorYellow);
Plot( Close, "Price", color, styleCandle | styleOwnScale );
_SECTION_END();
Previous Post Next Post