PureBytes Links
Trading Reference Links
|
Apparently this is the official code under metatrader
========================================
#property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Blue #property indicator_color2 DimGray #property indicator_color3 Red #property indicator_color4 Red #property indicator_color5 DimGray #property indicator_color6 LimeGreen #property indicator_color7 LimeGreen
extern int Nmbr_Bars = 180; extern int Order = 3; extern double Ecart = 1.61803399; double g_ibuf_92[]; double g_ibuf_96[]; double g_ibuf_100[]; double g_ibuf_104[]; double g_ibuf_108[]; double g_ibuf_112[]; double g_ibuf_116[]; double gda_120[20][20]; double gda_124[20]; double gda_128[20]; double gda_132[20]; int gi_136; int gi_140; int gi_144; int gi_148; int gi_152; int gi_156; int gi_160; double gd_164; double gd_172; double gd_180; double gd_188; double gd_196;
int init() { Comment("BARYCENTRE"); SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, g_ibuf_92); SetIndexBuffer(1, g_ibuf_96); SetIndexBuffer(2, g_ibuf_100); SetIndexBuffer(3, g_ibuf_104); SetIndexBuffer(4, g_ibuf_108); SetIndexBuffer(5, g_ibuf_112); SetIndexBuffer(6, g_ibuf_116); return (0); }
int deinit() { Comment(""); ObjectDelete("REG"); ObjectDelete("X1"); ObjectDelete("X2"); ObjectDelete("X3"); ObjectDelete("Z1"); ObjectDelete("Z2"); ObjectDelete("Z3"); return (0); }
int start() { if (Year() >= 2010) return (0); datetime l_time_0 = 0; SetIndexDrawBegin(0, Bars - Nmbr_Bars - 1); SetIndexDrawBegin(1, Bars - Nmbr_Bars - 1); SetIndexDrawBegin(2, Bars - Nmbr_Bars - 1); SetIndexDrawBegin(3, Bars - Nmbr_Bars - 1); SetIndexDrawBegin(4, Bars - Nmbr_Bars - 1); SetIndexDrawBegin(5, Bars - Nmbr_Bars - 1); SetIndexDrawBegin(6, Bars - Nmbr_Bars - 1); if (l_time_0 != Time[0]) { ObjectDelete("REG"); ObjectDelete("X1"); ObjectDelete("X2"); ObjectDelete("X3"); ObjectDelete("Z1"); ObjectDelete("Z2"); ObjectDelete("Z3"); l_time_0 = Time[0]; } gi_152 = Order + 1; gda_124[1] = Nmbr_Bars + 1; for (gi_160 = 1; gi_160 <= gi_152 << 1 - 2; gi_160++) { gd_164 = 0; for (gi_156 = 0; gi_156 <= Nmbr_Bars; gi_156++) gd_164 += MathPow(gi_156, gi_160); gda_124[gi_160 + 1] = gd_164; } for (gi_160 = 1; gi_160 <= gi_152; gi_160++) { gd_164 = 0; for (gi_156 = 0; gi_156 <= Nmbr_Bars; gi_156++) { if (gi_160 == 1) gd_164 += (High[gi_156] + Low[gi_156]) / 2.0; else gd_164 += (High[gi_156] + Low[gi_156]) / 2.0 * MathPow(gi_156, gi_160 - 1); } gda_128[gi_160] = gd_164; } for (gi_140 = 1; gi_140 <= gi_152; gi_140++) { for (gi_136 = 1; gi_136 <= gi_152; gi_136++) { gi_144 = gi_136 + gi_140 - 1; gda_120[gi_136][gi_140] = gda_124[gi_144]; } } for (gi_144 = 1; gi_144 <= gi_152 - 1; gi_144++) { gi_148 = 0; gd_188 = 0; for (gi_136 = gi_144; gi_136 <= gi_152; gi_136++) { if (MathAbs(gda_120[gi_136][gi_144]) > gd_188) { gd_188 = MathAbs(gda_120[gi_136][gi_144]); gi_148 = gi_136; } } if (gi_148 == 0) return (0); if (gi_148 != gi_144) { for (gi_140 = 1; gi_140 <= gi_152; gi_140++) { gd_196 = gda_120[gi_144][gi_140]; gda_120[gi_144][gi_140] = gda_120[gi_148][gi_140]; gda_120[gi_148][gi_140] = gd_196; } gd_196 = gda_128[gi_144]; gda_128[gi_144] = gda_128[gi_148]; gda_128[gi_148] = gd_196; } for (gi_136 = gi_144 + 1; gi_136 <= gi_152; gi_136++) { gd_180 = gda_120[gi_136][gi_144] / gda_120[gi_144][gi_144]; for (gi_140 = 1; gi_140 <= gi_152; gi_140++) { if (gi_140 == gi_144) gda_120[gi_136][gi_140] = 0; else gda_120[gi_136][gi_140] = gda_120[gi_136][gi_140] - gd_180 * gda_120[gi_144][gi_140]; } gda_128[gi_136] = gda_128[gi_136] - gd_180 * gda_128[gi_144]; } } gda_132[gi_152] = gda_128[gi_152] / gda_120[gi_152][gi_152]; for (gi_136 = gi_152 - 1; gi_136 >= 1; gi_136--) { gd_196 = 0; for (gi_140 = 1; gi_140 <= gi_152 - gi_136; gi_140++) { gd_196 += (gda_120[gi_136][gi_136 + gi_140]) * (gda_132[gi_136 + gi_140]); gda_132[gi_136] = 1 / gda_120[gi_136][gi_136] * (gda_128[gi_136] - gd_196); } } for (gi_156 = 0; gi_156 <= Nmbr_Bars; gi_156++) { gd_164 = 0; for (gi_144 = 1; gi_144 <= Order; gi_144++) gd_164 += (gda_132[gi_144 + 1]) * MathPow(gi_156, gi_144); g_ibuf_92[gi_156] = gda_132[1] + gd_164; } gd_172 = iStdDev(NULL, 0, Nmbr_Bars, 0, MODE_SMA, PRICE_HIGH, 0) * Ecart; for (gi_156 = 0; gi_156 <= Nmbr_Bars; gi_156++) { g_ibuf_104[gi_156] = g_ibuf_92[gi_156] + gd_172; g_ibuf_100[gi_156] = g_ibuf_92[gi_156] + (g_ibuf_104[gi_156] - g_ibuf_92[gi_156]) / 1.382; g_ibuf_96[gi_156] = g_ibuf_92[gi_156] + (g_ibuf_100[gi_156] - g_ibuf_92[gi_156]) / 1.618; g_ibuf_116[gi_156] = g_ibuf_92[gi_156] - gd_172; g_ibuf_112[gi_156] = g_ibuf_92[gi_156] - (g_ibuf_92[gi_156] - g_ibuf_116[gi_156]) / 1.382; g_ibuf_108[gi_156] = g_ibuf_92[gi_156] - (g_ibuf_92[gi_156] - g_ibuf_112[gi_156]) / 1.618; } ObjectCreate("REG", OBJ_ARROW, 0, Time[0], g_ibuf_92[0]); ObjectSet("REG", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("REG", OBJPROP_COLOR, Blue); ObjectCreate("X1", OBJ_ARROW, 0, Time[0], g_ibuf_96[0]); ObjectSet("X1", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("X1", OBJPROP_COLOR, DimGray); ObjectCreate("X2", OBJ_ARROW, 0, Time[0], g_ibuf_100[0]); ObjectSet("X2", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("X2", OBJPROP_COLOR, Red); ObjectCreate("X3", OBJ_ARROW, 0, Time[0], g_ibuf_104[0]); ObjectSet("X3", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("X3", OBJPROP_COLOR, Red); ObjectCreate("Z1", OBJ_ARROW, 0, Time[0], g_ibuf_108[0]); ObjectSet("Z1", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("Z1", OBJPROP_COLOR, DimGray); ObjectCreate("Z2", OBJ_ARROW, 0, Time[0], g_ibuf_112[0]); ObjectSet("Z2", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("Z2", OBJPROP_COLOR, LimeGreen); ObjectCreate("Z3", OBJ_ARROW, 0, Time[0], g_ibuf_116[0]); ObjectSet("Z3", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); ObjectSet("Z3", OBJPROP_COLOR, LimeGreen); return (0); }
Windows Live Messenger makes it easier to stay in touch - learn how!
__._,_.___
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
__,_._,___
|
|