صفحة 5 من 13 الأولىالأولى 1234567891011 ... الأخيرةالأخيرة
النتائج 61 إلى 75 من 192
  1. #61
    الصورة الرمزية Ahmed Shihab
    Ahmed Shihab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2009
    المشاركات
    496

    افتراضي

    سلام عليكم استاذى الكريم

    أرجوا منك ان لاتهمل الموضوع ولاتتركه بالله عليك وان تتابع فى شرحك السلس هذا بارك الله فيك

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

    تقبل ودى استاذنا الكريم ومنتظريين بقيه تكمله دروسك

  2. #62
    الصورة الرمزية ayman mourad
    ayman mourad غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2011
    المشاركات
    14

    افتراضي

    جزاك الله كل خير عن الجهد المبذول واتمنى انك تواصل الموضوع لانه مهم للجميع

  3. #63
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة Ahmed Shihab مشاهدة المشاركة
    سلام عليكم استاذى الكريم

    أرجوا منك ان لاتهمل الموضوع ولاتتركه بالله عليك وان تتابع فى شرحك السلس هذا بارك الله فيك

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

    تقبل ودى استاذنا الكريم ومنتظريين بقيه تكمله دروسك
    اقتباس المشاركة الأصلية كتبت بواسطة ayman mourad مشاهدة المشاركة
    جزاك الله كل خير عن الجهد المبذول واتمنى انك تواصل الموضوع لانه مهم للجميع

    أنا كنت أنوي الأستمرار الي مراحل أخري من عمل ملفات DLL وعمل أكسبرتات مضاعفات وربط الأكسبرتات مع شبكة عصبية ايضا ولكني عندما لاحظت قلة المجربين قلت أن تصميم الأكسبرتات موضوع لا يهتم به الكثير ولكني سأعاود الشرح قريبا أن شاء الله لأني مهتم بمشاريع أخري أضافة لشرحي لهذا الموضوع
    آخر تعديل بواسطة Ram22 ، 07-12-2011 الساعة 09:32 AM

  4. #64
    الصورة الرمزية Ahmed Shihab
    Ahmed Shihab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2009
    المشاركات
    496

    افتراضي

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

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

    اثابك الله تعالى على عملك هذا

    وياريت اخى ان تجعل هذا الموضوع هو الموضوع الاساسى من مشاريعك وان تتحدث فيه عن كل ماقلته الان من ملفات ال dll والمضاعفات والشبكه العصبيه الى كل تلك الامور

    حتى وان لم يكن هناك مهتميين الان فى هذه الفترة ولكن سينفع هذا الموضوع الاخوة فى المستقبل لانه سيكون مرجع ليهم بأمر الله تعالى

    ونطلب ايضا من الادارة تثبيته ليعم الفائده على الجميع

    تقبل ودى اخى الكريم ومنتظر بقيه شرحك الجميل

    بارك الله تعالى فيك

  5. #65
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

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

    سنقوم بعمل أسكربت بسيط يبين الفكرة ونضعه بمجلد scripts ونشغله من scripts الموجودة علي يسار الشارت .
    كود:
     
    #property show_confirm int start() { if(Tic(1)!=0)Alert("توجد صفقة شراء مفتوحة"); if(Tic(2)!=0)Alert("توجد صفقة بيع مفتوحة"); if(Tic(3)!=0)Alert("توجد صفقة شراء معلق مفتوحة"); if(Tic(4)!=0)Alert("توجد صفقة بيع معلق مفتوحة"); return(0); } int Tic(int Type) { int T=0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { switch(Type) { case 1: { if (OrderType() == OP_BUY&& T< OrderTicket()) T= OrderTicket(); break; } case 2: { if (OrderType() == OP_SELL&& T< OrderTicket()) T= OrderTicket(); break; } case 3: { if (OrderType() == OP_BUYSTOP&& T< OrderTicket()) T= OrderTicket(); break; } case 4: { if (OrderType() == OP_SELLSTOP&& T< OrderTicket()) T= OrderTicket(); break; } default : { break; } } } } return (T); }
    ونعمل التجارب التالية:
    1- مرة نفتح صفقة شراء ونشغل السكربت.
    2-مرة نفتح صفقة بيع ونشغل السكربت
    3- ومرة شراء معلق buystop ونشغل السكربت
    4-ومرة بيع معلق ونشغل السكربت
    سنلاحظ أن السكربت يعطي صندوق يبين أنه توجد صفقة مفتوحة ويبين نوعها عند كل مرة والسبب أنه عندما نريد أن نجعل السكربت يتحقق من الشراء نجعل Type=1 فتذهب للحلقة switch وتتحقق من شرط الشراء عند 1 فلو وجد OrderType وهي نوع الصفقة شراء سيجعل T=OrderTicket وعندما نتحقق ونجد T لا تساوي صفر يعني توجد صفقة شراء مفتوحة وهكذا مع باقي الصفقات مع أعطاء رقم 2 للبيع و 3 للشراء المعلق BuyStop و4 للبيع المعلق SellStop.


    ونستعمل الكود
    كود:
     
    int Tic(int Type) { int T=0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { switch(Type) { case 1: { if (OrderType() == OP_BUY&& T< OrderTicket()) T= OrderTicket(); break; } case 2: { if (OrderType() == OP_SELL&& T< OrderTicket()) T= OrderTicket(); break; } case 3: { if (OrderType() == OP_BUYSTOP&& T< OrderTicket()) T= OrderTicket(); break; } case 4: { if (OrderType() == OP_SELLSTOP&& T< OrderTicket()) T= OrderTicket(); break; } default : { break; } } } } return (T); }
    ونتحكم به من
    كود:
     
    int Tic(int Type)
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 456.gif‏  
    الملفات المرفقة الملفات المرفقة

  6. #66
    الصورة الرمزية wahaab
    wahaab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2009
    الإقامة
    الجزائر
    المشاركات
    412

    افتراضي

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

  7. #67
    الصورة الرمزية Ahmed Shihab
    Ahmed Shihab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Feb 2009
    المشاركات
    496

    افتراضي

    بارك الله تعالى فيك اخى

    اكمل دروسك ونحن متابعينك

    تقبل ودى

  8. #68
    الصورة الرمزية Elhadi_Bouazizi
    Elhadi_Bouazizi غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2008
    الإقامة
    الجزائر
    المشاركات
    243

    افتراضي

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

    أنا كنت أنوي الأستمرار الي مراحل أخري من عمل ملفات DLL وعمل أكسبرتات مضاعفات وربط الأكسبرتات مع شبكة عصبية ايضا ولكني عندما لاحظت قلة المجربين قلت أن تصميم الأكسبرتات موضوع لا يهتم به الكثير ولكني سأعاود الشرح قريبا أن شاء الله لأني مهتم بمشاريع أخري أضافة لشرحي لهذا الموضوع
    السلام عليكم
    أولا بارك الله فيك أخي الكريم
    ثانيا الموضوع مفيد جدا جدا و يجعل لغة MQL4 تبدو سهلة .
    ثالثا أنت محق فليس هناك الكثير من الذين يهتمون بتعلم لغة البرمجة و أغلب المتاجرين يعتقدون أنها معقدة وصعبة التعلم ، و لكن ليس معنى هذا أنه لا يوجد من يريد أن يتعلم فمثلا الاخ أحمد شهاب متابع و بحماس أيضا و أنا أيضا سأكون ان شاء الله من المتابعين(لم أرى الموضوع الا اليوم فقط) و ربما هناك آخرون في الظل .
    أخيرا أرجوا منك أن تكمل الموضوع و لك كل الشكر و التقدير.

    الهادي
    توقيع العضو
    متداول و محلل فني و كاتب مقالات

  9. #69
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

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

    الحل الأسهل هو عمل مؤشر ووضعه علي الشارت يقوم بعمل ملف أسمه مثلا information ويكتب به مثلا كلمة StopBuy لو وجد صفقة شراء مفتوحة ولا يغيرها حتي يتم عمل صفقة بيع فيكتب StopSell
    مكانها ويجب أن تعدل برنامج الدلفي ليقرأ الملف ويتأكد من أن كلمة StopBuy
    غير مكتوبة ليفتح شراء وايضا يتأكد من أن كلمة StopSell
    غير مكتوبة ليفتح البيع مثل هذا المؤشرالذي يكتب الملف بهذا المسار

    C:\Program Files\ForexCompany\experts\files

    كود:
     
    #property indicator_chart_window int deinit() { Comment(""); return(0); } int init() { return(0); } int start() { Comment("CheckTick"); Write(); Check(); return(0); } int Tic(int Type) { int T=0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { switch(Type) { case 1: { if (OrderType() == OP_BUY&& T< OrderTicket()) T= OrderTicket(); break; } case 2: { if (OrderType() == OP_SELL&& T< OrderTicket()) T= OrderTicket(); break; } default : { break; } } } } return (T); } int Write(){ if(Tic(1)!=0&&Tic(2)==0){ GlobalVariableDel("Singal"); GlobalVariableSet("Singal",1); } if(Tic(2)!=0&&Tic(1)==0){ GlobalVariableDel("Singal"); GlobalVariableSet("Singal",2); } if(Tic(2)==0&&Tic(1)==0){ GlobalVariableDel("Singal"); GlobalVariableSet("Singal",0); } return (0); } void Check(){ int T; if(GlobalVariableGet("Singal")==1){ T=FileOpen("Information.txt",FILE_BIN|FILE_WRITE); if(T>0){ FileWrite(T,"StopBuy"); FileClose(T); } } if(GlobalVariableGet("Singal")==2){ T=FileOpen("Information.txt",FILE_BIN|FILE_WRITE); if(T>0){ FileWrite(T,"StopSell"); FileClose(T); } } }
    اقتباس المشاركة الأصلية كتبت بواسطة Ahmed Shihab مشاهدة المشاركة


    بارك الله تعالى فيك اخى

    اكمل دروسك ونحن متابعينك

    تقبل ودى

    /

    اقتباس المشاركة الأصلية كتبت بواسطة ambmh01 مشاهدة المشاركة
    السلام عليكم
    أولا بارك الله فيك أخي الكريم
    ثانيا الموضوع مفيد جدا جدا و يجعل لغة MQL4 تبدو سهلة .
    ثالثا أنت محق فليس هناك الكثير من الذين يهتمون بتعلم لغة البرمجة و أغلب المتاجرين يعتقدون أنها معقدة وصعبة التعلم ، و لكن ليس معنى هذا أنه لا يوجد من يريد أن يتعلم فمثلا الاخ أحمد شهاب متابع و بحماس أيضا و أنا أيضا سأكون ان شاء الله من المتابعين(لم أرى الموضوع الا اليوم فقط) و ربما هناك آخرون في الظل .
    أخيرا أرجوا منك أن تكمل الموضوع و لك كل الشكر و التقدير.

    الهادي
    نعم أن شاء الله
    الملفات المرفقة الملفات المرفقة

  10. #70
    الصورة الرمزية nadmondo
    nadmondo غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jun 2011
    الإقامة
    مصر
    المشاركات
    165

    افتراضي

    موضوعك جميل جدا لقد قراته الان فى جلسة واحدة لانى نفسى اتعلم عمل المؤشرات والاكسبيرتات
    والان انا استفدت بان عرفت اقرا بعض المعطيات ومعناها فى داخل الاكسبيرت كى افهمه
    واكيد متابع معاك للتعلم اكثر
    ..........الله يقويك............

  11. #71
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

    قبل مانكمل الموضوع سأتكلم عن بعض المعلومات العامة التي ستساعد علي تجميع وتنمية الأفكار عن عمل الأكسبرتات

    هل يشترط أن تكون منصة التداول هي برنامج الميتاتريدر لعمل أكسبرت ؟

    عندما نعمل أكسبرت بلغة MQL4 لا نستطيع أن نعمله علي منصة تداول أخري غير الميتاتريدر ولكن يمكن عمل أكسبرت بلغات أخري مثل فجول بيسك مثلا علي منصات أخري بشرط توفر البرنامج الوسيط API . وبعض الشركات توفر هذه الميزة وبعض الشركات لا توفره ويمكن وجود مبرمجين لديهم خبرة ببرنامج التداول نفسه يعملوا هذا البرنامج الوسيط علي الشركات التي لم توفره .
    وعندما نجد شركة توفر هذه الميزة فأنها تكتب بموقعها الأكواد التي سنستعملها للتعامل مع برنامج APIالوسيط
    مثلا أحدي الشركات عندما ندخل لموقعها ونضغط علي API سنجد الأكواد التي سنتعامل بها مع البرنامج الوسيط بلغتين .
    1- بلغة فجول بيسك.
    2-بلغة PHP
    وعندما نضغط علي زر SendOrder مثلا نحصل علي الأكواد التي سنعطي بها الأوامر الي البرنامج الوسيط عن طريق الفجول بيسك
    مثلا

    كود:
    //The following code sends an order with lots of optional parameters. Dim api As StreamsterApi = New StreamsterApi Dim o As Order = New Order o.Instrument = "Dow Jones" o.Side = "BUY" o.Price = 8756.24 o.PriceSpecified = True o.PriceType = "LIMIT" o.ExitTarget = 8770 o.ExitTargetSpecified = True o.Desk = "Testing" o.Currency = "EUR" o.Quantity = 10 o.QuantitySpecified = True o.DurationType = "GTD" o.Duration = DateAdd("d", 1, Now()) o.DurationSpecified = True o.Text = "test order from my script" api.SendOrder(o)
    وكل ماعلينا هو تطبيق هذه الأوامر ببرنامج الفجول بيسك ليتصل بالبرنامج الوسيط الذي يفتح الصفقة
    الصور المصغرة للصور المرفقة الصور المصغرة للصور المرفقة 45.GIF‏  

  12. #72
    الصورة الرمزية Elhadi_Bouazizi
    Elhadi_Bouazizi غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2008
    الإقامة
    الجزائر
    المشاركات
    243

    افتراضي

    هناك بعض الوسطاء لديهم برامج لها لغة البرمجة الخاصة بها مثل dukascopy التي لديها منصة JForex والتي تستعمل لغة
    http://www.dukascopy.com/swiss/english/forex/jforex/JAVA
    و المنصة تتوفر على ما يسمى JForex Strategy Converter الذي يقوم بالتحويل اللاكسبيرتات من لغات أخرى و من بينها MQL4 الى لغة JAVA .

    توقيع العضو
    متداول و محلل فني و كاتب مقالات

  13. #73
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

    أغلاق الصفقات


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

    كود:
    #property show_inputs int start() { while(Tic()!=0){ close(); } return(0); } int Tic() { int T=0; for (int i = 0; i < OrdersTotal(); i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol()) { if ((OrderType() == OP_BUY||OrderType() == OP_SELL)&& T< OrderTicket()) T= OrderTicket(); } } return (T); } void close() { for (int t=0; t<OrdersTotal(); t++) { OrderSelect(t,SELECT_BY_POS) ; if(OrderSymbol()==Symbol()) { if( OrderType()==OP_BUY){ OrderClose(OrderTicket(),OrderLots(),Bid,6,Yellow); Sleep(500); RefreshRates(); } if( OrderType()==OP_SELL){ OrderClose(OrderTicket(),OrderLots(),Ask,6,Yellow); Sleep(500); RefreshRates(); } } } }
    وأستعملنا الحلقة while بهدف منع السكربت من أكمال المهمة الا بعد التأكد من أن الصفقات أغلقت عن طريق الكود الذي سبق وأن تكلمنا عنه والذي يعرف هل توجد صفقات مفتوحة أم لا
    كود:
    while(Tic()!=0){ close(); }

  14. #74
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة nadmondo مشاهدة المشاركة
    موضوعك جميل جدا لقد قراته الان فى جلسة واحدة لانى نفسى اتعلم عمل المؤشرات والاكسبيرتات
    والان انا استفدت بان عرفت اقرا بعض المعطيات ومعناها فى داخل الاكسبيرت كى افهمه
    واكيد متابع معاك للتعلم اكثر
    ..........الله يقويك............
    وأهم شيء أن تجرب عملي خطوة بخطوة وستجد نفسك مع الوقت قادر علي عمل أكسبرتات أصعب فأنا بالبداية لا أفهم شئ بلغة mql4 وبعد أن بدأت أجرب بالتدريج تعلمتها والحمد لله


    اقتباس المشاركة الأصلية كتبت بواسطة ambmh01 مشاهدة المشاركة
    هناك بعض الوسطاء لديهم برامج لها لغة البرمجة الخاصة بها مثل dukascopy التي لديها منصة JForex والتي تستعمل لغة
    http://www.dukascopy.com/swiss/english/forex/jforex/JAVA
    و المنصة تتوفر على ما يسمى JForex Strategy Converter الذي يقوم بالتحويل اللاكسبيرتات من لغات أخرى و من بينها MQL4 الى لغة JAVA .


    شكرا علي هذه المعلومات وهذا ممكن طبعا مثل ماتم عمل لغة MQL4 علي برنامج الميتاتريدر وأكيد ممكن عمل برامج تحول من لغة الي أخري طبعا. مثل ماعمل برامج تحول من MQL4 الي MQL5
    آخر تعديل بواسطة Ram22 ، 08-12-2011 الساعة 08:38 PM

  15. #75
    الصورة الرمزية Ram22
    Ram22 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2011
    المشاركات
    354

    افتراضي

    لنفهم الكود بالتفصيل أكثر والجزء الذي يهمنا هو هذا الجزء

    كود:
     
    if(OrderSymbol()==Symbol()) { if( OrderType()==OP_BUY){ OrderClose(OrderTicket(),OrderLots(),Bid,6,Yellow); Sleep(500); RefreshRates(); } if( OrderType()==OP_SELL){ OrderClose(OrderTicket(),OrderLots(),Ask,6,Yellow); Sleep(500); RefreshRates(); } }
    أول شرط ليجعل السكربت يتحقق من العملة فلا يتدخل لو وجد صفقة مفتوحة علي عملة أخري وممكن ندققها أكثر بأن نجعله يتحقق من الميجك نمبر ايضا وهي طريقة لترقيم الصفقات بأرقام كي يميز الأكسبرت بينها وبين الصفقات الأخري
    كود:
     [LEFT] 
    if (OrderSymbol() == Symbol()) {
    وهذا لنتأكد من أن الصفقة شراء
    كود:
    if( OrderType()==OP_BUY){

    ستقولوا لماذا فصلت الشراء عن البيع ويوجد شرط منفصل لكل منهم؟
    والسبب أننا عندما نغلق الشراء نستعمل القيمة Bid وهي سعر البيع وعندما نغلق البيع نستعمل القيمة Ask لذلك فصلناهم

    وستلاحظوا بعد أعطاء أمر الأغلاق أستعملنا
    كود:
     
    Sleep(500); RefreshRates();
    وهي تعني أنتظر نصف ثانية أستعملناها هي والكود الأخر لتجنب بعض الأخطاء التي ممكن تأتي مع طول العمل وهي ليست ضرورية جدا ولكنها وقاية من بعض الأخطاء وسنفهمها أكثر عندما نتكلم عن الأخطاء التي تحدث مع الأكسبرت

صفحة 5 من 13 الأولىالأولى 1234567891011 ... الأخيرةالأخيرة

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