النتائج 1 إلى 12 من 12
  1. #1
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي أساسيات نسب فيبو للمبتدئن والمتقدمين

    الفكرة بدأت قبل قرون بمعادلة
    1+ 1 على (س + 1 على (س+1على (س+1 على (س+1)))) الخ
    تصورها كأنها نازلة للاسفل بسط على مقام . .

    الجزء الكسري للنتيجة س سيكون دائما 0.618 !!
    ولو قلبته ... ايضا سترى نفس الجزء الكسري . .

    الكثيرون يعرفون 74.6 وهي نسبة فرعية بينما لايعرفون 85.4 وهي نسبة أصلية . . لأنها ومكملها 14.6 تحصل عليهم وفقا للطريقة المعروفة . . دون الحاجة لخصم احدهما من 100 . . .

    اجزاء الموضوع
    1) كيفية استخراج نسب فيبو
    2) مؤشر لرسم فيبو السعري
    3) مؤشر لرسم فيبو على محور الزمن
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  
    آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 02:24 PM

  2. #2
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    اجزاء الموضوع
    1) كيفية استخراج نسب فيبو
    2) مؤشر لرسم فيبو السعري
    3) مؤشر لرسم فيبو على محور الزمن
    متسلسلة تبدأ ب 0 و 1 . . ثم نجمع اخر رقمين .... النتيجة العمود الأول في الاكسل اسفل . .
    وضع طبيعي ان تكون 0-1-1-2-3-5-8-13-21-34-55- الخ


    العمود الثاني: نقسم خلية الخلية A2 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
    العمود الثالث: نقسم خلية الخلية A3 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
    العمود الرابع: نقسم خلية الخلية A4 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
    العمود الخامس: نقسم خلية الخلية A5 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
    العمود السادس: نقسم خلية الخلية A6 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .
    العمود السابع: نقسم خلية الخلية A7 على الخلية A1 ثم تستمر القسمة نزولا حتى الدايفرجنس . .

    الاعمدة الخضراء يكملون بعض دون الحاجة لاتسخدام 11 ناقص القيمة الاولى
    بينما البرتقالية اعادة حتى لو قلبنا قسمة الخلايا .. وهذا هو الاساس لمسمى نسب اصلية ونسب فرعية
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  

  3. #3
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    وهناك قانون لمعرفة الحد النوني لأي قيمة في متسلسلة فيبو!!
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  
    آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 02:48 PM

  4. #4
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    مثلا اذا قيمة ن=3 . .
    فحسب القانون اعلاه قيمة ف تساوي:
    2
    آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 02:48 PM

  5. #5
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    ودائما بمعرفة فيبو100 وفيبو 0 ... فالقانون واحد . . سواء كان الترند صاعد او هابط . . فالسعر المقابل لأي نسبة فيبو هو:

    PRICE = ( FIB100 - FIB0 ) * FPercent + FIB0 FFFFFFFFF

  6. #6
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    2) مؤشر لرسم فيبو السعري

    برمجيا سهل
    سنبرمجه داخل دالة OnInit فقط مع كابح suppresor . . بحيث يرسمه مرة واحدة ثم كأن الخبير غير موجود ... يصبح مجرد فيبو كأنك وضعته يدوي على التشارت . . وامغط فيه على كيفك!
    . .
    لأن من عيوب mt4 استحالة ألوان مختلفة لكل نسبة فيبو . . .سنستخدم حركة محمد العتيبي!! عدة فيبوهات ولكن تستخدم نفس فيبو100 و فيبو 0 ... مع الغاء لون ترند للبقية . . .

    إذن
    فيبو الأرقام الصحيحة . . .0 و 100 و -100 و 200 و -200 الخ --لون اصفر . .
    فيبو 0.618 و 0.382 .... لون اخضر . .
    فيبو 23 و 76 لون بتقالي
    فيبو 85 و 14 لون ازرق
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  
    آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 03:04 PM

  7. #7
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    كود مبدئي
    الآن لو غيرت تموضع فيبو 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);
    }
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  

  8. #8
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    طبعا ممكن تقلص الاكواد كثيرا لو استخدمت المصفوفات--خلها في الاخير .. لتفهم الاساسات . .
    الجديد هنا للاغلبية هو كيفية الحصول على الوان مختلفة للمستويات ذات العلاقة . . ولايوجد حل اخر في mt4

    الخطوة التالية: إيجاد ردة الفعل عند تحريك فيبو الأصلي بحيث تتحرك معه بقية المستويات . .

    فليكن الحل الأولي .. عماية الضغط على فيبو الاصفر ... بحيث يفتح الكابح مؤقتا (مرة واحدة)
    نحتاج دالة OnChartEvent (لأنها أحداث على التشارت)
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  
    آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 04:09 PM

  9. #9
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    يعني اذا ضغطت على الفيبو اللي اسمه _FIBO_0/100 سيحدث شيء ما
    يسميها الجافويون action_listener

  10. #10
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    ما الذي يهمنا عند الضغط وسحب _FIBO_0/100

    نريد اربعة اشياء على التوالي:
    1) نريد فتح الكابح --يعني قيمة NO
    2) ثم يأخذ فيبو 100 الجديدة .... قيمة السعر بعد السحب كم؟
    3) ومعها يأخذ قيمة فيبو 0
    4) ثم استدعاء دالة OnInit ويتم التغيير لبقية الفيبوهات ذات الألوان الاخرى . .

    ثم يتوقف ويعطل الكابح اي عملية اخرى . .

  11. #11
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    تستخرج سعر فيبو 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

  12. #12
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    3) مؤشر لرسم فيبو على محور الزمن
    نفس الخطوات السابقة . .
    ولكن مع تعديل بسيط . . . ولأن خاصية فيبو في mt4 فقط على الأسعار
    لذا تعديل بسيط جدا . .
    دالة فيبو نفسها لا تهم طالما تفهم الرياضيات
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 00.png‏  
    آخر تعديل بواسطة سلمان_العتيبي ، 26-06-2023 الساعة 04:46 PM


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17