النتائج 1 إلى 8 من 8
  1. #1
    الصورة الرمزية bank_forex
    bank_forex غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2010
    المشاركات
    72

    افتراضي اول اكسبيرت ابرمجه وللاسف لم يعمل - ارجو المساعدة

    السلام عليكم

    ارفقت لكم اول اكسبيرت ابرمجه وللاسف لم يعمل

    فكرة الاكسبيرت هي : اذا اغلق السوق بصعود يوم امس وفالاكسبيرت سوف يبحث عن شمعات صاعده يزيد وبشرط يزيد طولها (الفرق بين الافتتاح والاغلاق) عن 10 نقاط, فأذا وجد شمعه يزيد طولها عن 10 نقاط وايضا شمعه الديلي في اليوم السابق كانتت صاعده فسيدخل شراء بتحديد ربح وخساره (سوف نحددهما لاحقا).
    نفس الشئ مع البيع......

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

    شكرا
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 Alaa.mq4‏ (2.0 كيلوبايت, المشاهدات 20)

  2. #2
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

    افتراضي رد:اول اكسبيرت ابرمجه وللاسف لم يعمل - ارجو المساعدة

    اقتباس المشاركة الأصلية كتبت بواسطة bank_forex مشاهدة المشاركة
    السلام عليكم

    ارفقت لكم اول اكسبيرت ابرمجه وللاسف لم يعمل

    فكرة الاكسبيرت هي : اذا اغلق السوق بصعود يوم امس وفالاكسبيرت سوف يبحث عن شمعات صاعده يزيد وبشرط يزيد طولها (الفرق بين الافتتاح والاغلاق) عن 10 نقاط, فأذا وجد شمعه يزيد طولها عن 10 نقاط وايضا شمعه الديلي في اليوم السابق كانتت صاعده فسيدخل شراء بتحديد ربح وخساره (سوف نحددهما لاحقا).
    نفس الشئ مع البيع......

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

    شكرا
    مرفق التعديل
    الملفات المرفقة الملفات المرفقة
    • نوع الملف: mq4 Alaa.mq4‏ (1.9 كيلوبايت, المشاهدات 14)

  3. #3
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

    افتراضي رد:اول اكسبيرت ابرمجه وللاسف لم يعمل - ارجو المساعدة

    اقتباس المشاركة الأصلية كتبت بواسطة xcv114 مشاهدة المشاركة


    مرفق التعديل
    ويوجد خطأ أخر في دالة OrderSend
    أنت جعلت الأستوب لوز والتيك بروفت 200 وجعلت الماجيك نمبر متغير نصي " 436"
    كود PHP:
    OrderSend(Symbol(),OP_BUY1,Ask3200200"""436"0Lime);
            
    OrderSend(Symbol(),OP_SELL1,Bid3200200"""345"0Red); 
    أولا يجب أن يكون الماجيك نمبر عدد صحيح بدون علامات التنصيص يعني مثلا 10001

    وبالنسبة للتيك بروفت والأستوب لوز يجب أن يكون سعر من زوج العملة يعني مثلا 1.3050
    فإنت لازم تعرف متغير خارجي للأستوب لوز والتيك بروفت تضع فيه عدد النقاط المرغوبة ثم تقوم بتحويلها في الإكسبيرت إلى سعر
    بالشكل ده مثلا:

    تعرف متغيرين خارجيين
    كود PHP:
    extern int StopLoss=20;
    extern int TakeProfit=20
    ثم تجعل الإكسبيرت يقوم بالعمليات الحسابية لحساب التيك بروفت والأستوب لوز لكل عملية
    أولا في دالة إستارت
    كود PHP:
    double SL,TP
    ثم قبل عملية الشراء
    كود PHP:
    if (StopLoss==0){SL=0;}else {SL=Ask-StopLoss*point;}
    if (
    TakeProfit==0){TP=0;} else {TP=Ask+TakeProfit*point;} 
    وقبل البيع
    كود PHP:
    if (StopLoss==0){SL=0;} else {SL=Bid+StopLoss*point;}
    if (
    TakeProfit==0){ TP=0;} else {TP=Bid-TakeProfit*point;} 
    مرفق
    الملفات المرفقة الملفات المرفقة

  4. #4
    الصورة الرمزية batttot
    batttot غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2010
    الإقامة
    مصر
    المشاركات
    921

    افتراضي رد:اول اكسبيرت ابرمجه وللاسف لم يعمل - ارجو المساعدة

    اقتباس المشاركة الأصلية كتبت بواسطة bank_forex مشاهدة المشاركة
    السلام عليكم

    ارفقت لكم اول اكسبيرت ابرمجه وللاسف لم يعمل

    فكرة الاكسبيرت هي : اذا اغلق السوق بصعود يوم امس وفالاكسبيرت سوف يبحث عن شمعات صاعده يزيد وبشرط يزيد طولها (الفرق بين الافتتاح والاغلاق) عن 10 نقاط, فأذا وجد شمعه يزيد طولها عن 10 نقاط وايضا شمعه الديلي في اليوم السابق كانتت صاعده فسيدخل شراء بتحديد ربح وخساره (سوف نحددهما لاحقا).
    نفس الشئ مع البيع......

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

    شكرا
    السلام عليكم ورحمة الله وبركاته .........

    اولا انا قرأت مشاركتك وقرأت الكود و اعتذر عن رأيي مقدما ينقصه الكثير من التنظيم البرمجي ,,,,,, انا اخي الكريم مبتدئ جدا فيالبرمجه ولاحظت انه منقوص جدا جدا .......علي كل حل لنعيد ترتيب الافكار وان شاء الله سوف يكون سهل جدا كتابته


    انت تقول اولا الاكسبيرت فكرته اذا اغلق السوق صعود يوم امس ....حسنا برمجيا ما معني صعود هذه ؟؟؟؟هل تقصد ان يوم امس كان صاعدا ؟؟؟؟؟ بمعني مثلا اليوم هو 26 /5 اي انك تقصد شمعة يوم 25 / 5 مثلا كاانت صاعده ؟؟؟؟
    هل هذا ما تقصده من ان الاكسبيرت يحدد اذا اغلق علي صعود ام انه هناك وجهة نظر اخري لك عن انه اغلق علي صعود ؟؟؟؟؟
    هذا اولا

    ثاانيا
    الاكسبيرت يبحث عن شمعه طولها اكثر من 10نقاط ...... هذه النقطه لوحدها معناها برمجيا انك تكتب loop تبحث عن الشموع بالشروط التي تريدها وانت في الاكسبيرت لم تكتب اي حلقه من الاساس ثم انك تريد ان تبحث في اي شموع ........... هل تريد ان تبحث في شموع الايام السابقه كلها ام اليوم الجديد فقط ام ماذا بالظبط ؟؟

    ارجو اجابة هذه النقاط لانها محورية جدا في كتابة الكود ........

  5. #5
    الصورة الرمزية bank_forex
    bank_forex غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2010
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة xcv114 مشاهدة المشاركة


    ويوجد خطأ أخر في دالة OrderSend
    أنت جعلت الأستوب لوز والتيك بروفت 200 وجعلت الماجيك نمبر متغير نصي " 436"
    كود PHP:
    OrderSend(Symbol(),OP_BUY1,Ask3200200"""436"0Lime);
            
    OrderSend(Symbol(),OP_SELL1,Bid3200200"""345"0Red); 
    أولا يجب أن يكون الماجيك نمبر عدد صحيح بدون علامات التنصيص يعني مثلا 10001

    وبالنسبة للتيك بروفت والأستوب لوز يجب أن يكون سعر من زوج العملة يعني مثلا 1.3050
    فإنت لازم تعرف متغير خارجي للأستوب لوز والتيك بروفت تضع فيه عدد النقاط المرغوبة ثم تقوم بتحويلها في الإكسبيرت إلى سعر
    بالشكل ده مثلا:

    تعرف متغيرين خارجيين
    كود PHP:
    extern int StopLoss=20;
    extern int TakeProfit=20
    ثم تجعل الإكسبيرت يقوم بالعمليات الحسابية لحساب التيك بروفت والأستوب لوز لكل عملية
    أولا في دالة إستارت
    كود PHP:
    double SL,TP
    ثم قبل عملية الشراء
    كود PHP:
    if (StopLoss==0){SL=0;}else {SL=Ask-StopLoss*point;}
    if (
    TakeProfit==0){TP=0;} else {TP=Ask+TakeProfit*point;} 
    وقبل البيع
    كود PHP:
    if (StopLoss==0){SL=0;} else {SL=Bid+StopLoss*point;}
    if (
    TakeProfit==0){ TP=0;} else {TP=Bid-TakeProfit*point;} 
    مرفق
    شكرا على المعلومات القيمه
    بارك الله فيك, لقد قرأت الكود ورأيت بأنك برمجته كما طلبت بالضبط

    واجهتني مشكلة واحده عندما عملت باك تيست بأنه يفتح فقط صفقه واحده ولا يفتح صفقات اخرى بعد اغلاق الصفقه الاولى
    كيف نقدرنعملوا بأنه يستمر بالعملولا يتوقف عند اغلاق اول صفقه؟

    شكرا

  6. #6
    الصورة الرمزية bank_forex
    bank_forex غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2010
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة batttot مشاهدة المشاركة


    السلام عليكم ورحمة الله وبركاته .........

    اولا انا قرأت مشاركتك وقرأت الكود و اعتذر عن رأيي مقدما ينقصه الكثير من التنظيم البرمجي ,,,,,, انا اخي الكريم مبتدئ جدا فيالبرمجه ولاحظت انه منقوص جدا جدا .......علي كل حل لنعيد ترتيب الافكار وان شاء الله سوف يكون سهل جدا كتابته


    انت تقول اولا الاكسبيرت فكرته اذا اغلق السوق صعود يوم امس ....حسنا برمجيا ما معني صعود هذه ؟؟؟؟هل تقصد ان يوم امس كان صاعدا ؟؟؟؟؟ بمعني مثلا اليوم هو 26 /5 اي انك تقصد شمعة يوم 25 / 5 مثلا كاانت صاعده ؟؟؟؟
    هل هذا ما تقصده من ان الاكسبيرت يحدد اذا اغلق علي صعود ام انه هناك وجهة نظر اخري لك عن انه اغلق علي صعود ؟؟؟؟؟
    هذا اولا

    ثاانيا
    الاكسبيرت يبحث عن شمعه طولها اكثر من 10نقاط ...... هذه النقطه لوحدها معناها برمجيا انك تكتب loop تبحث عن الشموع بالشروط التي تريدها وانت في الاكسبيرت لم تكتب اي حلقه من الاساس ثم انك تريد ان تبحث في اي شموع ........... هل تريد ان تبحث في شموع الايام السابقه كلها ام اليوم الجديد فقط ام ماذا بالظبط ؟؟

    ارجو اجابة هذه النقاط لانها محورية جدا في كتابة الكود ........
    السلام عليكم
    في البدايه اعذرني على لخبطة الكود لانني اول مره بعمل اكسبيرت
    اليوم السابق صاعد : اذا كاناليوم الجمعه بكون قصدي بأنه سعر الاغلاق اعلى من سعر الافتتاح في يوم الخميس
    لا نحتاج الى loop لاننا لا نبحث عن شمعات وانما دائما نفحص اذا كانت الشمعه الاخيره التي اغلقت الفرق بين الافتتاح والبيع اكثر منعشرة نقاط

  7. #7
    الصورة الرمزية xcv114
    xcv114 غير متواجد حالياً عضو نشيط
    تاريخ التسجيل
    Oct 2010
    الإقامة
    مصر
    المشاركات
    1,022

    افتراضي رد:اول اكسبيرت ابرمجه وللاسف لم يعمل - ارجو المساعدة

    اقتباس المشاركة الأصلية كتبت بواسطة bank_forex مشاهدة المشاركة
    شكرا على المعلومات القيمه
    بارك الله فيك, لقد قرأت الكود ورأيت بأنك برمجته كما طلبت بالضبط

    واجهتني مشكلة واحده عندما عملت باك تيست بأنه يفتح فقط صفقه واحده ولا يفتح صفقات اخرى بعد اغلاق الصفقه الاولى
    كيف نقدرنعملوا بأنه يستمر بالعملولا يتوقف عند اغلاق اول صفقه؟

    شكرا
    يبقى هنستغني عن المتغير LastOrder

    وتقوم بتعريف متغير خارج الدوال مثلا
    كود PHP:
    int time
    وتجعله يأخذ قيمة الوقت الحالي بعد فتح بيع أو شراء
    وتجعل من شروط البيع والشراء أن : && time!=Time[0])

    يعني التعديل يكون بالشكل ده
    كود PHP:
    if (UP==true && Close[1]-Open[1]>CandleLenght*point   && time!=Time[0])
          {
            if (
    StopLoss==0){SL=0;}else {SL=Ask-StopLoss*point;}
            if (
    TakeProfit==0){TP=0;} else {TP=Ask+TakeProfit*point;}

            
    OrderSend(Symbol(),OP_BUY1,Ask30SLTP""MagicNumber0Lime); 
             
    time=Time[0];
          }
          
       if (
    UP==false && Open[1]-Close[1]>CandleLenght*point   && time!=Time[0])
          {
            if (
    StopLoss==0){SL=0;} else {SL=Bid+StopLoss*point;}
            if (
    TakeProfit==0){ TP=0;} else {TP=Bid-TakeProfit*point;}

            
    OrderSend(Symbol(),OP_SELL1,Bid30SLTP""MagicNumber0Red);  
            
    time=Time[0];
          } 
    وبالتالي سيفتح صفقة إذا تحققت الشروط مع كل إفتتاح شمعة جديدة

  8. #8
    الصورة الرمزية bank_forex
    bank_forex غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2010
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة xcv114 مشاهدة المشاركة

    يبقى هنستغني عن المتغير LastOrder

    وتقوم بتعريف متغير خارج الدوال مثلا
    كود PHP:
    int time
    وتجعله يأخذ قيمة الوقت الحالي بعد فتح بيع أو شراء
    وتجعل من شروط البيع والشراء أن : && time!=Time[0])

    يعني التعديل يكون بالشكل ده
    كود PHP:
    if (UP==true && Close[1]-Open[1]>CandleLenght*point   && time!=Time[0])
          {
            if (
    StopLoss==0){SL=0;}else {SL=Ask-StopLoss*point;}
            if (
    TakeProfit==0){TP=0;} else {TP=Ask+TakeProfit*point;}

            
    OrderSend(Symbol(),OP_BUY1,Ask30SLTP""MagicNumber0Lime); 
             
    time=Time[0];
          }
          
       if (
    UP==false && Open[1]-Close[1]>CandleLenght*point   && time!=Time[0])
          {
            if (
    StopLoss==0){SL=0;} else {SL=Bid+StopLoss*point;}
            if (
    TakeProfit==0){ TP=0;} else {TP=Bid-TakeProfit*point;}

            
    OrderSend(Symbol(),OP_SELL1,Bid30SLTP""MagicNumber0Red);  
            
    time=Time[0];
          } 
    وبالتالي سيفتح صفقة إذا تحققت الشروط مع كل إفتتاح شمعة جديدة
    بارك الله فيك
    سوف يتم التجربه واخباركم بالنتائج

    شكرا


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