النتائج 271 إلى 285 من 378
- 09-03-2020, 09:03 PM #271
ونحن نريد نوعين-
SMA
و EMA
لذا اضطرينا لتعريف متغيرين ema, sma -- وهذه منك انت كمستخدم--يعني ممكن تغيرها الى اي اسم تراه لائقا اكثر او حتى غير لائق!
ي
- 09-03-2020, 09:08 PM #272
- 09-03-2020, 09:10 PM #273
الكود كاملاً:
كود:package jforex; import java.awt.Color; import com.dukascopy.api.indicators.*; public class R4_MAs implements IIndicator { private IndicatorInfo indicatorInfo; private InputParameterInfo[] inputParameterInfos; private OptInputParameterInfo[] optInputParameterInfos; private OutputParameterInfo[] outputParameterInfos; private double[][] inputs = new double[1][]; private int[] timePeriod = {7,21,34,50}; private double[][] outputs = new double[4][]; private IIndicator ema; private IIndicator sma; public void onStart(IIndicatorContext context) { IIndicatorsProvider indicatorsProvider = context.getIndicatorsProvider(); ema = indicatorsProvider.getIndicator("EMA"); sma = indicatorsProvider.getIndicator("SMA"); indicatorInfo = new IndicatorInfo("ARABICtRADER", "Shows 4 MAs indicators", "anyFolder",true, false, true, 1, 4, 4); inputParameterInfos = new InputParameterInfo[] { new InputParameterInfo("series input", InputParameterInfo.Type.DOUBLE) }; optInputParameterInfos = new OptInputParameterInfo[] { new OptInputParameterInfo("Time period SMA1", OptInputParameterInfo.Type.OTHER,new IntegerRangeDescription(timePeriod[0], 5, 15, 1)), new OptInputParameterInfo("Time period SMA2", OptInputParameterInfo.Type.OTHER,new IntegerRangeDescription(timePeriod[1], 15, 25, 1)), new OptInputParameterInfo("Time period EMA3", OptInputParameterInfo.Type.OTHER,new IntegerRangeDescription(timePeriod[2], 25, 35, 1)), new OptInputParameterInfo("Time period SMA4", OptInputParameterInfo.Type.OTHER,new IntegerRangeDescription(timePeriod[3], 45, 55, 1)) }; outputParameterInfos = new OutputParameterInfo[] { new OutputParameterInfo("حسن", OutputParameterInfo.Type.DOUBLE,OutputParameterInfo.DrawingStyle.LINE), new OutputParameterInfo("Mohammed", OutputParameterInfo.Type.DOUBLE,OutputParameterInfo.DrawingStyle.LINE), new OutputParameterInfo("خالد", OutputParameterInfo.Type.DOUBLE,OutputParameterInfo.DrawingStyle.LINE), new OutputParameterInfo("George", OutputParameterInfo.Type.DOUBLE,OutputParameterInfo.DrawingStyle.DASHDOT_LINE) }; outputParameterInfos[0].setColor(Color.red); outputParameterInfos[1].setColor(Color.green); outputParameterInfos[2].setColor(Color.yellow); outputParameterInfos[3].setColor(Color.blue); } public IndicatorResult calculate(int startIndex, int endIndex) { if (startIndex - getLookback() < 0) { startIndex -= startIndex - getLookback(); } ema.setInputParameter(0, inputs[0]); sma.setInputParameter(0, inputs[0]); sma.setOptInputParameter(0, timePeriod[0]); sma.setOutputParameter(0, outputs[0]); sma.calculate(startIndex, endIndex); sma.setOptInputParameter(0, timePeriod[1]); sma.setOutputParameter(0, outputs[1]); sma.calculate(startIndex, endIndex); ema.setOptInputParameter(0, timePeriod[2]); ema.setOutputParameter(0, outputs[2]); ema.calculate(startIndex, endIndex); sma.setOptInputParameter(0, timePeriod[3]); sma.setOutputParameter(0, outputs[3]); return sma.calculate(startIndex, endIndex); } public int getLookback() { sma.setOptInputParameter(0, timePeriod[0]); int sma1Lookback = sma.getLookback(); sma.setOptInputParameter(0, timePeriod[1]); int sma2Lookback = sma.getLookback(); ema.setOptInputParameter(0, timePeriod[2]); int ema3Lookback = ema.getLookback(); sma.setOptInputParameter(0, timePeriod[3]); int sma4Lookback = sma.getLookback(); return Math.max(Math.max(sma1Lookback, sma4Lookback), Math.max(sma2Lookback, ema3Lookback)); } public int getLookforward() { return 0; } public IndicatorInfo getIndicatorInfo() { return indicatorInfo; } public InputParameterInfo getInputParameterInfo(int index) { if (index <= inputParameterInfos.length) { return inputParameterInfos[index]; } return null; } public OptInputParameterInfo getOptInputParameterInfo(int index) { if (index <= optInputParameterInfos.length) { return optInputParameterInfos[index]; } return null; } public OutputParameterInfo getOutputParameterInfo(int index) { if (index <= outputParameterInfos.length) { return outputParameterInfos[index]; } return null; } public void setInputParameter(int index, Object array) { inputs[index] = (double[]) array; } public void setOptInputParameter(int index, Object value) { timePeriod[index] = (Integer) value; } public void setOutputParameter(int index, Object array) { outputs[index] = (double[]) array; } }
آخر تعديل بواسطة سلمان_العتيبي ، 09-03-2020 الساعة 09:20 PM
- 09-03-2020, 09:12 PM #274
- 09-03-2020, 09:22 PM #275
تمرين غير محلول:
اصنع مؤشرا عبارة عن 10 متوسطات من نوع SMA--بسيط للمتوسطات 5 و 10 و 15 و 20 وهكذا زايد 5 حتى اخر واحد.,
هو نفسه الكود أعلاه --فقط تغير او تضيف مايلزم--نسخ ولزق
أتمنى فعلا ان أرى من يحله هنا ويهمني ان يتم الامر في اقل من 10 دقائق
- 09-03-2020, 09:32 PM #276
تمارين غير محلولة:
صمم مؤشرا يرسم RSI لزوجين مختلفين على تشارت واحد؟
صمم مؤشرا يرسم RSI لزوج التشارت لثلاثة فريمات مختلفة على تشارت واحد--مثلا فريم الديلي وربع ساعات و 1 ساعة لزوج اليورو دولار؟
لايهولنك صياغة السؤال-- حاول ان تدرك انها سهلة جدا
- 09-03-2020, 09:41 PM #277
- 09-03-2020, 09:47 PM #278
فأنت مع المؤشرات تريد بيانات المتوسطات وغيرها
ومع الاستراتيجيات تريد أشياء شبيهة واشياء مختلفة
رجاء قارن بين دوال او كلاسات IIndicatorContext و IContext---- سوى جدول وانظر للمتفق والمفترق!
- 09-03-2020, 09:48 PM #279
نرجع الان الى جملة: ارجوك لاتفسد برامجي!
private-public-default-protected
لأن جل ماذكرناه اليوم تمهيد لهذا الأمر لبيان أهمية set-get كإجراء برمجي محبذ.
ولماذا يتكرر هذا الاجراء كثيرا هنا مثل setName
getIndicatorInfo
الخآخر تعديل بواسطة سلمان_العتيبي ، 09-03-2020 الساعة 09:52 PM
- 10-03-2020, 12:33 AM #280
الفصل الثالث: مبادئ الجافا
اعتقد ماسبق يمنحك ثقة أكثر في النفس
مجرد مثال,
أنت صممت برنامج جافا الفيلدز Fields الرئيسية فيه: الساعة و الدقائق و الثواني,
اسم برنامجك انت yourClass
وانا مستخدم وصممت برنامجا يستخدم برنامجك--اسم برنامجي myClass
اسم البرنامج يجب ان يكون باسم الـ class التي من نوع public
في البرنامج لابد ان يكون هناك واحدة وواحدة فقط من نوع public
أي class خارجي لا يقبل الا اثنين موديفاير modifier من الاربعة اما دون شيء يعني default او كلمة public
بينما المتغيرات تأآخذ احد الاربعة public-private-default-protected
default يعني دون اي شيء,
كلاسك انت ستكون ديفولت--دون موديفاير
كلاسي انا اجباري تكون public لانه لايوجد كلاسات اخرى.
الكلاس التي فيها الدالة التي تبدأ البرنامج وهي دالة main هي اجباري تكون public
انظر للصورة:
- 10-03-2020, 12:40 AM #281
اذن:
1- اول سطر في تعلم الجافا: ان اسم البرنامج يجب ان يكون باسم الـ class من نوع public على فرض وجود أكثر من class في البرنامج
2- ثاني سطر, هو ان دالة main بالمنطق يجب ان تكون في الـ public class
3- ثالث سطر عندما تكون الـ class من دون موديفاير -- الموديفاير لها هو حالة الـ default
4- رابع سطر -- المتغيرات على مستوى الكلاس تسمى حسب علم المصطلح Fields او attributes والموديفاير لها أربعة احتمالات private-public-protected-default
5- خامس سطر ان الكلاس إضافة للمتغيرات يكو نبداخله دوال وتسمى methods---مثال دالة main أعلاه
يتبع . . .
- 10-03-2020, 12:42 AM #282
الموديفاير عنوان رئيسي في الجافا ويأتي تحته عنوانين فرعيين:
access modfiers
وهي الأربعة أعلاه private-public-protected-default
و
non-access modfiers
وهي final و static
- 10-03-2020, 01:30 AM #283
استاذي العزيز أنا حاليا مالي بالبرمجة واحب تعلمها ولكني حاليا لست متفرغا لها و احب تعلمها متى ما سمح الوقت بذلك،لكني رأيت عمل كهذا متعوب عليه وبعض الصور ظاهرة وبعضها غير ظاهرة ، يعني حرام عمل كهذا يذهب على الفاضي لربما قد نستفيد منه يوما ما ويكون كمرجع لمن يحب تعلم هذة اللغة...فأرجوا من الأخوة ان يتأكدوا هل جميع الصور تظهر عندهم حتى عند فتح الملفات المرفقة ، لانه أنا حاولت عندي ادخل من عند صديقي ونفس المشكلة وهو عند الضغط على كلمة الملف المرفقق تظهر رسالة ان هناك خطأ
صراحة هذة اللغة لم تجذبنا كاللغة MQL والسبب هو عدم انتشارها وكمان لابد للواحد يكون عنده معرفة مسبقا بلغة الجافا، نقطة اخرى وهو ان كل ما يمكن فعله من خلال هذ اللغة ممكن فعلة من خلال لغة MQL وهي لغة منصة الميتاتريدر المشهورة أوساط المتداولين ولكن هذا لا يمنع ان يكون هناك ماهو جديد فلربما قد يستفيد الواحد منه يوما ما.
ان شاء الله سوف نكون معكم في المقاعد الأمامية اذا هناك في دورة في من البداية حتى الاحتراف للغة MQL5 ،لانه الى الان لم يتطرق لها احد... وفقكم الله لحبكم نشر العلم.
- 10-03-2020, 01:42 AM #284
مثال على المشكلة ،هناك الكثي من الملفات المرفقة بداية من الموضوع وكمثال على ذلك حاليا في الصفحة الثامنة عشر المشاركة رقم 267 و 269 لاتظهر صور وإنما تظهر كلمة الملف المرفق وعند الضغط عليه لا تفتح وتظهر خطاء... فقط حبيت أنبهك لذلك واخيرا اسف على الإزعاج.
- 10-03-2020, 01:59 AM #285