دورة المضاربة بالسوق السعودى بتحليل السلوك السعرى مع احجام التداول

إعلانات تجارية اعلن معنا

النتائج 1 إلى 4 من 4

الموضوع: تعديل في مؤشر -- الدكتور وليد

  1. #1

    افتراضي تعديل في مؤشر -- الدكتور وليد

    هذه البييانات

    فقط عندي مشكلة في الEnd Of Program مش راضي يزبط معايا

    // Original Sidus Method filtered with RSI and CCI.
    // Edited by Anthony Pham using EMA-Crossover_Signal.mq4 as a
    // template.
    //(Jason Robinson, jnrtrading, http://www.jnrtrading.co.uk)

    /*
    +------------------------------------------------------------------+
    | Shows an arrow when there is a Sidus signal. Shows dots when |
    | the Sidus tunnel crosses. Blue dot confirms uptrend. Red dot |
    | confirms downtrend. Alerts on Sidus signal by default - Sounds |
    | alert and sends e-mail. |
    +------------------------------------------------------------------+
    */

    extern bool Alerts = true;
    extern bool Tunnel_Alerts= true;
    extern bool Email_Alerts = false;

    #property indicator_chart_window
    #property indicator_buffers 4
    #property indicator_color1 Aqua
    #property indicator_color2 Aqua
    #property indicator_color3 Aqua
    #property indicator_color4 Red

    #property indicator_width1 1
    #property indicator_width2 1
    #property indicator_width3 1
    #property indicator_width4 1

    double CrossUp[];
    double CrossDown[];
    double Tup[];
    double Tdown[];
    bool DownTunnel = false;
    bool UpTunnel = false;
    bool Signal = false;

    extern int FasterWMA = 3;
    extern int SlowerWMA = 21;
    extern int FasterSidusEMA = 70;
    extern int SlowerSidusEMA = 99;

    int upalert=false,downalert=false;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    SetIndexStyle(0, DRAW_ARROW, EMPTY);
    SetIndexArrow(0, 241);
    SetIndexBuffer(0, CrossUp);
    SetIndexStyle(1, DRAW_ARROW, EMPTY);
    SetIndexArrow(1, 242);
    SetIndexBuffer(1, CrossDown);
    SetIndexStyle(2, DRAW_ARROW, EMPTY);
    SetIndexArrow(2, 167);
    SetIndexBuffer(2, Tup);
    SetIndexStyle(3, DRAW_ARROW, EMPTY);
    SetIndexArrow(3, 167);
    SetIndexBuffer(3, Tdown);
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start() {
    int limit, i, counter;
    double fasterWMAnow, slowerWMAnow, fasterWMAprevious, slowerWMAprevious, fasterWMAafter, slowerWMAafter, fasterSidusEMAnow, fasterSidusEMAprevious, fasterSidusEMAafter, slowerSidusEMAnow, slowerSidusEMAprevious, slowerSidusEMAafter;
    double Range, AvgRange;
    int counted_bars=IndicatorCounted();
    //---- check for possible errors
    if(counted_bars<0) return(-1);
    //---- last counted bar will be recounted
    if(counted_bars>0) counted_bars--;

    limit=Bars-counted_bars;

    for(i = 0; i <= limit; i++) {

    counter=i;
    Range=0;
    AvgRange=0;

    for (counter=i ;counter<=i+9;counter++)
    {
    AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
    }

    Range=AvgRange/10;

    fasterWMAnow = iMA(NULL, 0, FasterWMA, 0, MODE_LWMA, PRICE_CLOSE, i);
    fasterWMAprevious = iMA(NULL, 0, FasterWMA, 0, MODE_LWMA, PRICE_CLOSE, i+1);
    fasterWMAafter = iMA(NULL, 0, FasterWMA, 0, MODE_LWMA, PRICE_CLOSE, i-1);

    slowerWMAnow = iMA(NULL, 0, SlowerWMA, 0, MODE_LWMA, PRICE_CLOSE, i);
    slowerWMAprevious = iMA(NULL, 0, SlowerWMA, 0, MODE_LWMA, PRICE_CLOSE, i+1);
    slowerWMAafter = iMA(NULL, 0, SlowerWMA, 0, MODE_LWMA, PRICE_CLOSE, i-1);

    fasterSidusEMAnow = iMA(NULL, 0, FasterSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i);
    fasterSidusEMAprevious = iMA(NULL, 0, FasterSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
    fasterSidusEMAafter = iMA(NULL, 0, FasterSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

    slowerSidusEMAnow = iMA(NULL, 0, SlowerSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i);
    slowerSidusEMAprevious = iMA(NULL, 0, SlowerSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
    slowerSidusEMAafter = iMA(NULL, 0, SlowerSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);



    if (
    ( // Conditions for up signal for EMA-Sidus crosses
    (( fasterWMAnow > fasterSidusEMAnow && fasterWMAnow > slowerSidusEMAnow ) ||
    ( slowerWMAnow > fasterSidusEMAnow && slowerWMAnow > slowerSidusEMAnow )) &&
    ( fasterWMAprevious <= fasterSidusEMAprevious || fasterWMAprevious <= slowerSidusEMAprevious ) &&
    ( slowerWMAprevious <= fasterSidusEMAprevious || slowerWMAprevious <= slowerSidusEMAprevious ) &&

    UpTunnel
    {
    UpTunnel=true; DownTunnel=false; Tup[i] = Low[i] - Range*1;
    if( i<=2 && Alerts && !upalert && Tunnel_Alerts )
    {
    upalert=true; downalert=false;
    Alert (Symbol()," ",Period(),"M Sidus Tunnel UP ");
    if ( Email_Alerts ) { SendMail("Sidus Tunnel UP "+Symbol(),""); }
    }
    }
    if (
    ( // Conditions for down signal for EMA-Sidus crosses too
    (( fasterWMAnow < fasterSidusEMAnow && fasterWMAnow < slowerSidusEMAnow ) ||
    ( slowerWMAnow < fasterSidusEMAnow && slowerWMAnow < slowerSidusEMAnow )) &&
    ( fasterWMAprevious >= fasterSidusEMAprevious || fasterWMAprevious >= slowerSidusEMAprevious ) &&
    ( slowerWMAprevious >= fasterSidusEMAprevious || slowerWMAprevious >= slowerSidusEMAprevious ) &&

    DownTunnel
    {
    DownTunnel=true; UpTunnel=false; Tdown[i] = High[i] + Range*1.2;
    if( i<=2 && Alerts && !downalert && Tunnel_Alerts )
    {
    upalert=false; downalert=true;
    Alert (Symbol()," ",Period(),"M Sidus Tunnel DOWN ");
    if ( Email_Alerts ) { SendMail("Sidus Tunnel DOWN "+Symbol(),""); }
    }
    }

    if (
    ( // Conditions for up signal for EMA-Sidus crosses
    (( fasterWMAnow > fasterSidusEMAnow && fasterWMAnow > slowerSidusEMAnow ) ||
    ( slowerWMAnow > fasterSidusEMAnow && slowerWMAnow > slowerSidusEMAnow )) &&
    ( fasterWMAprevious <= fasterSidusEMAprevious || fasterWMAprevious <= slowerSidusEMAprevious ) &&
    ( slowerWMAprevious <= fasterSidusEMAprevious || slowerWMAprevious <= slowerSidusEMAprevious ) &&

    UpTunnel
    )
    )
    { // IF all that above is correct, then do this:
    UpTunnel=false;
    DownTunnel=false;
    Signal=true;
    CrossUp[i] = Low[i] - Range*1.6;
    if(i<=2 && Alerts && !upalert)
    {
    Alert (Symbol()," ",Period(),"M Sidus BUY ");
    if ( Email_Alerts ) { SendMail("Sidus BUY "+Symbol(),""); }
    upalert=true;
    downalert=false;
    }
    }

    if (
    ( // Conditions for down signal for EMA-Sidus crosses too
    (( fasterWMAnow < fasterSidusEMAnow && fasterWMAnow < slowerSidusEMAnow ) ||
    ( slowerWMAnow < fasterSidusEMAnow && slowerWMAnow < slowerSidusEMAnow )) &&
    ( fasterWMAprevious >= fasterSidusEMAprevious || fasterWMAprevious >= slowerSidusEMAprevious ) &&
    ( slowerWMAprevious >= fasterSidusEMAprevious || slowerWMAprevious >= slowerSidusEMAprevious ) &&

    DownTunnel
    )
    )
    { // IF all that above is correct, then do this:
    UpTunnel=false;
    DownTunnel=false;
    Signal=true;
    CrossDown[i] = High[i] + Range*1.2;
    if(i<=2 && Alerts && !downalert)
    {
    Alert (Symbol()," ",Period(),"M Sidus SELL ");
    if ( Email_Alerts ) { SendMail("Sidus SELL "+Symbol(),""); }
    downalert=true;
    upalert=false;
    }
    }
    }

    return(0);
    }



    وهذه البيانات الأصلية علماُ بأنني أرغب في تعديله إلى البيانات السابقة

    // Original Sidus Method filtered with RSI and CCI.
    // Edited by Anthony Pham using EMA-Crossover_Signal.mq4 as a
    // template.
    //(Jason Robinson, jnrtrading, http://www.jnrtrading.co.uk)

    /*
    +------------------------------------------------------------------+
    | Shows an arrow when there is a Sidus signal. Shows dots when |
    | the Sidus tunnel crosses. Blue dot confirms uptrend. Red dot |
    | confirms downtrend. Alerts on Sidus signal by default - Sounds |
    | alert and sends e-mail. |
    +------------------------------------------------------------------+
    */

    extern bool Alerts = true;
    extern bool Tunnel_Alerts= true;
    extern bool Email_Alerts = false;

    #property indicator_chart_window
    #property indicator_buffers 4
    #property indicator_color1 Aqua
    #property indicator_color2 Aqua
    #property indicator_color3 Aqua
    #property indicator_color4 Red

    #property indicator_width1 1
    #property indicator_width2 1
    #property indicator_width3 1
    #property indicator_width4 1

    double CrossUp[];
    double CrossDown[];
    double Tup[];
    double Tdown[];
    bool DownTunnel = false;
    bool UpTunnel = false;
    bool Signal = false;

    extern int FasterWMA = 3;
    extern int SlowerWMA = 21;
    extern int FasterSidusEMA = 70;
    extern int SlowerSidusEMA = 99;

    int upalert=false,downalert=false;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    int init()
    {
    //---- indicators
    SetIndexStyle(0, DRAW_ARROW, EMPTY);
    SetIndexArrow(0, 241);
    SetIndexBuffer(0, CrossUp);
    SetIndexStyle(1, DRAW_ARROW, EMPTY);
    SetIndexArrow(1, 242);
    SetIndexBuffer(1, CrossDown);
    SetIndexStyle(2, DRAW_ARROW, EMPTY);
    SetIndexArrow(2, 167);
    SetIndexBuffer(2, Tup);
    SetIndexStyle(3, DRAW_ARROW, EMPTY);
    SetIndexArrow(3, 167);
    SetIndexBuffer(3, Tdown);
    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator deinitialization function |
    //+------------------------------------------------------------------+
    int deinit()
    {
    //----

    //----
    return(0);
    }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function |
    //+------------------------------------------------------------------+
    int start() {
    int limit, i, counter;
    double fasterWMAnow, slowerWMAnow, fasterWMAprevious, slowerWMAprevious, fasterWMAafter, slowerWMAafter, fasterSidusEMAnow, fasterSidusEMAprevious, fasterSidusEMAafter, slowerSidusEMAnow, slowerSidusEMAprevious, slowerSidusEMAafter;
    double Range, AvgRange;
    int counted_bars=IndicatorCounted();
    //---- check for possible errors
    if(counted_bars<0) return(-1);
    //---- last counted bar will be recounted
    if(counted_bars>0) counted_bars--;

    limit=Bars-counted_bars;

    for(i = 0; i <= limit; i++) {

    counter=i;
    Range=0;
    AvgRange=0;

    for (counter=i ;counter<=i+9;counter++)
    {
    AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
    }

    Range=AvgRange/10;

    fasterWMAnow = iMA(NULL, 0, FasterWMA, 0, MODE_LWMA, PRICE_CLOSE, i);
    fasterWMAprevious = iMA(NULL, 0, FasterWMA, 0, MODE_LWMA, PRICE_CLOSE, i+1);
    fasterWMAafter = iMA(NULL, 0, FasterWMA, 0, MODE_LWMA, PRICE_CLOSE, i-1);

    slowerWMAnow = iMA(NULL, 0, SlowerWMA, 0, MODE_LWMA, PRICE_CLOSE, i);
    slowerWMAprevious = iMA(NULL, 0, SlowerWMA, 0, MODE_LWMA, PRICE_CLOSE, i+1);
    slowerWMAafter = iMA(NULL, 0, SlowerWMA, 0, MODE_LWMA, PRICE_CLOSE, i-1);

    fasterSidusEMAnow = iMA(NULL, 0, FasterSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i);
    fasterSidusEMAprevious = iMA(NULL, 0, FasterSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
    fasterSidusEMAafter = iMA(NULL, 0, FasterSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

    slowerSidusEMAnow = iMA(NULL, 0, SlowerSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i);
    slowerSidusEMAprevious = iMA(NULL, 0, SlowerSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
    slowerSidusEMAafter = iMA(NULL, 0, SlowerSidusEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);



    if ( fasterSidusEMAnow > slowerSidusEMAnow &&
    fasterSidusEMAprevious <= slowerSidusEMAprevious &&
    fasterSidusEMAafter > slowerSidusEMAafter )
    {
    UpTunnel=true; DownTunnel=false; Tup[i] = Low[i] - Range*1;
    if( i<=2 && Alerts && !upalert && Tunnel_Alerts )
    {
    upalert=true; downalert=false;
    Alert (Symbol()," ",Period(),"M Sidus Tunnel UP ");
    if ( Email_Alerts ) { SendMail("Sidus Tunnel UP "+Symbol(),""); }
    }
    }

    if ( fasterSidusEMAnow < slowerSidusEMAnow &&
    fasterSidusEMAprevious >= slowerSidusEMAprevious &&
    fasterSidusEMAafter < slowerSidusEMAafter )
    {
    DownTunnel=true; UpTunnel=false; Tdown[i] = High[i] + Range*1.2;
    if( i<=2 && Alerts && !downalert && Tunnel_Alerts )
    {
    upalert=false; downalert=true;
    Alert (Symbol()," ",Period(),"M Sidus Tunnel DOWN ");
    if ( Email_Alerts ) { SendMail("Sidus Tunnel DOWN "+Symbol(),""); }
    }
    }

    if (
    ( // Conditions for up signal for EMA-Sidus crosses
    (( fasterWMAnow > fasterSidusEMAnow && fasterWMAnow > slowerSidusEMAnow ) ||
    ( slowerWMAnow > fasterSidusEMAnow && slowerWMAnow > slowerSidusEMAnow )) &&
    ( fasterWMAprevious <= fasterSidusEMAprevious || fasterWMAprevious <= slowerSidusEMAprevious ) &&
    ( slowerWMAprevious <= fasterSidusEMAprevious || slowerWMAprevious <= slowerSidusEMAprevious ) &&

    UpTunnel
    )
    )
    { // IF all that above is correct, then do this:
    UpTunnel=false;
    DownTunnel=false;
    Signal=true;
    CrossUp[i] = Low[i] - Range*1.6;
    if(i<=2 && Alerts && !upalert)
    {
    Alert (Symbol()," ",Period(),"M Sidus BUY ");
    if ( Email_Alerts ) { SendMail("Sidus BUY "+Symbol(),""); }
    upalert=true;
    downalert=false;
    }
    }

    if (
    ( // Conditions for down signal for EMA-Sidus crosses too
    (( fasterWMAnow < fasterSidusEMAnow && fasterWMAnow < slowerSidusEMAnow ) ||
    ( slowerWMAnow < fasterSidusEMAnow && slowerWMAnow < slowerSidusEMAnow )) &&
    ( fasterWMAprevious >= fasterSidusEMAprevious || fasterWMAprevious >= slowerSidusEMAprevious ) &&
    ( slowerWMAprevious >= fasterSidusEMAprevious || slowerWMAprevious >= slowerSidusEMAprevious ) &&

    DownTunnel
    )
    )
    { // IF all that above is correct, then do this:
    UpTunnel=false;
    DownTunnel=false;
    Signal=true;
    CrossDown[i] = High[i] + Range*1.2;
    if(i<=2 && Alerts && !downalert)
    {
    Alert (Symbol()," ",Period(),"M Sidus SELL ");
    if ( Email_Alerts ) { SendMail("Sidus SELL "+Symbol(),""); }
    downalert=true;
    upalert=false;
    }
    }
    }

    return(0);
    }

  2. #2

    افتراضي رد : تعديل في مؤشر -- الدكتور وليد

    استأذنك في الملفات الأصلية

    الأكواد مش مضبوطة

    وان امكن اعطني مصدر المؤشر واعطني صورة واضحة عن مشكلة end of program

    بالتوفيق
    مدرب ومحاضر بمعهد خبراء المال للتدريب




    للتواصل مع ادارة النادى
    التواصل الفورى عبر البريد الالكترونى
    adminmec.biz
    او عن طريق الجوال


    00966552164440
    للاتصال من جميع دول العالم
    0020161111230


    .
    .

  3. #3

    افتراضي رد : تعديل في مؤشر -- الدكتور وليد

    اقتباس المشاركة الأصلية كتبت بواسطة dr_waleed
    استأذنك في الملفات الأصلية

    الأكواد مش مضبوطة

    وان امكن اعطني مصدر المؤشر واعطني صورة واضحة عن مشكلة end of program

    بالتوفيق

    تفضل ومشكور مقدماً
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: zip WMA.zip‏ (8.0 كيلوبايت, 24 مشاهدات)

  4. #4

    افتراضي رد : تعديل في مؤشر -- الدكتور وليد

    مؤشر رائع

    انا درست طريقة عمله وفهمت سر اختفاء الأسهم في الشارتات الصغيرة خاصة الدقيقة

    وذلك بسبب ان طريقة عمل المؤشر تعتمد على تقاطع المتوسط 5 اكسبونشال مع 8 لاينر وارتفاع الrsi و cci

    وهي فكرة ذكية بالفعل

    المهم انه عند تحميل شموع شارت الدقيقة تأخذ القيم مكانها في ارقام متقاربة مما يؤثر على عمل المؤشر لحظة وضعه على الشارت

    وبعدها تستقر الأمور لأستقرار بيانات الأسعار متقاربة القيمة

    اما الشارتات الكبيرة فهي لاتحد ث فيها هذه الحركة بسبب تباعد قيم بيانات المؤشرات الداخلة في تركيب المؤشر

    هذا كل شئ

    تحياتي لك
    مدرب ومحاضر بمعهد خبراء المال للتدريب




    للتواصل مع ادارة النادى
    التواصل الفورى عبر البريد الالكترونى
    adminmec.biz
    او عن طريق الجوال


    00966552164440
    للاتصال من جميع دول العالم
    0020161111230


    .
    .

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. طلب من الدكتور وليد سليمان
    بواسطة abedjaber1971 في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 1
    آخر مشاركة: 13-12-2007, 03:09 PM
  2. الى الدكتور وليد او احد المبرمجين
    بواسطة MR-TURKI في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 3
    آخر مشاركة: 28-09-2007, 02:16 PM
  3. سؤال هام الى الدكتور / وليد ولاخوانى بالمنتدى
    بواسطة goodman في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 3
    آخر مشاركة: 18-09-2007, 01:33 PM
  4. الي الدكتور وليد
    بواسطة saqr في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 1
    آخر مشاركة: 08-03-2007, 02:44 AM
  5. طلب من الدكتور وليد
    بواسطة أبو غلا في المنتدى نادي خبراء الأستراتيجيات والاكسبيرتات والبرمجة Strategies & Experts Advisors
    مشاركات: 4
    آخر مشاركة: 18-10-2006, 02:36 AM

الكلمات الدلالية لهذا الموضوع

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

يعد " نادى خبراء المال" واحدا من أكبر وأفضل المواقع العربية والعالمية التى تقدم خدمات التدريب الرائدة فى مجال الإستثمار فى الأسواق المالية ابتداء من عملية التعريف بأسواق المال والتدريب على آلية العمل بها ومرورا بالتعريف بمزايا ومخاطر التداول فى كل قطاع من هذه الأسواق إلى تعليم مهارات التداول وإكساب المستثمرين الخبرات وتسليحهم بالأدوات والمعارف اللازمة للحد من المخاطر وتوضيح طرق بناء المحفظة الاستثمارية وفقا لأسس علمية وباستخدام الطرق التعليمية الحديثة في تدريب وتأهيل العاملين في قطاع المال والأعمال .

الدعم الفني المباشر
دورات تدريبية
اتصل بنا