-
شكرا على هذا العمل الكريم..
ملاحظة بسيطة :بعض الاكواد غير كاملة، اذا كان ممكن أن توافينا بما هو ناقص و شكرا. مثلا كود مؤشر لو و الهاي، حيث هناك متغيرين DrawBox و DrawTrend لا وجود لتعريفهما، لكن يوجد استعمالهما في الكود.. أتمنى أن تكون قد فهمت ما اقصده. تقبل مروري و تحياتي على العمل الجبار الذي تقوم به..
-
العفو اخي الكريم
بخصوص المتغيرين ليسا متغيرين، بل دالتين لهما وظيفة معنية كرسم مستطيل او ترند او خط ... وهذه الرسومات مهما كانت، بتعتمد على وظيفة اساسية ObjectCreat لرسم كائن على الشارت مع خصائص كل نوع كائن ObjectSet ، ستجد شروحات عنها بالدروس.
اما عن تطبيقات هذه الوظيفة فهي كثيرة ومتنوعة يمكنك مراجعتها باكواد المؤشرات، ويمكنك مراجعة او طرح اسئلة برمجية بالموضوع المخصص للاسئلة البرمجية
والله الموفق
-
void drawshap(string name,color LineColor,double Price1,doub
le Price2,datetime Time1,datetime Time2)
{
if(ObjectFind(name) == â€گ1)
{
ObjectCreate(name, OBJ_RECTANGLE, 0, Time1,Price1,T
ime2,Price2);
ObjectSet(name, OBJPROP_COLOR, LineColor);
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name, OBJPROP_WIDTH, 2);
}
else if(ObjectGet(name,OBJPROP_TIME1)!=Time1||Objec
tGet(name,OBJPROP_PRICE1)!=Price1){
ObjectDelete(name);
}
}
void drawTrend(string name,color LineColor,double Price1,dou
ble Price2,datetime Time1,datetime Time2,bool b)
{
if(ObjectFind(name) == â€گ1)
{
ObjectCreate(name, OBJ_TREND, 0, Time1,Price1,Time2
,Price2);
ObjectSet(name, OBJPROP_COLOR, LineColor);
ObjectSet(name, OBJPROP_STYLE, STYLE_SOLID);
ObjectSet(name, OBJPROP_WIDTH, 2);
ObjectSet(name,OBJPROP_RAY,b);
}
else
****************
double H,L,O,C;
datetime T1,T2;
for(int i=1;i<Days_History;i++){
H=iHigh(Symbol(),1440,i);
L=iLow(Symbol(),1440,i);
T1=iTime(Symbol(),1440,i);
T2=iTime(Symbol(),1440,iâ€گ1);
O=iOpen(Symbol(),1440,i);
C=iClose(Symbol(),1440,i);
if(DrawBox)drawshap("Box"+i,BoxColor,H,L,T1,T2);
if(DrawTrend)drawTrend("Trend"+i,TrendColor,O,C,T1 ,T2,Tr
end_Ray);
}
تحية طيبة،
و شكراعلى التفاعل عزيزي،
لو سمحت من فضلك،
لم ألاحظ الأقواس، في الكود أعلاه موضوع النقاش، التي تعبر على أنهما دالتني، و في حالة أنهما دالتين و لهما و ظيفة معينة void هل يجوز اختبارها في شرط if. و للاشارة لم أجد الكود الذي يوضح خصائصهما ضمن الكود طيه.
كما ألاحظ أن هناك متغيرين أخرين (دالتين) و هما BoxColor و TrendColor لم يتم تعريفهما. هل يمكن استدعاء دالة دون أقواس؟
تقبل مروري و تقديري..
-
العفو أخي Nabil
اولا هذا الموضوع مخصص للدروس فقط، والأفضل ان تضع الاسئلة البرمجية بالموضوع المخصص لذلك كما أشرت بمشاركتي السابقة حتى يكون مرجع للجميع بإذن الله،
ثانيا يجب ان تضع الكود ضمن كود php او html (ستجدهما بالوضع المتطور للمشاركة) حتى لا يتعرض الكود للتلف، كما حدث الان،
طيب أخي الكريم بالنسبة لموضوع النقاش لا أتذكره حقيقة، ممكن الرابط او الملف!، اما بالنسبة لسؤالك نعم يكون استدعاء الدوال بقوسيه طبعا، والدوال من نوع void ليس لها قيمة تعود إليها (return) وبالتالي الدالة الفرعية void يتم إستدعاؤها إما مباشرة بأي دالة رئيسية أو جواب لشرط ما، يعني بعد انتهاء الشرط if
بالتوفيق إن شاء الله
-
شكرا جزيلا أستاذي العزيز على اهتمامك،
تجدد تتمت النقاش أو التساؤلات في في الموضوع المخصص للأسئلة البرمجية، كما أشرت إلى ذلك.
تقبل تحياتي و خالص عبارات تقديري لك.
-
-
سوال هل دروس الاستاذ حكيم بعد التحديثات ام هي نفس الدروس القديمه قبل التحديث على ميتاتريد وشكرا مقدما واذا وجد كتاب يشرح الاختلافات بعد التجديث وشكرا مقدما
-
نعم ولكن لا يوجد فرق كبير بين اللغة القديمة والتحديث الجديد، وسأقوم بتوضيحها قريبا إن شاء الله
-
كم انتم رائعون والشكر لا يفي بما قمتم به نسأل الله فقط ان نكون مصلحين بين امتنا كم فعلتم انتم حقا انكم ساهمتم بالمجتمع العربي
-
أخي حسن
أتمنى لو تبدأ بدورة فيديو لشرح برمجة mql4
و نبدأ معك خطوه بخطوه عاليوتيوب
لأن الدروس فيديو بالعربي شحيحه و ناقصه أو غير مبسطه بالنسبة للمبتدئين
فأتمنى منك ذلك و شكرا لك