تنفيذ متوسط متحرك بسيط في جافا في عدة مناسبات أراد إيف حساب مقاييس بسيطة في تطبيقات جافا، على سبيل المثال عدد الزيارات في الساعة، أو أخطاء طوال فترة زمنية. في حين أن حساب مقاييس بسيطة ليس صعبا بشكل رهيب، إلا أن عمله الإضافي ومعرفه ينفقان ذلك الوقت على نطاق المشكلة. فوجئت بعدم العثور على أي حلول مقبولة على نطاق واسع للمقاييس في جافا. لم أجد المقاييس ولكن يبدو قليلا معقدة جدا وغير موثقة بشكل جيد - كل ما أردت حقا هو لحساب المتوسط المتحرك. فكرت في المشكلة بعض أكثر وقررت أنها ليست مشكلة صعبة. هيريس الحل الخاص بي يعمل هذا من خلال إنشاء مجموعة من حجم التحديث تحديث النافذة، ثم مؤشر ترابط العد إلى الفهرس التالي في الصفيف على تردد التحديث. العد للفاصل هو ببساطة أري - arrayi1، وهو أحدث عدد ناقص أقدم عدد. لمدة 10 دقيقة الفاصلة، أقدم العد (i1) هو بالضبط 10 دقيقة من العمر. لإضافة المتوسط المتحرك إلى التعليمات البرمجية لدينا أولا تحتاج جيدا عداد، وذلك باستخدام أتوميكلونغ. يجب زيادة هذا العداد استنادا إلى الأحداث التي تهتم بها في الحوسبة (مثل طلبات بوست لخدمة ريست). نحن بحاجة إلى توفير التنفيذ مع الوصول إلى العداد والتي يتم إنجازها من خلال واجهة جيتكونت. هنا إل إنشاء متوسط متحرك مع نافذة 5 دقائق يتم تحديث كل ثانية. وللحصول على المتوسط الحالي نحن ببساطة استدعاء الأسلوب جيتايفيراج: تفصيل التنفيذ الرئيسي هو كيف يتم تحديد حجم الصفيف: عن طريق قسمة النافذة عن طريق تكرار التحديث. لذلك نافذة كبيرة مع تكرار التحديث المتكررة يمكن أن تستهلك قدرا كبيرا من الذاكرة. في هذا المثال حجم صفيف هو معقول 300. ومع ذلك، إذا أنشأنا المتوسط المتحرك 24 ساعة مع فاصل زمني 1 ثانية سيكون حجم 86400 تردد التحديث أكثر معقولية لفترة 24 ساعة قد يكون كل 5 دقائق (حجم صفيف من 288 ). وهناك اعتبار آخر لاختيار النافذة وتردد التحديث هو أن النافذة يجب أن تكون قابلة للتجزئة حسب التردد. على سبيل المثال نافذة 2 دقيقة مع تردد التحديث 6 ثانية على ما يرام، ولكن تردد التحديث 7 ثانية ليست، لأنه لا قسمة من قبل 120. يتم طرح إليغالارجومنتكسيبتيون إذا كان تردد تحديث معامل نافذة ليست صفر. يتطلب هذا التنفيذ مؤشر ترابط واحد لكل متوسط متحرك، وهو ليس فعالا جدا. الحل الأفضل هو مشاركة مؤشر الترابط عبر العديد من المتوسطات. تحديث . إيف تحديث التعليمات البرمجية لمشاركة موضوع هنا. وأخيرا، ثيريس مشكلة حالة أولية: ليس لدينا بيانات حتى الآن للنافذة بأكملها. على سبيل المثال إذا كان لديك نافذة 5 دقائق و 15 ثانية فقط من البيانات. يرجع هذا التنفيذ نول حتى يكون لدينا 5 دقائق من البيانات. وثمة نهج آخر هو تقدير المتوسط. لنفترض أن لدينا عد 10 في 30 ثانية، ثم يمكننا تقدير المتوسط كما 40 في 2 دقيقة. ومع ذلك هناك خطر حدوث خطأ كبير عن طريق استقراء البيانات غير مكتملة. على سبيل المثال، إذا كان لدينا انفجار من 20 ضرب في 2 ثانية، ويد يكون تقدير 1200 في 2 دقيقة، والتي في جميع الاحتمالات هو طريق قبالة. تحرك المتوسط المتحرك الأسلوب إذا كنت تبحث عن إما التي هي الأمثل لتدفق البيانات، من ملف أو اقتباس الخدمة، فإن فئة العينة التالية تفعل لك على ما يرام، بدلا من استخدام حسابات القوة الغاشمة. هذا النهج مفيد بشكل خاص إذا كنت تقوم بمعالجة البيانات في الوقت الحقيقي. إماس، وهي حالة خاصة من المتوسطات المتحركة المرجحة، يكون لها فائدة أن الترجيح النسبي لكل فترة متعاقبة ينخفض بعامل ثابت f 2 (N1)، حيث N هو عدد الفترات التي يجب أن تطبق فيها إما. نظرا لذلك، يمكنك حساب إما الحالي (أي للفترة الحالية) باستخدام الصيغة التكرارية التالية: إيمان فبريس (1-f) إيمان-1 الطبقة عينة التالية تنفذ هذه الطبيعة التكرارية من إما وتقلل من المتطلبات الحسابية على بروت - وطرق القوة أو أساليب ما بعد المعالجة. عدد خاص خاص 0 مجموع إنت خاصبريودس 0 خاص مزدوج تشغيل إيما 0.0 عامل مزدوج خاص 0.0 إيما العام (إنت نومبيريودس) this. numPeriods نومبيريودس عامل 2.0 (نومبيريودس 1.0) إعادة الحسابات لحساب توليد إما للفترة المحددة. إعادة تعيين الفراغ العام (إنت نومبيريودس) إرجاع إما بالنسبة للفترة يحدد أثناء منشئ. إذا كانت الفترات المعالجة أقل من نطاق إما، يتم إرجاع الصفر. حساب مزدوج العام (سعر مزدوج) رونيميما عامل عامل (1-عامل) رونينغما إذا كان (توتالبيريودس لوت نومبيريودس) من حيث يمكنك مصدر بيانات الأسعار وما تفعله مع نتائج إما متروك لكم. على سبيل المثال، إذا كان لديك بيانات الأسعار في مصفوفة وكنت ترغب في حساب إما في مصفوفة أخرى، فسيعمل المقتطف التالي: أسعار مزدوجة. (50) 50 فترة إما (إنت idx0 iltprices. length إدكس) إميدكس إما (بريسيدزيدكس) حظا سعيدا، وأطيب التمنيات للمشروع الخاص بك. كلوديرا إنجينيرينغ بلوغ المتوسط المتحرك البسيط، والفرز الثانوي، و مابريدوس (الجزء 3) هذه هي القطعة النهائية لسلسلة بلوق من ثلاثة أجزاء. إذا كنت ترغب في عرض الأجزاء السابقة لهذه السلسلة، يرجى استخدام الرابط التالي: شرحت سابقا كيفية استخدام إكسيل و R كأدوات تحليل لحساب المتوسط المتحرك البسيط لمجموعة صغيرة من أسعار إغلاق الأسهم. في هذه القطعة النهائية إلى سلسلة بلوق ثلاثة أجزاء، وسوف خوض في استخدام مابريدوس للعثور على المتوسط المتحرك بسيط لدينا مجموعة بيانات عينة صغيرة. ثم سوف تظهر لك كيفية استخدام نفس الرمز، سوف تكون قادرة على حساب المتوسط المتحرك البسيط من كل سعر إقفال منذ عام 1980. أسفل ثقب الأرنب مع هادوب في الأمثلة أعلاه أخذنا نظرة على حساب المتوسط المتحرك البسيط من كمية صغيرة نسبيا من البيانات. بالنسبة للكثير من التحليل، إكسيل و R هي أدوات فعالة جدا، ولكن بينما نمتد نحو جيغابايت، تيرابايت، ومخازن البيانات بيتابيت نواجه بعض القضايا مع البيانات المحلية، سرعات القرص، وسرعة المعالجة. لتوضيح هذه العوامل يتيح اتخاذ آلة أسطورية التي كان لها قرص واحد 1 بيتابيت، والتي تعمل على نحو مماثل لسرعات القرص اليوم. لأغراض هذا المثال جيدا استخدام سرعة قراءة 40 ميغابايت. دعونا نقول أن وظيفتنا لمسح من خلال هذه البيانات وإنتاج متوسط متحرك بسيط، المعالج لا يعيق الحساب، ويمكننا الحفاظ على حساب نافذة تتحرك من خلال البيانات في 40 ميغابايت كاملة. كما نفترض أن البيانات تم فرزها سابقا وأنه لم يكن لدينا سوى إجراء فحص متتابعة هذا يزيد من معدل سرعة نقل البيانات من القرص وأنه يمكن أن تقدم باستمرار 40MBs إلى خط أنابيب المعالجة. استنادا إلى جيف دينز 12 أرقام كل مهندس يجب أن تعرف الشريحة هذا هو إعداد معقول. في هذه الإنتاجية لدينا حساب متوسط متحرك بسيط من 1 بيتابيت من البيانات يستغرق حوالي 310 يوما لإكمال. وبالنسبة لمعظم الحالات، فإن هذه التكلفة التشغيلية، من حيث الوقت، تجعل من غير المعقول النظر فيها. لحسن الحظ، فإن آليات هدفس و مابريدوس تخفيف هذه العوامل بحيث يمكننا أن نجعل هذه المشكلة الوقت الخطي ورأس المال وظيفة لمساعدتنا على تحديد عدد من الآلات التي نريد تنفيذها للقيام بكفاءة هذا بسيط مسح المتوسط المتحرك. في المثال المتوسط المتحرك البسيط أعلاه، أهملنا النظر في المعوقات التالية: تخزين البيبايت من البيانات على الأجهزة غير الأسطورية. فرز بيتابايت من البيانات. النظر في فشل الأجهزة خلال 310 أيام من وقت المعالجة. عادة، تطبيقات سلسلة زمنية تحتاج إلى مسح البيانات في مرحلة ما، مما يخلق الجبال الكبيرة في الصعود، إذا كنا نود أن الاقتراب كبيرة تومس من البيانات سلسلة الوقت في النظم اليوم. كانت رؤية مصادر البيانات متعددة تيرابايت ومتعددة بيتابيت في مجال السلاسل الزمنية كل يوم، بما في ذلك وفي كل من هذه المجالات السيناريو أعلاه هو التحدي الحقيقي جدا لمعالجة. هدفس يحل قضايا التخزين والفشل أعلاه، ولكن ماذا عن الفرز ومعالجة القضايا فرز كميات كبيرة من البيانات في حد ذاته هو مشكلة غير تافهة، ولكن هو ودود مع عدد قليل من الحيل في مابريدوس. دعونا نلقي نظرة على رمز مابريدوس الحقيقي التي يمكننا تحميلها لتجميع وإنتاج لدينا المتوسط المتحرك بسيط قابلة للتحجيم، من أجل حل بعض من نقاط الألم هذه. متوسط متحرك بسيط في مابريدوس يتكون تطبيق مابريدوس عادة من وظيفتين: (كنت تفكر في ذلك) وظيفة خريطة وظيفة تقليل. في عالم البرمجة جافا نخلق الطبقة خريطة وتقليل الطبقة، ولكل منها أساليب وراثة مفيدة لأغراضهم الاحترام. نحن نستخدم نموذج البرمجة مابريدوس لأنه بنيت للتخفيف من مشاكل التزامن في خوارزميات لدينا ونحن نحصل على التوازي قابلة للتطوير نسبيا ألم. يمكن أن تتضمن وظيفة الخريطة الرمز الذي يؤدي عملية زوج لكل مفتاح قيمة، ولكن العملية المنطقية الرئيسية هي تجميع البيانات بواسطة المفاتيح. وهناك طريقة سهلة جدا للتفكير في وظيفة خريطة هو التفكير في ذلك باعتباره إسقاط منطقي للبيانات أو مجموعة حسب الشرط. يتم استخدام الدالة تقليل لاتخاذ هذه المجموعات (بشكل فردي) وتشغيل عملية عبر القيم التي تم تجميعها معا. العمليات المشتركة في تقليل وظائف تشمل: في مثالنا المتوسط المتحرك البسيط، ومع ذلك، نحن لا تعمل على أساس القيمة على وجه التحديد، ولا ننتج مجموع في جميع القيم. تتضمن عمليتنا بالمعنى الكلي نافذة انزلاقية تقوم بعملياتها على مجموعة فرعية من البيانات في كل خطوة. علينا أيضا أن نعتبر أن النقاط في البيانات سلسلة زمنية لدينا ليست مضمونة للوصول إلى الحد في النظام وتحتاج إلى فرز 8211 المقترحة في المقاطع السابقة. وذلك لأن مع وظائف خريطة متعددة قراءة أقسام متعددة من مصدر البيانات مابريدوس لا تفرض أي أمر على أزواج مفتاح القيمة التي يتم تجميعها معا في التقسيم الافتراضي ومخططات الفرز. هناك السيناريو حيث قمنا بفرز البيانات المقسمة، ولكن من أجل هذا المثال كانوا على وشك التعامل مع المزيد من حديقة متنوعة بيانات سلسلة زمنية غير مصنف. يتيح اتخاذ تمريرة الأولى في كيف يمكننا تصميم هذا مابريدوس بسيط متوسط العمل المتحرك. نحن نريد أن نجمع كل واحد من الأسهم تعديل قيم قريبة معا حتى نتمكن من تطبيق بسيط المتوسط المتحرك العملية على فرز البيانات سلسلة الوقت. نحن نريد أن تنبعث كل زوج قيمة مفتاح سلسلة زمنية مرتبط على رمز السهم لتجميع هذه القيم معا. في مرحلة الحد يمكننا تشغيل عملية، وهنا المتوسط المتحرك البسيط، على البيانات. وبما أن البيانات أكثر من المرجح لن تصل إلى المخفض في ترتيب فرز تحتاج بشكل جيد لفرز البيانات قبل أن نتمكن من حساب المتوسط المتحرك البسيط. وهناك طريقة شائعة لفرز البيانات هي تحميل البيانات إلى الذاكرة في بنية بيانات مثل كومة الذاكرة المؤقتة، يشبه إلى حد كبير كيف يتم ذلك في برنامج جافا العادي. في هذه الحالة بشكل جيد استخدام فئة طابور الأولوية جافاس لفرز البيانات لدينا. ونحن بحاجة أيضا إلى النظر في مقدار الذاكرة المستخدمة من قبل البيانات سلسلة زمنية واردة أثناء الفرز كما هذا هو عامل الحد من كم البيانات التي يمكن فرزها. في هذا التصميم لدينا لتحميل كافة البيانات سلسلة الوقت قبل أن نتمكن من بدء المعالجة وإذا كان مقدار البيانات لفرز يتجاوز حجم كومة المتاحة لدينا مشكلة. يتم استضافة مثال على هذا التنفيذ في جيثب: لتشغيل هذه التعليمات البرمجية على كتلة هادوب الخاصة بك، تحميل سد من كلوديرا والإعداد كتلة زائفة توزيع 8211 الذي هو عقدة واحدة من هادوب. وضع توزيع الزائفة هو وسيلة رائعة لمحاولة الخروج كود مع هادوب. التالي تحميل وتجميع رمز المتوسط المتحرك في جرة. لتحميل التعليمات البرمجية مباشرة من جيثب (في قذيفة في ماكوسكس، نافذة محطة سش في لينكس، أو MINGW32 ل win32) we8217ll استخدام الأمر: تمريرنا الأول هو حل لائق، ولكن كانت محدودة من قبل لدينا آلة جافا الظاهري (جفم) الطفل حجم كومة ونحن نأخذ الوقت لفرز البيانات يدويا أنفسنا. مع بعض التغييرات تصميم، يمكننا حل كل من هذه القضايا الاستفادة من بعض الخصائص المتأصلة من مابريدوس. أولا نريد أن ننظر في حالة فرز البيانات في الذاكرة على كل المخفض. حاليا لدينا للتأكد من أننا أبدا إرسال المزيد من البيانات إلى المخفض واحد مما يمكن أن يصلح في الذاكرة. الطريقة التي يمكننا السيطرة عليها حاليا هو إعطاء كل جفم الطفل المخفض أكثر كومة أندور لمزيد من التقسيم البيانات سلسلة الوقت لدينا في مرحلة الخريطة. في هذه الحالة قسم قسم أكثر من ذلك الوقت، وكسر البيانات لدينا في نوافذ أصغر من الوقت. على عكس المزيد من التقسيم للبيانات، نهج آخر لهذه المسألة هو السماح هادوب لفرز البيانات بالنسبة لنا في ما يسمى مرحلة خلط ورق اللعب من مابريدوس. إذا كانت البيانات تصل إلى المخفض بالفعل في ترتيب فرز يمكننا خفض بصمة الذاكرة لدينا والحد من عدد من الحلقات من خلال البيانات من خلال النظر فقط في عينات N التالية لكل حساب متوسط متحرك بسيط. هذا يقودنا إلى الجانب الحاسم من هذه المادة، وهو ما يسمى المراوغات نوع الثانوي ميكانيكي. الفرز هو شيء يمكننا أن ندع هادوب تفعل بالنسبة لنا وقد أثبت هادوب أن تكون جيدة جدا في فرز كميات كبيرة من البيانات، والفوز في مسابقة الرمادي فرز في عام 2008. في استخدام ميكانيكي نوع الثانوي يمكننا حل كل من كومة الذاكرة المؤقتة ونوع القضايا إلى حد ما ببساطة وكفاءة. لاستخدام نوع ثانوي في التعليمات البرمجية لدينا، ونحن بحاجة لجعل المفتاح مركب من المفتاح الطبيعي والقيمة الطبيعية. أدناه في الشكل 1 نرى رسم تخطيطي لكيفية هذا سيبدو بصريا. الشكل 1: مخطط مفتاح مركب يعطي المفتاح المركب هادوب المعلومات المطلوبة أثناء المراوغة لتنفيذ نوع ليس فقط على 8220 رمز رمز 8221، ولكن على الطابع الزمني كذلك. الفئة التي تصنف هذه المفاتيح المركبة تسمى مفتاح المقارنة أو هنا 8220CompositeKeyComparator8221. يجب على مفتاح المقارنة أن تأمر من قبل مفتاح مركب، وهو مزيج من المفتاح الطبيعي والقيمة الطبيعية. يمكننا أن نرى أدناه في الشكل 2 حيث يتم تنفيذ نسخة مجردة من نوع الثانوي على مفتاح مركب من 2 عدد صحيح. الشكل 2: كومبوسيتكيكومباتور فرز المفاتيح المركبة (مفاتيح هي الأعداد الصحيحة). في الشكل 3 أدناه نرى مثال أكثر واقعية حيث تغيرنا we8217ve المفتاح المركب ليكون سلسلة رمز الأسهم (K1) والطابع الزمني (K2، عرض كتاريخ، ولكن في التعليمات البرمجية طويلة في مس). وقد رسمت الرسم البياني أزواج كف من قبل كل من 8220K1: رمز السهم 8221 (المفتاح الطبيعي) و 8220K2: ختم الوقت 8221 (المفتاح الثانوي). الشكل 3: كومبوسيتكيكومباراتور في العمل على مفاتيحنا المركبة. مفتاح مركب ممثلا الآن مع رمز الأسهم سلسلة (K1) وتاريخ (K2). مرة واحدة we8217ve فرز البيانات الخاصة بنا على مفتاح مركب، ونحن بحاجة الآن إلى تقسيم البيانات لخفض المرحلة. في الشكل 4 أدناه نرى كيف تم تقسيم البيانات من الشكل -3 أعلاه مع ناتورالكيبارتيتيور. الشكل 4: التقسيم بواسطة المفتاح الطبيعي مع ناتورالكيبارتيتيور. مرة واحدة we8217ve تقسيم البيانات لدينا المخفضات يمكن الآن بدء تحميل ملفات التقسيم وبدء مرحلة دمجها. إنف الشكل 5 أدناه نرى كيف يتم استخدام المقارن التجميعي أو ناتورالكيجروبينغكومباتور للتأكد من أن استدعاء تقليل () يرى فقط البيانات المجمعة منطقيا المقصود لهذا المفتاح المركب. الشكل 5: تجميع المقارنة دمج ملفات التقسيم. يجب على الباحث و التجميع المقارنة للمفتاح المركب النظر فقط في المفتاح الطبيعي للتقسيم والتجميع. وفيما يلي وصف قصير من رمز المتوسط المتحرك بسيط الذي تم تغييره لاستخدام النوع الثانوي ويتم استضافتها على جيثب. إذا لاحظت، أسماء الطبقات تتطابق بشكل وثيق مع المصطلحات المستخدمة في الرسوم البيانية أعلاه وفي توم ويتس هادوب: الدليل النهائي (الفصل 8 مابريدوس الميزات) وذلك لجعل التعليمات البرمجية أسهل للفهم. ناتورالكي 8211 ما كنت تستخدم عادة كمفتاح أو مجموعة من قبل المشغل. في هذه الحالة يكون المفتاح الطبيعي هو رمز المجموعة أو السهم حيث نحتاج إلى تجميع بيانات الأسهم التي قد تكون غير مصنفة قبل أن نتمكن من فرزها وحساب المتوسط المتحرك البسيط. مفتاح مركب 8211 A مفتاح هو مزيج من المفتاح الطبيعي والقيمة الطبيعية التي نريد فرزها. 5 ردود على لدكو بسيط متحرك المتوسط، والفرز الثانوي، و مابريدوس (الجزء 3) رديقو خدعة باردة مع سورتيربارتيتيونر الانقسام. بقدر ما أستطيع أن أقول هذا يعمل كبيرة حتى تصبح سلسلة طويلة جدا (أعتقد 30 عاما من البيانات على مستوى القراد) 8211 يبدو أن التقسيم حسب الوقت قد يكون صعبا جدا. هل تعرف من أي شيء في صلب هادوب مثل 8220overlapping partitioner8221 التي يمكن أن يبصقون نفس البيانات إلى أقسام متعددة لقد تجربت مع مصممي الخرائط التي تكرر القيم عبر مفاتيح متعددة، ولكن أتساءل عما إذا كان هناك 8217s وسيلة أكثر تقليدية للقيام بذلك. إيفان، أنت ميت على حجم البيانات في مفتاح واحد. لقد واجهت نفس المشكلة عند العمل على مشروع أوبينبدك ل نيرك: واحد استشعار يمكن أن يكون حرفيا مليارات من النقاط في فترة قصيرة جدا من الزمن، وذلك للوظائف النموذج الأولي نحن الأشياء الرئيسية إلى يوم واحد (3،600،000ms): في أكثر نسخة معقدة كنت قد استخدمت تراكب فتحات الوقت حتى مصمم الخرائط الحصول على بيانات كافية من المفاتيح المجاورة لتغطية طول نافذة واحدة. الآن I8217d يقول كنت على الطريق الصحيح مع القيم المكررة. أنا أعرف أن هذا لا علاقة للمتوسطات المتحركة، ولكن مدى دقة سلسلة ساكس مطابقة مطابقة المستخدمة في بك أنا تنفيذ شيء من هذا القبيل (إلا باستخدام مابريدوس أبي 2)، وفي حلقة من وظيفة تقليل ()، كلما. ويسمى الأسلوب التالي () على إيتياتور، نحصل على قيمة جديدة، ولكن المفتاح أيضا يتغير بأعجوبة. بدلا من ذلك، جزء من المفتاح المركب الذي لم يتم استخدامه كمفتاح طبيعي (الطابع الزمني في هذا المثال) التغييرات. كان هذا مدهشا للغاية. كيف يحدث هذا آخر الملاحة اعتماد أباتشي هادوب في الحكومة الاتحادية
محرك بحث الأسهم - خيارات الاتصال - يضع والمكالمات وفيما يلي بعض الاستفسارات عينة للمكالمات والمكالمات التي تغطيها ووضع عارية على أساس استراتيجيات مختلفة قد يكون لديك. لاحظ أن معظمهم يفترضون أنك تبحث عن خيارات تنتهي صلاحيتها في شهر آذار (مارس). وبطبيعة الحال، استبدال مارس مع أي شهر كنت تحاول البحث عنه. إذا كنت بحاجة إلى نموذج طلب بحث لاستراتيجية أخرى لم يرد ذكرها هنا، فيرجى مراسلتنا عبر البريد الإلكتروني وشرح الاستراتيجية وسيسعدنا إضافة استعلام نموذجي مناسب إلى هذه الصفحة. ملاحظة: لا يمثل ظهور هذه الاستعلامات أي تأييد لاستراتيجية معينة. استعلامات المكالمة المغطاة عينة البحث عن المكالمات المغطاة بشهر معين: في المال غ 0 الشهر مار تغطية العودة المشمولة بما في ذلك الربح من دعا GT.1 البحث عن في الأموال التي تغطيها المكالمات لشهر معين وسعر السهم أقل من 20: في المال غ 0 الشهر مار تغطية المكالمة بما في ذلك الربح من دعا GT1 سعر السهم لوت 20 البحث عن من الأموال التي تغطيها المكالمات لشهر معين في المال لوت 0 الشهر مار تغطية المكالمة لا تشمل الربح من ودعا gt.1 البحث عن الخروج من الأموال المغطاة يدع...
Comments
Post a Comment