النتائج 1 إلى 12 من 12
الموضوع: أساسيات نسب فيبو للمبتدئن والمتقدمين
- 26-06-2023, 02:18 PM #1
أساسيات نسب فيبو للمبتدئن والمتقدمين
الفكرة بدأت قبل قرون بمعادلة
1+ 1 على (س + 1 على (س+1على (س+1 على (س+1)))) الخ
تصورها كأنها نازلة للاسفل بسط على مقام . .
الجزء الكسري للنتيجة س سيكون دائما 0.618 !!
ولو قلبته ... ايضا سترى نفس الجزء الكسري . .
الكثيرون يعرفون 74.6 وهي نسبة فرعية بينما لايعرفون 85.4 وهي نسبة أصلية . . لأنها ومكملها 14.6 تحصل عليهم وفقا للطريقة المعروفة . . دون الحاجة لخصم احدهما من 100 . . .
اجزاء الموضوع
1) كيفية استخراج نسب فيبو
2) مؤشر لرسم فيبو السعري
3) مؤشر لرسم فيبو على محور الزمنآخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 02:24 PM
- 26-06-2023, 02:39 PM #2اجزاء الموضوع
1) كيفية استخراج نسب فيبو
2) مؤشر لرسم فيبو السعري
3) مؤشر لرسم فيبو على محور الزمن
وضع طبيعي ان تكون 0-1-1-2-3-5-8-13-21-34-55- الخ
العمود الثاني: نقسم خلية الخلية A2 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
العمود الثالث: نقسم خلية الخلية A3 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
العمود الرابع: نقسم خلية الخلية A4 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
العمود الخامس: نقسم خلية الخلية A5 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
العمود السادس: نقسم خلية الخلية A6 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
العمود السابع: نقسم خلية الخلية A7 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
الاعمدة الخضراء يكملون بعض دون الحاجة لاتسخدام 11 ناقص القيمة الاولى
بينما البرتقالية اعادة حتى لو قلبنا قسمة الخلايا .. وهذا هو الاساس لمسمى نسب اصلية ونسب فرعية
- 26-06-2023, 02:44 PM #3
وهناك قانون لمعرفة الحد النوني لأي قيمة في متسلسلة فيبو!!
آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 02:48 PM
- 26-06-2023, 02:45 PM #4
مثلا اذا قيمة ن=3 . .
فحسب القانون اعلاه قيمة ف تساوي:
2آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 02:48 PM
- 26-06-2023, 02:51 PM #5
ودائما بمعرفة فيبو100 وفيبو 0 ... فالقانون واحد . . سواء كان الترند صاعد او هابط . . فالسعر المقابل لأي نسبة فيبو هو:
PRICE = ( FIB100 - FIB0 ) * FPercent + FIB0 FFFFFFFFF
- 26-06-2023, 03:01 PM #6
2) مؤشر لرسم فيبو السعري
برمجيا سهل
سنبرمجه داخل دالة OnInit فقط مع كابح suppresor . . بحيث يرسمه مرة واحدة ثم كأن الخبير غير موجود ... يصبح مجرد فيبو كأنك وضعته يدوي على التشارت . . وامغط فيه على كيفك!
. .
لأن من عيوب mt4 استحالة ألوان مختلفة لكل نسبة فيبو . . .سنستخدم حركة محمد العتيبي!! عدة فيبوهات ولكن تستخدم نفس فيبو100 و فيبو 0 ... مع الغاء لون ترند للبقية . . .
إذن
فيبو الأرقام الصحيحة . . .0 و 100 و -100 و 200 و -200 الخ --لون اصفر . .
فيبو 0.618 و 0.382 .... لون اخضر . .
فيبو 23 و 76 لون بتقالي
فيبو 85 و 14 لون ازرقآخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 03:04 PM
- 26-06-2023, 03:53 PM #7
كود مبدئي
الآن لو غيرت تموضع فيبو 100 للخط ااصفر او اي خطر اخر فقط سيغير فيبوهات ذلك المستوى ..
اذن الخطوة 2: ربط تفاعلهم مع بعض . .
طبعا بوضعه الحالي ممكن يكون فكرة اخرى .. يعني فيبو 74 على موجة معينة وفيبو 61 على موجهة اخرى
كود:string suppresor="NO"; int OnInit() { if(suppresor=="NO") { suppresor="YES"; double fib_0=Low[5]; double fib_100=High[25]; /////////////////////////////// string name="_FIBO_0/100"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,Time[25],fib_100,Time[0],fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,9); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrYellow); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrYellow); for(int k=-4;k<=4;k++) { DRAW_FIBO_LEVELS(name, k+4, k); } ////////////////////////////////////////////////////////////////// double level_618=0.618033989; name="_FIBO_61.8/38.2"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,Time[25],fib_100,Time[0],fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,19); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrBlue); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlue); int GG=-1; for( k=-4;k<=4;k++) { GG++; DRAW_FIBO_LEVELS(name, GG, k+level_618); GG++; DRAW_FIBO_LEVELS(name, GG, k-level_618); } double level_236=0.236067977; name="_FIBO_236"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,Time[25],fib_100,Time[0],fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,19); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrWhite); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrWhite); GG=-1; for( k=-4;k<=4;k++) { GG++; DRAW_FIBO_LEVELS(name, GG, k+level_236); GG++; DRAW_FIBO_LEVELS(name, GG, k-level_236); } double level_854=0.854101955; name="_FIBO_854"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,Time[25],fib_100,Time[0],fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,19); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrOrange); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrOrange); GG=-1; for( k=-4;k<=4;k++) { GG++; DRAW_FIBO_LEVELS(name, GG, k+level_854); GG++; DRAW_FIBO_LEVELS(name, GG, k-level_854); } } return(INIT_SUCCEEDED); } void DRAW_FIBO_LEVELS(string name,int index,double value) { ObjectSetString(0,name,OBJPROP_LEVELTEXT,index,"%$ . . . "+DoubleToString(100*value,1)+"%% #"+index); ObjectSetDouble(0,name,OBJPROP_LEVELVALUE,index,value); ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,index,2); ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,index,1); }
- 26-06-2023, 04:05 PM #8
طبعا ممكن تقلص الاكواد كثيرا لو استخدمت المصفوفات--خلها في الاخير .. لتفهم الاساسات . .
الجديد هنا للاغلبية هو كيفية الحصول على الوان مختلفة للمستويات ذات العلاقة . . ولايوجد حل اخر في mt4
الخطوة التالية: إيجاد ردة الفعل عند تحريك فيبو الأصلي بحيث تتحرك معه بقية المستويات . .
فليكن الحل الأولي .. عماية الضغط على فيبو الاصفر ... بحيث يفتح الكابح مؤقتا (مرة واحدة)
نحتاج دالة OnChartEvent (لأنها أحداث على التشارت)آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 04:09 PM
- 26-06-2023, 04:12 PM #9
يعني اذا ضغطت على الفيبو اللي اسمه _FIBO_0/100 سيحدث شيء ما
يسميها الجافويون action_listener
- 26-06-2023, 04:16 PM #10
ما الذي يهمنا عند الضغط وسحب _FIBO_0/100
نريد اربعة اشياء على التوالي:
1) نريد فتح الكابح --يعني قيمة NO
2) ثم يأخذ فيبو 100 الجديدة .... قيمة السعر بعد السحب كم؟
3) ومعها يأخذ قيمة فيبو 0
4) ثم استدعاء دالة OnInit ويتم التغيير لبقية الفيبوهات ذات الألوان الاخرى . .
ثم يتوقف ويعطل الكابح اي عملية اخرى . .
- 26-06-2023, 04:39 PM #11
تستخرج سعر فيبو 0 و فيبو 100 وايضا وقت زمنها ... الرؤوس كانت عند اي شمعة؟
fib_0=ObjectGetDouble(0,sparam,OBJPROP_PRICE2);F
fib_100=ObjectGetDouble(0,sparam,OBJPROP_PRICE1); F
t1=ObjectGetInteger(0,sparam,OBJPROP_TIME1);F
t0=ObjectGetInteger(0,sparam,OBJPROP_TIME2); F
كود:string suppresor="NO"; void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_OBJECT_CLICK) { if(sparam=="_FIBO_0/100") { suppresor="NO"; fib_0=ObjectGetDouble(0,sparam,OBJPROP_PRICE2); fib_100=ObjectGetDouble(0,sparam,OBJPROP_PRICE1); t1=ObjectGetInteger(0,sparam,OBJPROP_TIME1); t0=ObjectGetInteger(0,sparam,OBJPROP_TIME2); Print(sparam+"//"+fib_100+"//"+fib_0); OnInit(); } } } datetime t1=Time[80]; datetime t0=Time[10]; double fib_0=Low[5]; double fib_100=High[25]; int OnInit() { if(suppresor=="NO") { /////////////////////////////// ////////////////////////////////////////////////////////////////// double level_618=0.618033989; string name="_FIBO_61.8/38.2"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,t1,fib_100,t0,fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,19); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrBlue); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); int GG=-1; for( int k=-4;k<=4;k++) { GG++; DRAW_FIBO_LEVELS(name, GG, k+level_618); GG++; DRAW_FIBO_LEVELS(name, GG, k-level_618); } double level_236=0.236067977; name="_FIBO_236"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,t1,fib_100,t0,fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,19); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrWhite); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); GG=-1; for( k=-4;k<=4;k++) { GG++; DRAW_FIBO_LEVELS(name, GG, k+level_236); GG++; DRAW_FIBO_LEVELS(name, GG, k-level_236); } double level_854=0.854101955; name="_FIBO_854"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,t1,fib_100,t0,fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,19); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrOrange); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_COLOR,clrNONE); GG=-1; for( k=-4;k<=4;k++) { GG++; DRAW_FIBO_LEVELS(name, GG, k+level_854); GG++; DRAW_FIBO_LEVELS(name, GG, k-level_854); } name="_FIBO_0/100"; ObjectDelete(name); ObjectCreate(0,name,OBJ_FIBO,0,t1,fib_100,t0,fib_0); ObjectSetInteger(0,name,OBJPROP_LEVELS,9); ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,clrYellow); ObjectSetInteger(0,name,OBJPROP_STYLE,0); ObjectSetInteger(0,name,OBJPROP_WIDTH,4); ObjectSetInteger(0,name,OBJPROP_COLOR,clrYellow); for( k=-4;k<=4;k++) { DRAW_FIBO_LEVELS(name, k+4, k); } } return(INIT_SUCCEEDED); } void DRAW_FIBO_LEVELS(string name,int index,double value) { ObjectSetString(0,name,OBJPROP_LEVELTEXT,index,"%$ . . . "+DoubleToString(100*value,1)+"%% #"+index); ObjectSetDouble(0,name,OBJPROP_LEVELVALUE,index,value); ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,index,2); ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,index,1); }
آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 04:42 PM
- 26-06-2023, 04:43 PM #123) مؤشر لرسم فيبو على محور الزمن
ولكن مع تعديل بسيط . . . ولأن خاصية فيبو في mt4 فقط على الأسعار
لذا تعديل بسيط جدا . .
دالة فيبو نفسها لا تهم طالما تفهم الرياضياتآخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 04:46 PM