المشاركة الأصلية كتبت بواسطة shift
كما ورد في المستند
كيفية قراءة المؤشرات بلخياط
لتحليل الرسم البياني مصطفى بالخياط استخدم المؤشرين اللذين يعتمدان على أساس مفهوم مركز الثقل لحركة الأسهم.
1. المؤشر الأول مركز الثقل
يحسب مركز الثقل الحيوي للسوق هو يمثل بالشريطين المتوازيين التي تبدو وكأنها بمثابة دعم ومقاومة. 2. المؤشر الثاني توقيت
يحسب مركز الجاذبية الإحصائية
هو الذي يمثل بالرسم البياني أدنى مخطط الأسعار ويعطي مناطق أفضل الاحتمالات للشراء أو البيع.
القراءة المتزامنة لكل من هذين المؤشرين تسمح برؤية فورية للتطور المحتمل للسوق من دون الحاجة للحصول على تعليقات.
في لمحة بصر ، فإن القارئ يعرف ما إذا كان سيشتري أو يبيع أو ينتظر من غير فعل شيء.
Gravity center
المؤشر يستخدم صيغة رياضية متقدمة (الانحدار متعدد الحدود) لحساب مركز الجاذبية لتحرك الأسهم أولا (الخط الأزرق) ، ثم 3 انحرافات قياسية صعودا (خطوط حمراء)
و 3 نزولا (خطوط خضراء).
نطاقات هذه الانحرافات هي دائما نسب العدد الذهبي 1.618. و عند الرجوع إليه وبعد أن تم درس هذا المؤشر على مدى مئات من الأسواق المختلفة فان هذا الرقم السحري هو في الواقع مطبوع في عقول البشر ، أيا كان عرقهم أو أصلهم.
1.الملاحظة الأولى هي أن جميع الأسواق المالية تتأرجح حول مركز ثقلها. يبالغون في الصعود كما في النزول بالمقارنة مع توافق السعر بأقل منطقية
2.اتساع هذه المبالغات ليست عشوائيا ، بل على العكس تماما : كما يتضح في الرسم البياني أعلاه(سوق سندات الخزانة الأمريكي)
الاتساع دائما يساوي النسب الدقيقة للعدد الذهبي بالمقارنة مع مركز الثقل الديناميكي
كما لو أن المبالغة الإنسانية تعتمد بشدة على هذا العدد الذهبي.
3. المنحنى الأزرق الممثل لمركز الثقل الديناميكي يعطينا الاتجاه الفوري و المعاين للاتجاه الحالي للسوق :
الاتجاه نزولا مادام المنحنى الأزرق متجه للأسفل
4. الخطوط القصوى الحمراء والخضراء تشير إلى اتساع تنفس السوق.
وبعبارة أخرى ، فإن تقلبه ما هو إلا قراءة فورية وسهلة لأنها بصرية . مثل جميع الأسواق المتذبذبة بمرونة مقارنة مع مركز ثقلها ، فان هذه الخطوط القصوى هي ذات أهمية مهمة لاتخاذ قرارات البيع أو الشراء.
5.المبدأ الأساسي لمؤشر مركز الثقل بسيط عندما يدخل السعر داخل المنطقة الواردة بين هذين الخطين الأحمرين فنحن في منطقة مواتية للبيع (لان احتمال ان يعود السوق ، مثل عودة الشريط المطاطي باتجاه مركز الثقل هو حوالي 90 ٪) ، والعكس بالعكس عندما يدخل السعر في المنطقة السفلى الواردة بين الخطوط الخضراء.
6. النتيجة الطبيعية لهذا المبدأ لا يوصى بالشراء عند سعر أعلى من مركز الجاذبية ، أو البيع عند أسفله.
timing
هذا المؤشر هو مؤشر متذبذب يعطينا 3 أنواع من المناطق الهامة جدا
منطقة "رمادية داكنة" في الوسط تمثل منطقة المركزية في المنطقة. عندما يكون السعر في هذا المجال ، فالواجب أن لا تفعل شيئا ، لأن احتمالات الوقوع في الأصح (أو الخطأ) هو حوالي 50% .إنها منطقة محايدة حيث انه يجب التحلي بالصبر والاستعداد للموقف المقبل
المناطق الرمادية الفاتحة تمثل المناطق القصوى حيث يوصى بجني أرباحها
البيع في "الرمادية الفاتحة " المحدودة بالخطوط الحمراء و الشراء في "الرمادية الفاتحة المحدودة بخطوط خضراء وهذا بطبيعة الحال ، بما يتفق مع مؤشر مركز الثقل
المناطق البيضاء خارج المناطق القصوى ، المسماة بمناطق إنذار تصدر إشارات شراء وبيع باحتمالية عالية من النجاح
قاعدة أساسية لبرنامج بالخياط
عندما يكون على مؤشر التوقيت منطقة التنبيه اخترقت نفحص هل هي متوافقة مع منطقة قصوى في مؤشر مركز الثقل إذا كان الأمر كذلك ، فإن احتمال أن تكون إشارة صحيحة هو أكبر من 80 ٪.
هذا النوع من التحليل سهل الاستخدام وهو بقدرة كبيرة. مع التجربة ، تصبح العين متعودة وتكشف في جزء من الثانية ما يجب القيام به ، حتى عندما السوق يبدو معقدا لسبب بسيط : الرياضيات تقدم لنا مقاييس أقل بكثير من اللاوعي لمعظم التجار.
معايير تسمح لنا أن نعرف مقدما منطقة الأسعار المتفق عليها دون سابق معرفة
Gravity center code
كود:
#property copyright "Copyright © 2008, Extra-FOREX"
كود:
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Blue
#property indicator_color2 DarkViolet
#property indicator_color3 Red
#property indicator_color4 Red
#property indicator_color5 DarkViolet
#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() {
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 * 2 - 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);
}
Timing code
كود:
#property copyright "Copyright © 2008, Extra-FOREX"
كود:
#property indicator_separate_window
#property indicator_minimum -15.0
#property indicator_maximum 15.0
#property indicator_levelcolor Indigo
#property indicator_levelstyle 0
#property indicator_buffers 4
#property indicator_color1 Black
#property indicator_color2 Black
#property indicator_color3 Black
#property indicator_color4 Black
#property indicator_level1 8.0
#property indicator_level2 4.0
#property indicator_level3 -4.0
#property indicator_level4 -8.0
extern int NumBars = 5;
double g_ibuf_80[];
double g_ibuf_84[];
double g_ibuf_88[];
double g_ibuf_92[];
int init() {
SetIndexStyle(0, DRAW_NONE);
SetIndexBuffer(0, g_ibuf_80);
SetIndexStyle(1, DRAW_NONE);
SetIndexBuffer(1, g_ibuf_92);
SetIndexStyle(2, DRAW_NONE);
SetIndexBuffer(2, g_ibuf_84);
SetIndexStyle(3, DRAW_NONE);
SetIndexBuffer(3, g_ibuf_88);
IndicatorShortName(" ********** TIMING ");
return (0);
}
int deinit() {
Comment("");
return (0);
}
int start() {
double ld_12;
double ld_20;
double ld_28;
string l_name_44;
string l_name_52;
string ls_0 = " ********** TIMING ";
int li_8 = WindowFind(ls_0);
for (int l_index_40 = 0; l_index_40 < Bars; l_index_40++) {
ld_12 = 0;
for (int l_index_36 = l_index_40; l_index_36 < NumBars + l_index_40; l_index_36++) ld_12 += (High[l_index_36] + Low[l_index_36]) / 2.0;
ld_20 = ld_12 / NumBars;
ld_12 = 0;
for (l_index_36 = l_index_40; l_index_36 < NumBars + l_index_40; l_index_36++) ld_12 += High[l_index_36] - Low[l_index_36];
ld_28 = 0.2 * (ld_12 / NumBars);
g_ibuf_80[l_index_40] = (High[l_index_40] - ld_20) / ld_28;
g_ibuf_92[l_index_40] = (Low[l_index_40] - ld_20) / ld_28;
g_ibuf_84[l_index_40] = (Open[l_index_40] - ld_20) / ld_28;
g_ibuf_88[l_index_40] = (Close[l_index_40] - ld_20) / ld_28;
}
Sleep(1000);
ObjectsDeleteAll(li_8);
for (l_index_36 = 0; l_index_36 <= Bars; l_index_36++) {
l_name_44 = "TimingHL" + l_index_36;
ObjectCreate(l_name_44, OBJ_TREND, li_8, Time[l_index_36], g_ibuf_80[l_index_36], Time[l_index_36], g_ibuf_92[l_index_36]);
ObjectSet(l_name_44, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(l_name_44, OBJPROP_RAY, FALSE);
ObjectSet(l_name_44, OBJPROP_WIDTH, 1);
l_name_52 = "TimingOC" + l_index_36;
ObjectCreate(l_name_52, OBJ_TREND, li_8, Time[l_index_36], g_ibuf_84[l_index_36], Time[l_index_36], g_ibuf_88[l_index_36]);
ObjectSet(l_name_52, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(l_name_52, OBJPROP_RAY, FALSE);
ObjectSet(l_name_52, OBJPROP_WIDTH, 3);
if (Open[l_index_36] <= Close[l_index_36]) {
ObjectSet(l_name_44, OBJPROP_COLOR, Green);
ObjectSet(l_name_52, OBJPROP_COLOR, Green);
} else {
ObjectSet(l_name_44, OBJPROP_COLOR, Red);
ObjectSet(l_name_52, OBJPROP_COLOR, Red);
}
}
ObjectCreate("actual_VCharte", OBJ_HLINE, li_8, 0, g_ibuf_88[0]);
ObjectSet("actual_Vcharte", OBJPROP_COLOR, Blue);
return (0);
}