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

    05 طلب اكسبيرت خدمي بسيط جدا

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

    لو أمكن من حضراتكم أريد طلب إكسبيرت يعمل كالتالي:

    1- يراقب جميع الصفقات المفتوحة على الشارت الحالي (باستخدام خيار الـ MagicNumber)
    2- يحسب إجمالي الربح لهذه الصفقات
    3- عندما يصل إجمالي الربح إلى 0 دولار أو أي مبلغ أحدده في خيار TargetProfit، يقوم بإغلاق جميع هذه الصفقات علي الشارت المحدد

    أهم شئ يقوم بفصل صفقات كل زوج لوحده ويغلقها عند وصولها لنقطة التعادل أو الرقم اللي أقوم بتحديده

    حاولت ابرمجه بال AI لكن مانجح في إغلاق الصفقات يقوم بطباعة الأوامر في الجورنال لكن لا ينفذ ويقوم بالإغلاق للأسف

    شكرا مقدما لك

  2. #2
    الصورة الرمزية hussien86
    hussien86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2024
    الإقامة
    تركيا
    المشاركات
    12

    افتراضي هذا هو الكود اللي صنعه ال AI بناءا علي ماسبق

    //+------------------------------------------------------------------+
    //| TargetProfitCloser.mq4 |
    //| Copyright 2024, Your Name Here |
    //| https://www.yourwebsite.com |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2024, Your Name Here"
    #property link "https://www.yourwebsite.com"
    #property version "1.03"
    #property strict

    // Input parameters
    input double TargetProfit = 0; // Target profit in account currency
    input int MagicNumber = 12345; // Unique identifier for this chart's trades
    input int Slippage = 3; // Allowed slippage in points

    //+------------------------------------------------------------------+
    //| Expert initialization function |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    Print("Expert initialized on symbol: ", Symbol(), ", Magic Number: ", MagicNumber, ", Target Profit: ", TargetProfit);
    return(INIT_SUCCEEDED);
    }

    //+------------------------------------------------------------------+
    //| Expert deinitialization function |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
    {
    Print("Expert removed from symbol: ", Symbol());
    }

    //+------------------------------------------------------------------+
    //| Expert tick function |
    //+------------------------------------------------------------------+
    void OnTick()
    {
    double totalProfit = CalculateTotalProfit();

    Print("Current total profit: ", totalProfit, ", Target profit: ", TargetProfit);

    if(totalProfit >= TargetProfit)
    {
    Print("Target profit reached or exceeded. Attempting to close all trades.");
    if(CloseAllTrades())
    {
    Print("All trades closed successfully.");
    }
    else
    {
    Print("Failed to close all trades. Check the Experts tab for more details.");
    }
    }
    }

    //+------------------------------------------------------------------+
    //| Calculate total profit for open trades on this chart |
    //+------------------------------------------------------------------+
    double CalculateTotalProfit()
    {
    double profit = 0;
    int openOrders = 0;

    for(int i = 0; i < OrdersTotal(); i++)
    {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
    {
    profit += OrderProfit() + OrderSwap() + OrderCommission();
    openOrders++;
    }
    }
    }

    Print("Open orders: ", openOrders, ", Total profit: ", profit);
    return profit;
    }

    //+------------------------------------------------------------------+
    //| Close all open trades on this chart |
    //+------------------------------------------------------------------+
    bool CloseAllTrades()
    {
    bool allClosed = true;

    for(int i = OrdersTotal() - 1; i >= 0; i--)
    {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
    if(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
    {
    bool result = false;
    int attempts = 5; // Number of attempts to close the order

    while(attempts > 0 && !result)
    {
    if(OrderType() == OP_BUY)
    result = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, clrRed);
    else if(OrderType() == OP_SELL)
    result = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, clrRed);

    if(!result)
    {
    int lastError = GetLastError();
    Print("Error closing order ", OrderTicket(), ": ", ErrorDescription(lastError), " (", lastError, "). Attempts left: ", attempts);
    Sleep(1000); // Wait for 1 second before trying again
    attempts--;
    }
    else
    {
    Print("Order closed successfully. Ticket: ", OrderTicket());
    break;
    }
    }

    if(!result)
    {
    allClosed = false;
    Print("Failed to close order ", OrderTicket(), " after all attempts.");
    }
    }
    }
    }

    return allClosed;
    }

    //+------------------------------------------------------------------+
    //| Custom function to get error description |
    //+------------------------------------------------------------------+
    string ErrorDescription(int error_code)
    {
    string error_string;
    switch(error_code)
    {
    case ERR_NO_ERROR:
    error_string="No error";
    break;
    case ERR_NO_RESULT:
    error_string="No error returned";
    break;
    case ERR_COMMON_ERROR:
    error_string="Common error";
    break;
    case ERR_INVALID_TRADE_PARAMETERS:
    error_string="Invalid trade parameters";
    break;
    case ERR_SERVER_BUSY:
    error_string="Trade server is busy";
    break;
    case ERR_OLD_VERSION:
    error_string="Old version of the client terminal";
    break;
    case ERR_NO_CONNECTION:
    error_string="No connection with trade server";
    break;
    case ERR_NOT_ENOUGH_RIGHTS:
    error_string="Not enough rights";
    break;
    case ERR_TOO_FREQUENT_REQUESTS:
    error_string="Too frequent requests";
    break;
    case ERR_MALFUNCTIONAL_TRADE:
    error_string="Malfunctional trade operation";
    break;
    // ... يمكنك إضافة المزيد من أكواد الأخطاء هنا
    default:
    error_string="Unknown error";
    }
    return(error_string);
    }

  3. #3
    الصورة الرمزية عبدالأول
    عبدالأول غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2024
    الإقامة
    أندورا
    المشاركات
    2

    افتراضي

    جرب المرفق..
    الملفات المرفقة الملفات المرفقة

  4. #4
    الصورة الرمزية Algo_Master
    Algo_Master غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Dec 2011
    الإقامة
    مصر
    المشاركات
    1,072

    افتراضي

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

    لو أمكن من حضراتكم أريد طلب إكسبيرت يعمل كالتالي:

    1- يراقب جميع الصفقات المفتوحة على الشارت الحالي (باستخدام خيار الـ MagicNumber)
    2- يحسب إجمالي الربح لهذه الصفقات
    3- عندما يصل إجمالي الربح إلى 0 دولار أو أي مبلغ أحدده في خيار TargetProfit، يقوم بإغلاق جميع هذه الصفقات علي الشارت المحدد

    أهم شئ يقوم بفصل صفقات كل زوج لوحده ويغلقها عند وصولها لنقطة التعادل أو الرقم اللي أقوم بتحديده

    حاولت ابرمجه بال AI لكن مانجح في إغلاق الصفقات يقوم بطباعة الأوامر في الجورنال لكن لا ينفذ ويقوم بالإغلاق للأسف

    شكرا مقدما لك
    و عليكم السلام و رحمه الله و بركاته

    تفضل اخى راجع هذا الموضوع به مرفق بطلبك

    https://forum.arabictrader.com/t266427.html
    توقيع العضو
    تخيل _ أبتكر _ شخبط _ برمج _ أختبر _ عدل _ أختبر _ أنجح

  5. #5
    الصورة الرمزية hussien86
    hussien86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2024
    الإقامة
    تركيا
    المشاركات
    12

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة عبدالأول مشاهدة المشاركة
    جرب المرفق..
    جزاك الله خيرا أخي هجربه إن شاء الله في الافتتاح وأبلغك بالنتيجة
    آخر تعديل بواسطة hussien86 ، 01-09-2024 الساعة 08:03 AM

  6. #6
    الصورة الرمزية hussien86
    hussien86 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jan 2024
    الإقامة
    تركيا
    المشاركات
    12

    افتراضي

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

    تفضل اخى راجع هذا الموضوع به مرفق بطلبك

    https://forum.arabictrader.com/t266427.html
    تمام أخي المشرف هراجع الموضوع وأتابع جزاك الله خيرا اخي

  7. #7
    الصورة الرمزية bobcat
    bobcat غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2024
    الإقامة
    السعودية
    المشاركات
    51

    افتراضي

    يعطيكم العافية اخواني

  8. #8
    الصورة الرمزية bobcat
    bobcat غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2024
    الإقامة
    السعودية
    المشاركات
    51

    افتراضي

    يعطيكم العافية اخواني


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