صفحة 1 من 6 123456 الأخيرةالأخيرة
النتائج 1 إلى 15 من 82
  1. #1
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي فيبوناتشي: الشيء الذي اسمه OBJ_FIBO كيف تستخدمه؟

    بسم الله الرحمن الرحيم




  2. #2
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اسفل مؤشر من احد المنتديات وفيه بعض العيوب
    فهو يربط الحسابات بالشموع المرئية على التشارت من خلال: WindowFirstVisibleBar
    الملفات المرفقة الملفات المرفقة

  3. #3
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    تأمل العيب في الاصورة اسفل
    انا ازحتها شوي بعد التطبيق لكي يظهر لك ان هناك قيعان قبل البدء

  4. #4
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    عد للمانوال من فضلك:

  5. #5
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    إذن أقل أسطر برمجية لرسم فيبو بقيم صفرية هو دالة ObjectCreate



    وكما ترى تتكون من 7 برامترز "معطيات" :
    1) اسم الشيء--اخترنا هنا DrawFibo
    2) نوع الشيء وهو هنا OBJ_FIBO
    3) رقم النافذة وهو هنا 0 -- يعني على التشرات الحالي
    4) زمن فيبو الاول عند القمة او القاع --ايهما سبق
    5) سعر فيبو الاول للقمة او القاع ايهما سبق
    6) زمن نقطة فيبو الثانية عند القمة او القاع ايهما سبق
    7) سعر فيبو الاول للقمة او القاع ايهما سبق
    ===
    مجرد وجود OBJ_FIBO يحسب لك نسب فيبو حسب السعرين 5 و 7 ويرسمها كما حددتها انت في المعطيات الخارجية--والتي تعتبر هنا مخفية

  6. #6
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    الان بينا عيب طريقتهم في المثال الذي طرحوه في المانوال
    سنعتمد هنا افضل طريقة اعرفها حتى الان, التفتيش عن قمم او قيعان حقيقية على مسافة بحث زمنية متساوية.

  7. #7
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    تم تصميمه كاملا بقوة 50 شمعة--كل المتغيرات محلية local
    مع الشرح نجعلها في الحالة المثالية
    اسفل-يكشتف القمة والقاع الحقيقي
    ثم دبل تشك لهذه القمة او القاع الحقيقي وفي نفس الوقت يكتشف رقم باراتها
    ثم يبحث ايهما سبق
    ثم يرسم

    كود PHP:
    void OnInit() 
    {
       
    datetime    TIME1,   TIME2    ;
       
    double      PRICE1,  PRICE2   ;
       
    int         NumberOfCandles=50;
       
    double      high;
       
    double      low;
       
    int         TotalCandles=20000;
       
    int         Clow,Chigh;
       for(
    int j=0;j<=TotalCandles;j++) 
       { 
    //3
          
    double high1  iHighNULL,  0iHighest(NULL0MODE_HIGH,    NumberOfCandles,  j));
          
    double high2  iHighNULL,  0iHighest(NULL0MODE_HIGH,    NumberOfCandles,  NumberOfCandles+j-1));
          if(
    high1==high2 && high1!=&& high2!=0)
          {
    //4
             
    high=high1;
             
    Chigh=NumberOfCandles+j-1;
             break;
          }
    //4
       
    }//3
       
    for(j=0;j<=TotalCandles;j++) 
       {
    //3
          
    double low1  =  iLowNULL,   0iLowestNULL0MODE_LOW,     NumberOfCandles,  j));
          
    double low2  =  iLowNULL,   0iLowestNULL0MODE_LOW,     NumberOfCandles,  NumberOfCandles+j-1));
          if(
    low1==low2 && low1!=&& low2!=0)
          {
    //4
             
    low=low1;
             
    Clow=NumberOfCandles+j-1;
             break;
          }
    //4
       
    }//3
       
       
    int FromTo;
       
    int FROMTO;
       
    string state;
       if(
    Clow>Chigh) {  From=Chigh;    To=Clow;    state="FromHighToLow";  }
       else           {  
    From=Clow;     To=Chigh;   state="FromLowToHigh";  }
       
       
    PRICE1=iHigh(  NULL,  0iHighest(NULL0MODE_HIGH,  To-From+1,  From));
       
    PRICE2=iLow(   NULL,  0iLowest(NULL0MODE_LOW,    To-From+1,  From));
       
    FROM=iHighestNULL0,                   MODE_HIGH,   To-From+1,  From);
       
    TO=iLowest(    NULL0,                   MODE_LOW,    To-From+1,  From);
       
    TIME1=iTime(NULL,0,FROM);
       
    TIME2=iTime(NULL,0,TO);
       
    ObjectDelete("DrawFibo");
       if(
    state=="FromHighToLow")
       
    ObjectCreate("DrawFibo",OBJ_FIBO,0,TIME2,PRICE2,TIME1,PRICE1);
       else    if(
    state=="FromLowToHigh")
       
    ObjectCreate("DrawFibo",OBJ_FIBO,0,TIME1,PRICE1,TIME2,PRICE2);
       


  8. #8
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي


  9. #9
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    الكود اعلاه داخل OnInit سنجعله في دالة مستقلة
    بحيث نستطيع بعد ذلك رسم اي عدد من نسب فيبو على التشارت من خلال استدعاء تلك الدالة عدة مرات من داخل Oninit

    لاحظ لان فيبو حسبة مرة واحدة فقط--- لذا افضل مكان له هو دالة OnInit -يعني ماتحتاج OnTick و OnTimer

    وطبعا ممكن تضعه تحت اي من الثلاثة : 1) المؤشرات 2) السكربتات 3) الاكسبيرتات
    وفيها كلها تحتاج فقط OnInit -- لانه هنا لاحاجة للمتسلسلة الزومنية timeSeries + انه سيكون على التشارت الاصلي!

    فقط لو اخترت مؤشرات ماتنسى البروبرتي chart_windiw

  10. #10
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    يعني:

  11. #11
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    سترى شيء كهذا
    ثلاث فيبوهات!!
    يعني ابيك تتصور تريد فيبو اسبوعي مع الديلي ولكن مطبق ديلي!!! اذن تحتاج فقط تضاعف بحث احدها خمس مرات--لان الاسبوع خمسة ايام!!
    او اذا لديك خلفية عن نماذج الخفاش الخ او موجات اليوت!! تحتاج اكثر من فيبو وفق منهجية معينة,
    الطريق يبدأ من هنا.

  12. #12
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    لماذا البرنامج اعلاه عندما تطبقه وتغير الفريم فعلا ترى قمم وقيعان حقيقية!!

    السر في تقاطع البحث نقطة NumberOfCandles+j-1

    ملحوظة: انا اول من اعتمد هذا الاسلوب او اكتشفه
    فانت لديك مجال بحث 50 شمعة -- اذن تفترض وجود خطين افقيين يتحركان من اليمين لليسار الخط الاول من الشمعة 0 وحتى 50 والخط الثاني من الشمعة 50 وحتى الشمعة 99
    لاحظ يتقاطعون دائما في شمعة واحدة هي الشمعة 50

    ومستحيل يكون هناك قمة صريحة الا اذا كان كلا الخطين يرون نفس القمة عند نفس البارة
    هذه الفكرة كلها

    تستمر ازاحة الخطين الى اليسار شمعة شمعة حتى اككتشاف قمة مشتركة! فيحدث بريك لـ اللوووووووووووب
    آخر تعديل بواسطة فيلسوف البادية ، 12-11-2017 الساعة 08:55 AM

  13. #13
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    اسفل الكود
    يعود لك جعل C1 و C2 و C3 متغيرات خارجية
    وممكن تخليه 60 فيبو لو حبيت او 2 فيبو بحذف عبارة استدعاء من اسفل

    كود PHP:
    int C1=100;
    int C2=200;
    int C3=300;

    void OnInit() 
    {
       
    GF1("FIBO_A"C1clrWhite);
       
    GF1("FIBO_B"C2clrYellow);
       
    GF1("FIBO_C"C3clrAqua);
    }



    void GF1(string nameint NumberOfCandlescolor clr)
    {

       
    datetime    TIME1,   TIME2    ;
       
    double      PRICE1,  PRICE2   ;
       
    double      high;
       
    double      low;
       
    int         TotalCandles=20000;
       
    int         Clow,Chigh;
       for(
    int j=0;j<=TotalCandles;j++) 
       { 
    //3
          
    double high1  iHighNULL,  0iHighest(NULL0MODE_HIGH,    NumberOfCandles,  j));
          
    double high2  iHighNULL,  0iHighest(NULL0MODE_HIGH,    NumberOfCandles,  NumberOfCandles+j-1));
          if(
    high1==high2 && high1!=&& high2!=0)
          {
    //4
             
    high=high1;
             
    Chigh=NumberOfCandles+j-1;
             break;
          }
    //4
       
    }//3
       
    for(j=0;j<=TotalCandles;j++) 
       {
    //3
          
    double low1  =  iLowNULL,   0iLowestNULL0MODE_LOW,     NumberOfCandles,  j));
          
    double low2  =  iLowNULL,   0iLowestNULL0MODE_LOW,     NumberOfCandles,  NumberOfCandles+j-1));
          if(
    low1==low2 && low1!=&& low2!=0)
          {
    //4
             
    low=low1;
             
    Clow=NumberOfCandles+j-1;
             break;
          }
    //4
       
    }//3
       
       
    int FromTo;
       
    int FROMTO;
       
    string state;
       if(
    Clow>Chigh) {  From=Chigh;    To=Clow;    state="FromHighToLow";  }
       else           {  
    From=Clow;     To=Chigh;   state="FromLowToHigh";  }
       
       
    PRICE1=iHigh(  NULL,  0iHighest(NULL0MODE_HIGH,  To-From+1,  From));
       
    PRICE2=iLow(   NULL,  0iLowest(NULL0MODE_LOW,    To-From+1,  From));
       
    FROM=iHighestNULL0,                   MODE_HIGH,   To-From+1,  From);
       
    TO=iLowest(    NULL0,                   MODE_LOW,    To-From+1,  From);
       
    TIME1=iTime(NULL,0,FROM);
       
    TIME2=iTime(NULL,0,TO);
       
    ObjectDelete(name);
       if(
    state=="FromHighToLow")
       
    ObjectCreate(name,OBJ_FIBO,0,TIME2,PRICE2,TIME1,PRICE1);
       else    if(
    state=="FromLowToHigh")
       
    ObjectCreate(name,OBJ_FIBO,0,TIME1,PRICE1,TIME2,PRICE2);
       
    ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,0,clr); 
       
    ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,0,2); 



  14. #14
    تاريخ التسجيل
    Jul 2011
    الإقامة
    السعودية
    المشاركات
    11,147

    افتراضي

    انتهى الاهم

    لو وجد اي اضافات فهو شكليات

  15. #15
    الصورة الرمزية ali_shadi
    ali_shadi غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    السويد
    العمر
    28
    المشاركات
    367

    افتراضي

    ما شاء اللخ عليك اخي الكريم

    اكواد نظيفة ... ارفع لك القبعة يا فيلسوف

صفحة 1 من 6 123456 الأخيرةالأخيرة

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