النتائج 1 إلى 15 من 17
- 03-04-2007, 11:27 PM #1
للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
ياشباب عندي متغيرات
WR1
WR2
WR3
WS1
WS2
WS3
وعندي السعر الحالي ...
أبغى أعمل حلقة تدور على كل المتغيرات وتعمل لي مقارنة بالسعر وتستخرج لي أقرب واحد منهم ؟
بإنتظار المساعدة
- 04-04-2007, 02:29 AM #2
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
تفضل هذا الكود المبسط
كود:double closestLine = WR1; if (MathAbs(Bid - WR2) < MathAbs(Bid - closestLine)) closestLine = WR2; else if (MathAbs(Bid - WR3) < MathAbs(Bid - closestLine)) closestLine = WR3; else if (MathAbs(Bid - WS1) < MathAbs(Bid - closestLine)) closestLine = WS1; else if (MathAbs(Bid - WS2) < MathAbs(Bid - closestLine)) closestLine = WS2; else if (MathAbs(Bid - WS3) < MathAbs(Bid - closestLine)) closestLine = WS3; Alert("Closest Line price is: ", closestLine);مع تمنياتي لك بالتوفيق..
- 04-04-2007, 03:05 AM #3
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
وماذا بعد الكود
- 04-04-2007, 03:32 AM #4
- 04-04-2007, 02:50 PM #5
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
ماااااشاء الله تبارك الله عليك
رائع ، وشكراً على جهدك
انا كنت دايخ عليها ، لأني أفكر بطريقة عمل حلقة For
وكان عندي مشكلة أن الأسماء متغيرة
بس أنت حليتها ببساطة ، ماشاء الله عليك
- 04-04-2007, 03:05 PM #6
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
بسم الله الرحمن الرحيم
اتخيل قربت احلها بدون ما اشوف الحل
الفضل لله اولا ثم لاستاذ مدرستنا الاستاذ حنفي
طيب هو ليس مهما يا استاذنا fx5
انو السعر الحالي يكون اكبر من المتغيرات لاني شوفتك بتتطرح
لانو لو اقل من المتغيرات نفس الكلام بس الشارة سالبة ويقوم بالمقارنة ولاا مشاكل
- 04-04-2007, 07:30 PM #7
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
سؤال آخر ياسعادة المبرمجين
الحين في النتائج يطلع لي الرقم على الشكل x.xxxxxxxx ، فكيف ممكن أخليه x.xxxx أو x.xx ?
- 04-04-2007, 07:58 PM #8
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
عدت للتو إلى البيت بعد يوم شاق وطويل
أريد تبيين عدة نقاط:
أولا: يوجد خطأ صغير في الكود الذي كتبته البارحة لم انتبه له فقد كنت نصف نائم، حيث يجب حذف عبارة else من جميع الجمل الشرطية لكي يقوم البرنامج بتنفيذها جميعاً، وبذلك يصبح الكود:
كود:double closestLine = WR1;if (MathAbs(Bid - WR2) < MathAbs(Bid - closestLine)) closestLine = WR2; if (MathAbs(Bid - WR3) < MathAbs(Bid - closestLine)) closestLine = WR3; if (MathAbs(Bid - WS1) < MathAbs(Bid - closestLine)) closestLine = WS1; if (MathAbs(Bid - WS2) < MathAbs(Bid - closestLine)) closestLine = WS2; if (MathAbs(Bid - WS3) < MathAbs(Bid - closestLine)) closestLine = WS3;Alert("Closest Line price is: ", closestLine);ثانياً: بالنسبة لسؤال الأخ الرحال حول تغير الإشارة في حال كان الخط فوق السعر أو تحته.
الجواب يكمن في استعمال الدالة MathAbs التي تعطي القيمة المطلقة لأي تعبير حسابي، وبهذا لا يوجد فرق سواءاً كان الخط في السعر الحالي أو أسفل منه، وسواءاً كانت نتيجة الطرح سالبة أو موجبة، سوف نتعامل مع القيمة المطلقة فقط.
ثالثاً بالنسبة لطريقة تغيير دقة عرض الأعداد بعد الفاصلة العشرية، الحل في استعمال الدالة NormalizeDouble للتحكم في دقة العرض التي تريدها، وإليك هذا المثال:
كود:double value = 1.1234567; NormalizeDouble(value, 2); Print(value); // will print 1.12أخيراً يجب أن أذكر أنه يوجد طرق أخرى لكتابة كود يقوم بنفس المهمة، بعض هذه الطرق قد يكون أفضل حسب تركيب الإكسبرت الذي تقوم ببرمجته، فمثلاً من الممكن تخزين قيم الخطوط السابقة في مصفوفة واستعمال حلقة for، كما يمكن استعمال الدالة ArraySort لإعادة ترتيب المصفوفة تصاعديا أو تنازلياً، بالإضافة إلى تقنيات أخرى تختلف حسب المهمات المطلوبة من الإكسبرت.
أطيب التمنيات..
- 04-04-2007, 08:28 PM #9
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
مشكور أخوي على التوضيح FX5
شكلي طولت الأسئلة ... ولكن عندما عملت نورماليز طبع الرقم هكذا 1.12340000
أنا نفسي أشيل الأصفار ..
- 04-04-2007, 10:57 PM #10
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
دالة NormalizeDouble لها بارامترين:
الأول هو المتغير الذي يجب أن نطبق عليه الدالة.
والثاني هو رقم صحيح موجب يمثل عدد الأرقام بعد الفاصلة العشرية التي نريدها، فإذا وضعناه 1 سوف يعطينا رقم واحد بعد الفاصلة، وإذا كان 6 فسوف تكون الدقة ستة أرقام بعد الفاصلة.
لذلك تأكد من أنك وضعت القيمة التي تريدها وهي 2 في مدخلات الدالة.
كود:NormalizeDouble(myDouble, 2);
- 04-04-2007, 11:11 PM #11
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
فعلت هذا تماماً ... يحول الأرقام إلى أصفار .. ويحافظ على نفس الطول 8 خانات بعد الفاصلة
- 04-04-2007, 11:29 PM #12
- 04-04-2007, 11:45 PM #13
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
شوف النتيجة النتاتجة عن الكود التالي
كود:double DistancePivot; if (PairRound == 4) {DistancePivot = MathAbs(Bid - closestLine) * 10000;} else {DistancePivot = MathAbs(Bid - closestLine) * 100;} int DistancePivot2 = NormalizeDouble(DistancePivot,0); double closestLine2 = NormalizeDouble(closestLine,PairRound); string PivotResult = "Closest Line Price is " + closestLine2 + " and Distance is " + DistancePivot2 ;
- 05-04-2007, 12:02 AM #14
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
بصراحة لم أفهم الكثير من هذا الكود
ولكن لدي عدة ملاحظات:
- أولا تختلف قيمة النقطة بحسب الزوج فمثلا في الباوند دولار تكون 0.0001 أما في الدولار ين 0.01 ، لذلك فالأفضل أن تقسم على قيمة النقطة Point بدلاً من الضرب في 10000
- ثانياً لاحظت أنك عرفت متغير صحيح int ليأخذ خرج الدالة NormalizeDouble وهذا استخدام غير صحيح، لو كانت لغة البرمجة C شارب لكنت حصلت على compile error ، أما في لغة mql4 فللأسف يتجاهل المترجم هذه الأخطاء لتصبح لدينا الأخطاء صعبة الاكتشاف أثناء التنفيذ runtime error.
- أخيراً في البارامتر الثاني للدالة NormalizeDouble لا تضع متغير إنما ضع رقما صريح مثل 1 أو 2 حتى تستطيع كشف الخطأ، ثم بعدها ضع متغير إذا أحببت.
تمنياتي لك بالتوفيق..
- 05-04-2007, 12:14 AM #15
رد: للمبرمجين " أبغى أسوي حلقة ، تدور على المتغيرات ؟ كيف ؟
أولاً : المؤشر فيه إمكانية تعديل عدد الخانات من 4 إلى 2 حسب الزوج .. لم تطرأ علي فكرة القسمة على قيمة النقطة .. هل ممكن مثال ؟
ثانياً : قبل أن أسند القيمة إلى متغير صحيح ، حولت جميع مابعد الفاصلة إلى أصفار يعني لا قيمة لها ( أجبرت على هذه الخطوة للتخلص من الثمان خانات من الأصفار بعد الفاصلة ) !
ثالثاً : وضعت قيمة عددية ... ثم وضعت متغير .. والحال من بعضه
المواضيع المتشابهه
-
القناة الفضائية العربية الاولى المتخصصة في الفوركس ،،، """"""""
By (عدي) in forum استراحة اعضاء المتداول العربيمشاركات: 22آخر مشاركة: 22-04-2024, 10:59 AM -
"التعليم" تُنهى اليوم اختيار كتب "3 إعدادى" و"6 ابتدائى"
By شذى22 in forum استراحة اعضاء المتداول العربيمشاركات: 0آخر مشاركة: 09-08-2010, 06:34 PM -
مسابقة FXSol : """" قيادة المتاجرة التجريبية """"
By لجنة المسابقات in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 475آخر مشاركة: 19-03-2008, 12:32 AM -
"""""""" تبادل أدوار الجنون """""""
By محمود عامر in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادنمشاركات: 0آخر مشاركة: 27-02-2008, 10:43 AM -
أبغى أنقل من أميرتريد أبغى النصح والمشورة
By حسون in forum سوق الأسهم الأمريكية وتداول عقود الخيارات والـ CFDsمشاركات: 3آخر مشاركة: 11-01-2006, 11:57 PM