صفحة 10 من 26 الأولىالأولى ... 4567891011121314151620 ... الأخيرةالأخيرة
النتائج 136 إلى 150 من 378
  1. #136
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    لو كنا محتاجينها في البرنامج, نضع ايضا تلك الدالة في بلوك الكلاس--يعني نضيفها للبرنامج,
    اذا ما كنا محتاجينها نحذف هذا الانترفيس من رأس البرنامج مع بقاء IIndicator فقط.

  2. #137
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي المتغير indicatorInfo

    الآن افتح محرر مؤشر جديد "new indicator" وأعد تسميته بما يلزم ثم احفظه من خلال ايقونة save as , وأريد منك التركيز التام في تعاريف المتغيرات "variable declarations"

    وليكن في ذهنك أو مفتوح أمامك الرد السابق رقم # 132
    نبدأ:
    لاحظ هذا المتغير الكائني "Object or reference type" باسم: indicatorInfo

    كود:
        private IndicatorInfo indicatorInfo;
    لاحظ تم تعريفه بالنوع IndicatorInfo (الحرف الأول كبير)

    ارجع للصورة في الرد #132 -- أداة التعريف هنا وهي IndicatorInfo - هل هي كلاس أم انترفيس؟؟

    وماذا يعني الأمر في كل حالة؟
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 04:41 PM

  3. #138
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي indicatorInfo

    indicatorInfo -- الذي يبدأ بحرف i صغير, هو المتغير الذي انت اخترت ان يكون هكذا, يعني من وضع المستخدم -- يعني ممكن تغيره لو حبيت لما هو اريح لك, مجرد اسم متغير.

    تخيل int x=1 ---- سهل عليك ان تقول ان اسم المتغير x وان نوعه int أي يحمل أي عدد صحيح, بما فيها القيمة 1 وهي عدد صحيح ولا تقول أكثر من ذلك,

    بنفس الصياغة,
    indicatorInfo هو اسم المتغير وأن نوعه IndicatorInfo أي يحمل القيم من نوع IndicatorInfo ؟؟؟؟

    هذا متغير كائني: وبالتالي عبارة عن مجموعة قيم تجعله على ماهو عليه
    عندما تذهب لدوكاسكوبي API تعرف ماذا يحمل هذا المتغير تحته--ربما عشرات الدوال وعشرات الانواع الاخرى! ويتم المرور لها من خلال أهم شيء في الجافا وهو النقطة "."

    حسب الصور في الرد #132 فإن IndicatorInfo عبارة عن class وبالتالي . . .
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 04:41 PM

  4. #139
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    إذن أنت الآن تعرف أن IndicatorInfo عبارة عن class وبالتالي يمكن استخدامها لـ 1) تعريف المتغيرات 2) انشائها او خلقها من خلال أداة انشاء الكائنات "new"

    ليش؟ لأنها أساسا class


    إسأل نفسك: لو أن هناك دالة من نوع IndicatorInfo فماهو نوع القيمة التي ستعيدها؟
    ج: قيم من نوع IndicatorInfo --- لاحظ ليست بسهولة دالة من نوع double مثلا -- نعلم انها ستعيد قيمة عشرية.


    هذه الدالة IndicatorInfo وحسب موقع دوكاسكوبي API تحتها التالي: (يعني كل ماهو أسفل يمكن معرفته من خلال أي متغير تم انشائه من خلال هذه الكلاس)
    + ناهيك عن دوال set-get
    set-get يسمونها accessors/mutators

    ولهذه الكلاس 3 كونستركتورات --- three constructors

    وقلنا سابقا ان الكوسنتركتور هو اسم الكلاس نفسه بقوسين ويستخدم للأنشلة غالبا initialzation وهو إعطاء قيم اولية او تحديث قيم المتغيرات الكلاس التي قلنا سابقا انها fields
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 04:51 PM

  5. #140
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    هذه الدالة IndicatorInfo وحسب موقع دوكاسكوبي API تحتها التالي: (يعني كل ماهو أسفل يمكن معرفته من خلال أي متغير تم انشائه من خلال هذه الكلاس)
    دوال كثيرة, تمر لها من خلال متغير من النوع في الاقتباس, راجعها هنا:
    https://www.dukascopy.com/client/jav...catorInfo.html

    ونحن من خلال الكود الديفولت سنمر عليها واحد واحد,
    لاحظ المسمى IndicatorInfo وبالتلي نتوقع انه يتعامل مع الأشياء ذات العلاقة على المؤشر, مثل لونه عرضه, القيم المستخدمة لرسمه هكذا مثل عدد المدخلات والمخرجات, اللفل level وألوانها (اللفل هي الخطوط الافقية المستقيمة مثل 30 و 70 لـ RSI ) وطبعا لاننسى اسم المؤشر وأيضا اسم كل خط output وهلم جراً

    ---

    للتفكير:
    الماكد اعدادته 12 و 26 للمتوسطات و 9 للسقنال(السقنال=متوسط المتوسط نفسه)
    هذه الأرقام 12 و 26 و 9 -- أنت من اختارها او لفقها وبالتالي انت قد تغيرها--تحت سيطرتك

    بينما اذا اردت حساب متوسط 26 --- تحتاج 26 سعر -- هذه الـ 26 سعر ليس انت من اختارها او حددها وليس بمقدروك تغييرها ابدا

    اذن لدينا مدخلات تحتاجها المؤشرات ونحن نتحكم بها
    ولدينا مدخلات لن تستطيع تعديلها حتى يلج الجمل في سم الخياط.
    الأولى نسميها متغيرات optInputParameter
    بينما الثانية InputParameter من غير opt
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 05:54 PM

  6. #141
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    هل لاحظت أنني وضعت كلمة للتفكير في الرد السابق كبيرة وباللون الأحمر--رجاء لاتتجاوزها حتى القراءة المتأنية 7 مرات اخرها بتركيز شديد

  7. #142
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    تمرين غير محلول:

    InputParameterInfo هل هي على الأرجح, مدخلات من النظام (التشارت ) أم منك أنت كمتسخدم؟

    optInputParameterInfos هل هي على الأرجح, مدخلات من النظام (التشارت ) ام منك أنت كمتسخدم؟
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 05:58 PM

  8. #143
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    توضيح أكثر:

    نريد حسابات الماكد لاخر 100 يوم مثلا---ماذا نحتاج؟
    ج:
    1) القيمة 26
    2) القيمة 12
    3) القيمة 9
    4) الاسعار لاخر 126 شمعة
    دون هذه المتغيرات الأربعة لايمكن ابدا رسم الماكد (الأخيرة طبعا مصفوفة لأننا نتحدث عن 126 سعر --- 100+26)

    اول ثلاثة انت ممكن تغيرها من 26-12-9 الى 10-8-34 مثلا

    بينما الاسعار انت تحصل عليها من السستم "السستم هنا هو التشارت"

    الاولى لك حق الخيار opt
    الثانية لايمكن
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 05:59 PM

  9. #144
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    IndicatorInfo نعود لتكلمة الحديث عنها
    خرجنا قليلا لأننا اردنا تمييز هذا المتغير عن المتغيرات الثلاث الاخرى وهي InputParameterInfo و OptInputParameterInfo و OutputParameterInfo
    التي سنتحدث عنها لاحقاً

    لابد تعرف كيف تميز المتغير عن الاخر--مالهدف من وجوده؟
    احذر ان تفكر انه قد يكون هناك اهداف او قواسم مشتركة بين متغيرين---اذا فكرت هكذا انت تعبث والبرمجة نفسها تصبح مجرد عبث وبزرميط!

    من أسس مفاهيم الـ OOP عدم تكرار الأفكار!

    فهذه المتغيرات الأربع الرئيسية هي البنية التحتية لأي مؤشر نريد تصميمه,

    اضغط على الصورة لعرض أكبر

الاســـم:	0021.png
المشاهدات:	0
الحجـــم:	37.8 كيلوبايت
الرقم:	521148

    وحسب المصطلح نقول: Fields ولا نقول variables ولانقول parameters ولا نقول arguments

    وأيضا قد نقول Members مع العلم ان هذه الأخيرة تشمل أيضا الدوال methods

    وتم جعلها كلها private بحيث ان قيمها لا يمكن أن ترى خارج هذا الكلاس "هذا المؤشر" -- يعني كل ماهنا خاص بهذا المؤشر فقط.

    لو جعلتها مثلا public وهناك مؤشر اخر يستخدم نفس أسماء المتغيرات تحت نفس البكج او الفولدر, تحدث الخربطة والتضارب.
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 06:20 PM

  10. #145
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    قلنا أن IndicatorInfo لها ثلاثة كونستركتورات؟ وبالتالي هناك 3 طرق لبناء المعلومات "الأنشلة" للمتغيرات أو الدوال المنتمية لهذا النوع,

    في كل البرامج وجدتهم يستخدمون الكوسنتركتور التفصيلي, سنخالفهم ونستخدم الكوسنتركتور الفارغ -- لأنك في مرحلة المبتدئين وبالتالي لو استخدمنا الفارغ نجد أنفسنا مضطرين لاستخدام كثير من دوال IndicatorInfo لتجهيز أو إعداد بيانات المؤشر قبل القيام بالحسابات التي تصنع المؤشر كما نريد رؤيته على التشارت. وهذا ما نريده وهو أن تتعلم هذه الدوال وماذا تعني.

    أحد الثلاثة كتبوا تحته deprecated -- يعني "تحت الترحيل" -- يعني بعد مدة راح يشيلونه من مكتبة دوكاسكوبي--مثل المتخلفين من الحجاج اللي مسكتهم وزارة الداخلية وتسفرهم لبلدانهم!
    تاركينه الان لان هناك برامج قديمة مبنية عليه--حاول تتحاشى استخدامها- والميت ماتجوز عليه الا الرحمة.

    فأي دالة تحتها Deprecated لاتستخدمها واستخدم البديل الذي نصحوا به تحتها.
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 06:28 PM

  11. #146
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    IndicatorInfo Constructors

    الملف المرفق 521151

    ولايجب أن اعيد مرة أخرى أن IndicatorInfo عبارة عن كلاس
    وأن الـ Constructor هو نفسه اسم الكلاس ولكن مع قوسين, وهذين القوسين قد تكون فارغة وقد يكون بينها معطى أو أكثر (paramerters)
    ولاتخلط بينها وبين الدوال--طالما هي تشبه الدوال في تركيبتها---اعتبرها دوال خاصة جدا

    لاحظ لايستخدم معها أي return type بما ذلك النوع void وبالتالي هي ليست دوال methods
    حتى كلمة دوال خاصة تعتبر تسمية خاطئة ولكنها تشبه الدوال
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 06:37 PM

  12. #147
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    تأمل لقد استخدموا اسفل الكونستركتور التفصيلي, داخله 9 معطيات (9 arguments) ---أرجو أن تعدها؟
    كود:
    indicatorInfo = new IndicatorInfo("EXAMPIND", "Sums previous values", "My indicators", false, false, false, 1, 1, 1);
    لو حذفت هذا السطر (رجاء استخدم سلاشين قبل السطر ليبقى ولكن كتعليق ولاتمسحه نهائياً) معناه انه لم يتم اي أنشلة وبالتالي نتوقع اثناء الكمبلة ينشأ خطأ على شاكلة Cannot enable indicator, getIndicatorInfo returns null


    قيمة null مع الكائنات مثل قيمة 0 مع الأعداد الصحيحة, وتعني "الكائن العدمي" !!!!

    اضغط على الصورة لعرض أكبر

الاســـم:	0023.png
المشاهدات:	0
الحجـــم:	96.7 كيلوبايت
الرقم:	521156

  13. #148
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    كلمة new نعلم انها تستخدم جافويا لخلق الكائنات -- هذا الكلام اذا اردته بلغة علمية صارمة يعني "هذه الكلمة new تستخدم جافوياً لاستدعاء الكوسنتركتور" -- واستعداء الكوسنتركتور هو نفسه مانعني به خلق او انشاء الكائنات objects

    لاحظ الفعل construct وتعني بناء او انشاء

  14. #149
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    مرة أخرى نعيد الصورة:
    كم عدد المعطيات داخل الكوسنتركتور التفصيلي:

    يا ليت تعدها؟
    وبالتالي اي استدعاء له يجب ان يتم بنفس العدد من المعطيات.
    اضغط على الصورة لعرض أكبر

الاســـم:	0024.png
المشاهدات:	1
الحجـــم:	59.2 كيلوبايت
الرقم:	521157
    آخر تعديل بواسطة سلمان_العتيبي ، 07-03-2020 الساعة 06:54 PM

  15. #150
    تاريخ التسجيل
    Mar 2020
    الإقامة
    السعودية
    المشاركات
    8,531

    افتراضي

    ثم قارنها بالسطر البرمجي في السطر السابق,
    لاحظ أول معطى يجب ان يكون name وهو اسم نمنحه للمؤشر وهو من نوع string, ثاني معطى عنوان المؤشر من نوع string أيضا, والثالث من نوع string للمجموعة التي نريده ا نيكون ضمنها "مثلا مع momentums" او مع ال "trends" وماشابه من هه العناوين الرئيسية او حتى تنصع مجموعة لامعنى لها!
    وبعده 3 قيم منطقية من نوع Boolean--هل هو سيكون على التشارت --سيكون على الفوليوم -- سيشمل الفترات المضطربة -- ؟
    وأخيرا 3 متغيرات من نوع int وهي حسب الصورة أعلاه وبالرتيب:
    1) عدد ال inputs القسرية
    2) عدد ال inputs الخيارية
    3) عدد ال outputs - يعني عدد خطوط المؤشر التي نريد رسمها على التشارت.

    قلنا الغ السطر السابق واستخدم الكوسنتركتور الفارغ؟

    اذا استخدمت الكوسنتركتور الفراغ انت فقط خلقت كائن من نوع IndicatorInfo ولكن للأسف لايمكنك الأنشلة--- يعني لايمكنك منح القيم للبيانات الضرورية لتصميم أي مؤشر

صفحة 10 من 26 الأولىالأولى ... 4567891011121314151620 ... الأخيرةالأخيرة

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