النتائج 1 إلى 7 من 7
- 09-02-2016, 03:04 AM #1
سؤال برمجي بسيط عن وظيفه ObjectCreate
السلام عليكم
استفسار برمجي :ممكن حل للمشكلة عدم تحديث مكان الكائن "object" حيث انه يتم رسمه مره واحده فقط ولا يتم تحديث مكان الكائن مع كل حركة سعرية؟؟
المؤشر يقوم برسم خط افقي على اعلى قمة لشمعه السابقة و المشكلة لا يتم إعادة رسم الخط من جديد بعد ظهور شمعة جديدة في الشارت!!
المؤشر موجود بالمرفقات و الرجاء ذكر السبب و حل المشكلة لان مبتدء في عالم البرمجه
- 09-02-2016, 05:45 AM #2
وعليكم السلام
دائما استخدم وظيفة إنشاء الكائن مرة واحدة فقط في برنامجك .
ولتحريكه استخدم ObjectMove
- 09-02-2016, 06:09 AM #3
اخي الكريم الكود مكتوب بشكل خاطئ .. الخطأ باللون الاحمر
كود:ObjectCreate("buy1","buy1",OBJ_HLINE,0,iTime(Symbol(),PERIOD_CURRENT, 0),High[1]);
كود:ObjectCreate("buy1", OBJ_HLINE, 0, iTime(Symbol(), 0, 1), High[1]);
ثانياً: لست بحاجة لوضع دالة "()iTime" الا اذا اردت جلب معلومات الكائن من شارت اخر .. الافضل وضع وقت الشمعة الاولى مباشرة "[1]Time" .. كما انك في خانة الشمعة وضعت الشمعة رقم صفر في حين ان الهاي للشمعة رقم 1
ثالثا: لاعادة رسم الخط بشكل صحيح قم باضافة وظيفة "("ObjectDelete("buy1" قبل " ("ObjectCreate("buy1" وايضاً قم باضافتها تحت وظيفة "()OnDeinit"
رابعاً: في اخر تحديثات الميتا تريدر لست بحاجة لاعادة استدعاء مصفوفات الشموع (الهاي/ لو .. الخ) ويمكنك كتابة مصفوفات الشموع بدون حروف كابيتال لانها اصبحت معرفة مسبقاً في وظيفة "()OnCalculate" مثلا High تكتب high والوقت Time يكتب time وهكذا ..
واخيراً يصبح الكود النهائي:
كود PHP:ObjectDelete("buy1");
ObjectCreate("buy1", OBJ_HLINE, 0, time[1], high[1]);
- 09-02-2016, 08:06 PM #4
- 09-02-2016, 08:34 PM #5
- 10-02-2016, 02:15 AM #6
شكرا على الاجابة
- 10-02-2016, 02:16 AM #7
شكرا على الاجابة و تم بحمدلله حل المشكلة