عاجل.. اقتصادات منطقة اليورو تسجل أول انكماش منذ أكثر من عامين ( الجمعة 05 يونيو 2026 09:07 ص ) UBS: قراءة بيانات التوظيف الأمريكية ما زالت غير موثوقة ( الجمعة 05 يونيو 2026 09:00 ص ) عقود ناسداك التكنولوجي تقود خسائر ما قبل السوق وسط ترقب تقرير الوظائف ( الجمعة 05 يونيو 2026 08:42 ص ) سبيس إكس ستنتظر عاماً كاملاً قبل الانضمام إلى S&P 500 ( الجمعة 05 يونيو 2026 07:54 ص ) الأسهم الأوروبية تتراجع وسط توترات الشرق الأوسط وتباطؤ تجارة الذكاء الاصطناعي ( الجمعة 05 يونيو 2026 07:53 ص ) مؤشر FTSE 100: تراجع الأسهم مع ركود أسعار المنازل وتصاعد مخاطر هرمز ( الجمعة 05 يونيو 2026 07:48 ص ) مفاوضات وقف الحرب تتعثر: إيران تهدد القواعد الأمريكية وتتمسك بهرمز ( الجمعة 05 يونيو 2026 07:44 ص ) تحذير من بارکليز: مسيرة الأسهم المدفوعة بالذكاء الاصطناعي تبدو ممتدة بشكل متزايد ( الجمعة 05 يونيو 2026 07:44 ص ) تقرير: صادرات النفط الإيراني تهبط لأدنى مستوى في 6 سنوات ( الجمعة 05 يونيو 2026 07:40 ص ) بيتكوين يهبط إلى 61,000 دولار ويتجه نحو خسارة أسبوعية بنسبة 16% ( الجمعة 05 يونيو 2026 07:35 ص ) اليابان تجدد التهديد بالتدخل لدعم الين ( الجمعة 05 يونيو 2026 06:30 ص ) رويترز: عمان توقف عمليات تحميل النفط بميناء الفحل على إثر انفجار ( الجمعة 05 يونيو 2026 06:19 ص ) أوبك: الطلب العالمي على النفط لا يزال قويًا رغم إغلاق هرمز ( الجمعة 05 يونيو 2026 06:01 ص ) مجلس النواب الأمريكي يقر مشروع قانون لدعم أوكرانيا وفرض عقوبات على روسيا ( الجمعة 05 يونيو 2026 05:53 ص ) بنك الصين يستأنف ضخ السيولة بعد توقف يومين ( الجمعة 05 يونيو 2026 05:01 ص ) بنك الصين الشعبي يحدد سعر الدولار مقابل اليوان عند 6.8157 ( الجمعة 05 يونيو 2026 04:57 ص ) مسؤولون أمريكيون يبحثون الاستحواذ على حصص في شركات الذكاء الاصطناعي ( الجمعة 05 يونيو 2026 01:38 ص ) زيلينسكي في رسالة مفتوحة إلى بوتين: أدعو لاجتماع مباشر معك ووقف إطلاق النار ( الخميس 04 يونيو 2026 09:02 م ) ترامب: قد ألتقي المرشد الأعلى لإيران “إذا كان ذلك من أجل إبرام صفقة” ( الخميس 04 يونيو 2026 08:59 م ) كراود سترايك: صناعة الأمن السيبراني وصلت إلى نقطة تحول مدفوعة بالذكاء الاصطناعي ( الخميس 04 يونيو 2026 08:57 م )

النتائج 1 إلى 10 من 10
  1. #1
    الصورة الرمزية adsl
    adsl غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2006
    المشاركات
    281

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

    اتمنى احد يجيبني من مبرمجين الاكسرتات


    //+------------------------------------------------------------------+
    //| My Own Expert |
    //| Copyright, created 20 may 2006 |
    //| www.forex.com.sa |
    //| Desined by Dr. Waleed |
    //| [email protected] |
    //+------------------------------------------------------------------+

    #property copyright "My Own Expert"
    #property link "www.forex.com.sa"

    extern int MaxTrades = 1
    ;
    extern int stoploss = 25
    ;
    extern int takeprofit = 50
    ;
    extern double TrailingStop =10
    ;
    extern bool UseHourTrade = true
    ;
    extern int FromHourTrade = 7
    ;
    extern int ToHourTrade = 17
    ;
    extern string MM_Parameters = "---------- Money Management"
    ;
    extern double Lots = 1
    ;
    extern bool MM = true
    ,
    AccountIsMicro = false
    ;
    extern int Risk = 10
    ;

    int ID=148
    ;

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS deinitialization function |
    //+------------------------------------------------------------------+

    void deinit
    () {
    Comment(""
    );
    }

    int orderscnt
    (){
    int cnt=0
    ;
    for(
    int i =0;i<OrdersTotal();i
    ++){
    if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES
    )){
    if(
    OrderSymbol()==Symbol() && ID==OrderMagicNumber
    ()){
    cnt
    ++;
    }
    }
    }
    return(
    cnt
    );
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS Start function |
    //+------------------------------------------------------------------+

    int start
    ()
    {
    if (
    UseHourTrade
    ){
    if(!(
    Hour()>=FromHourTrade&&Hour()<=ToHourTrade
    )){
    Comment("Non-Trading Hours!"
    );
    return(
    0
    );
    }
    }

    double EMA5cr, EMA5pr, EMA8cr, EMA8pr
    ;

    EMA5cr=iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE,0
    );
    EMA5pr=iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE,1
    );
    EMA8cr=iMA(NULL, 0, 8, 0, MODE_EMA, PRICE_CLOSE,0
    );
    EMA8pr=iMA(NULL, 0, 8, 0, MODE_EMA, PRICE_CLOSE,1
    );

    double sl,tp
    ;

    if(
    MM) Lots = subLotSize
    ();


    if (
    EMA5cr>EMA8cr && EMA5pr<EMA8pr
    ){
    if(
    orderscnt()<MaxTrades
    ){
    if(
    stoploss==0){sl=0;}else{sl=Ask-stoploss*Point
    ;}
    if(
    takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Point
    ;}
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"My Own Expert",ID,0,Blue
    );
    PlaySound("Alert.wav"
    );
    }
    }
    if (
    EMA5cr<EMA8cr && EMA5pr>EMA8pr
    ){
    if(
    orderscnt()<MaxTrades
    ){
    if(
    stoploss==0){sl=0;}else{sl=Bid+stoploss*Point
    ;}
    if(
    takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point
    ;}
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"My Own Expert",ID,0,Red
    );
    PlaySound("Alert.wav"
    );
    }
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS TrailingStop |
    //+------------------------------------------------------------------+

    if(TrailingStop>0
    )
    {
    if(
    Bid-OrderOpenPrice()>Point*TrailingStop
    )
    {
    if(
    OrderStopLoss()<Bid-Point*TrailingStop
    )
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop
    ,
    OrderTakeProfit(),0,Green
    );
    return(
    0
    );
    }
    }
    }
    if(
    TrailingStop>0
    )
    {
    if((
    OrderOpenPrice()-Ask)>(Point*TrailingStop
    ))
    {
    if((
    OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0
    ))
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop
    ,
    OrderTakeProfit(),0,Red
    );
    return(
    0
    );
    }
    }
    }

    return(
    0
    );
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS Money Managment |
    //+------------------------------------------------------------------+

    double subLotSize
    ()
    {
    double lotMM = MathCeil(AccountFreeMargin() * Risk / 1000) / 100
    ;

    if(
    AccountIsMicro==false
    )
    {
    if(
    lotMM < 0.1) lotMM = Lots
    ;
    if((
    lotMM > 0.5) && (lotMM < 1)) lotMM = 0.5
    ;
    if(
    lotMM > 1.0) lotMM = MathCeil(lotMM
    );
    if(
    lotMM > 100) lotMM = 100
    ;
    }
    else
    {
    if(
    lotMM < 0.01) lotMM = Lots
    ;
    if(
    lotMM > 1.0) lotMM = MathCeil(lotMM
    );
    if(
    lotMM > 100) lotMM = 100
    ;
    }

    return (
    lotMM
    );
    }


  2. #2
    الصورة الرمزية أبو راقي
    أبو راقي غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    المشاركات
    107

    افتراضي رد: لماذا هذا الكود لا يعمل

    هناك خطأ أضن في تعريف MM

    و AccountIsMicro التي يجب أن تعرف متغير منطقي bool

    هذا الكود يعمل إن شاء الله و قد جربته .



    //+------------------------------------------------------------------+
    //| My Own Expert |
    //| Copyright, created 20 may 2006 |
    //| www.forex.com.sa |
    //| Desined by Dr. Waleed |
    //| [email protected] |
    //+------------------------------------------------------------------+

    #property copyright "My Own Expert"
    #property link "www.forex.com.sa"

    extern int MaxTrades = 1;
    extern int stoploss = 25;
    extern int takeprofit = 50;
    extern double TrailingStop =10;
    extern bool UseHourTrade = true;
    extern int FromHourTrade = 7;
    extern int ToHourTrade = 17;
    extern string MM_Parameters = "---------- Money Management";
    extern double Lots = 1;
    extern bool MM = true ;
    extern bool AccountIsMicro = false;
    extern int Risk = 10;

    int ID=148;

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS deinitialization function |
    //+------------------------------------------------------------------+

    void deinit() {
    Comment("");
    }

    int orderscnt(){
    int cnt=0;
    for(int i =0;i<OrdersTotal();i++){
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
    if(OrderSymbol()==Symbol() && ID==OrderMagicNumber()){
    cnt++;
    }
    }
    }
    return(cnt);
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS Start function |
    //+------------------------------------------------------------------+

    int start()
    {
    if (UseHourTrade){
    if(!(Hour()>=FromHourTrade&&Hour()<=ToHourTrade)){
    Comment("Non-Trading Hours!");
    return(0);
    }
    }

    double EMA5cr, EMA5pr, EMA8cr, EMA8pr;

    EMA5cr=iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE,0);
    EMA5pr=iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE,1);
    EMA8cr=iMA(NULL, 0, 8, 0, MODE_EMA, PRICE_CLOSE,0);
    EMA8pr=iMA(NULL, 0, 8, 0, MODE_EMA, PRICE_CLOSE,1);

    double sl,tp;

    if(MM) Lots = subLotSize();


    if (EMA5cr>EMA8cr && EMA5pr<EMA8pr){
    if(orderscnt()<MaxTrades){
    if(stoploss==0){sl=0;}else{sl=Ask-stoploss*Point;}
    if(takeprofit==0){tp=0;}else{tp=Ask+takeprofit*Poi nt;}
    OrderSend(Symbol(),OP_BUY,Lots,Ask,2,sl,tp,"My Own Expert",ID,0,Blue);
    PlaySound("Alert.wav");
    }
    }
    if (EMA5cr<EMA8cr && EMA5pr>EMA8pr){
    if(orderscnt()<MaxTrades){
    if(stoploss==0){sl=0;}else{sl=Bid+stoploss*Point;}
    if(takeprofit==0){tp=0;}else{tp=Bid-takeprofit*Point;}
    OrderSend(Symbol(),OP_SELL,Lots,Bid,2,sl,tp,"My Own Expert",ID,0,Red);
    PlaySound("Alert.wav");
    }
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS TrailingStop |
    //+------------------------------------------------------------------+

    if(TrailingStop>0)
    {
    if(Bid-OrderOpenPrice()>Point*TrailingStop)
    {
    if(OrderStopLoss()<Bid-Point*TrailingStop)
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,
    OrderTakeProfit(),0,Green);
    return(0);
    }
    }
    }
    if(TrailingStop>0)
    {
    if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
    {
    if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
    {
    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Poi nt*TrailingStop,
    OrderTakeProfit(),0,Red);
    return(0);
    }
    }
    }

    return(0);
    }

    //+------------------------------------------------------------------+
    //| FUNCTION DEFINITIONS Money Managment |
    //+------------------------------------------------------------------+

    double subLotSize()
    {
    double lotMM = MathCeil(AccountFreeMargin() * Risk / 1000) / 100;

    if(AccountIsMicro==false)
    {
    if(lotMM < 0.1) lotMM = Lots;
    if((lotMM > 0.5) && (lotMM < 1)) lotMM = 0.5;
    if(lotMM > 1.0) lotMM = MathCeil(lotMM);
    if(lotMM > 100) lotMM = 100;
    }
    else
    {
    if(lotMM < 0.01) lotMM = Lots;
    if(lotMM > 1.0) lotMM = MathCeil(lotMM);
    if(lotMM > 100) lotMM = 100;
    }

    return (lotMM);
    }

  3. #3
    الصورة الرمزية adsl
    adsl غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2006
    المشاركات
    281

    افتراضي رد: لماذا هذا الكود لا يعمل

    مشكور اخوي ابو راقي
    اذا ممكن تشرح التغيير الي سويته

  4. #4
    الصورة الرمزية adsl
    adsl غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2006
    المشاركات
    281

    افتراضي رد: لماذا هذا الكود لا يعمل

    اخوي ابو راقي اذا ممكن تحط الاكسربيت بملف احسن لان في اكثر من خطاء في الكود الي كتبته

    مشكوووووووووووور

  5. #5
    الصورة الرمزية أبو راقي
    أبو راقي غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    المشاركات
    107

    افتراضي رد: لماذا هذا الكود لا يعمل

    extern bool MM = true,
    AccountIsMicro = false
    ;
    هنا يكمن الخطأ

    السطر الأول ينتهي ب ; ; وليس ,
    المتغير المنطقي accountismicro يجب أن يعرف على أنه bool لكي يقبل true و false
    و ينقصه أن يكون متغير خارجي extern

    extern bool MM = true ;
    extern bool AccountIsMicro = false;


  6. #6
    الصورة الرمزية adsl
    adsl غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2006
    المشاركات
    281

    افتراضي رد: لماذا هذا الكود لا يعمل

    ابو راقي هل في خاصيه البك تست للاكسربيت
    لاني حاولت سويت له فيجول باك تست وما اشتغل

  7. #7
    الصورة الرمزية أبو راقي
    أبو راقي غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    المشاركات
    107

    افتراضي رد: لماذا هذا الكود لا يعمل

    عملت له باك تاست عادي

  8. #8
    الصورة الرمزية adsl
    adsl غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2006
    المشاركات
    281

    افتراضي رد: لماذا هذا الكود لا يعمل

    اخوي ابو راقي هل له علاقه باخانات العشريه للسعر يمكن من البرنامج الي شغال عليه انا
    اخوي ابو راقي ممكن ترفق الاكسربيت على شكل ملف
    متعبك معاي

  9. #9
    الصورة الرمزية أبو راقي
    أبو راقي غير متواجد حالياً موقوف
    تاريخ التسجيل
    Apr 2009
    المشاركات
    107

    افتراضي رد: لماذا هذا الكود لا يعمل

    هذا هو الأكسبيرت في المرفقات
    بالتوفيق
    الملفات المرفقة الملفات المرفقة

  10. #10
    الصورة الرمزية adsl
    adsl غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2006
    المشاركات
    281

    افتراضي رد: لماذا هذا الكود لا يعمل

    شاكر لك اخوي ابو راقي

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

  1. لماذا لا يعمل امر CAR فى فكسول موبيل
    By abdou in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 0
    آخر مشاركة: 11-06-2010, 09:07 AM
  2. لماذا لم يعمل كود قفل الصفقات
    By alshakatan in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 4
    آخر مشاركة: 01-05-2009, 06:57 AM
  3. لماذا لا يعمل MetaTrader 4
    By بو محمد in forum استفسارات وأسئلة المبتدئين
    مشاركات: 2
    آخر مشاركة: 22-01-2007, 04:46 PM
  4. لماذا لا يعمل MetaTrader 4
    By بو محمد in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 2
    آخر مشاركة: 22-01-2007, 04:46 PM
  5. مشكلة ... برنامج التداول لا يعمل ،،،،، لماذا...؟
    By EngAhmed in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 6
    آخر مشاركة: 30-08-2004, 01:17 PM

الاوسمة لهذا الموضوع


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