ملاحظة
موقف نقطة الربط النسبي لعلامة يمكن اختيارها من ENUM_ARROW_ANCHOR التعداد.
علامات كبيرة (أكثر من 5) لا يمكن إلا أن تنشأ من خلال تحديد المناسبة OBJPROP_WIDTH قيمة العقار عند كتابة التعليمات البرمجية في MetaEditor.
مثال
السيناريو التالي بإنشاء ويتحرك السهم لأسفل علامة على الرسم البياني. وقد وضعت وظائف خاصة لخلق وتغيير خصائص الكائن الرسومي ل. يمكنك استخدام هذه الوظائف "كما هي" في التطبيقات الخاصة بك.
#property صارم
// --- وصف
#property وصف "سيناريو توجه \" صفيف أسفل \ "علامة".
#property وصف "الإحداثيات نقطة مرساة تم تعيينها في"
#property وصف "النسبة المئوية من حجم الإطار المخطط."
// --- نافذة العرض للمعلمات الإدخال خلال إطلاق البرنامج النصي
#property script_show_inputs
// --- معلمات الإدخال من السيناريو
مساهمة سلسلة InpName = "ArrowDown"؛ // تسجيل اسم
مساهمة الباحث InpDate = 75؛ تاريخ نقطة // مرساة في٪
مساهمة الباحث InpPrice = 75؛ بأسعار نقطة // مرساة في٪
مساهمة ENUM_ARROW_ANCHOR InpAnchor = ANCHOR_BOTTOM، نوع // مرساة
مساهمة اللون InpColor = clrRed؛ // تسجيل اللون
مساهمة ENUM_LINE_STYLE InpStyle = STYLE_DOT؛ // نمط الخط الحدود
مساهمة الباحث InpWidth = 5؛ // تسجيل حجم
مساهمة منطقي InpBack = كاذبة؛ // علامة الخلفية
مساهمة منطقي InpSelection = كاذبة؛ // تسليط الضوء على هذه الخطوة
مساهمة منطقي InpHidden = صحيح؛ // المخفية في قائمة الكائنات
مساهمة طويل InpZOrder = 0؛ // الأولوية للنقرة ماوس
// + ----------------------------------------------- ------------------- +
// | انشئ صفيف أسفل علامة |
// + ----------------------------------------------- ------------------- +
منطقي ArrowDownCreate (CONST chart_ID طويلة = 0، // ID الرسم البياني لل
CONST اسم سلسلة = "ArrowDown"، // توقيع اسم
CONST الباحث sub_window = 0، // subwindow مؤشر
الوقت التاريخ والوقت = 0، // الوقت مرساة نقطة
سعر مزدوج = 0، // سعر نقطة الربط
CONST ENUM_ARROW_ANCHOR مرساة = ANCHOR_BOTTOM، // نوع مرساة
CONST لون CLR = clrRed، // اللون علامة
CONST ENUM_LINE_STYLE النمط = STYLE_SOLID، // نمط الخط الحدودي
CONST عرض الباحث = 3، // حجم علامة
CONST منطقي الظهر = كاذبة، // في الخلفية
CONST اختيار منطقي = صحيح، // تسليط الضوء على هذه الخطوة
CONST منطقي خفية = صحيح، // مخبأة في قائمة الكائنات
CONST z_order طويلة = 0) // الأولوية لنقرة ماوس
{
تنسق // --- نقطة مجموعة مرساة إذا لم يتم تعيين أنها
ChangeArrowEmptyPoint (الوقت والسعر)؛
// --- إعادة تعيين قيمة الخطأ
ResetLastError ()؛
// --- إنشاء علامة
إذا (! ObjectCreate (chart_ID والاسم وOBJ_ARROW_DOWN، sub_window والوقت والسعر))
{
الطباعة (__FUNCTION__،
": فشل في خلق \" سهم لأسفل \ "توقيع رمز الخطأ =!"، يقوم GetlastError ())؛
العودة (كاذبة)؛
}
// --- نوع مرساة
ObjectSetInteger (chart_ID والاسم وOBJPROP_ANCHOR، مرساة)؛
// --- تعيين لون علامة
ObjectSetInteger (chart_ID والاسم وOBJPROP_COLOR، CLR)؛
// --- تعيين نمط خط الحدود
ObjectSetInteger (chart_ID والاسم وOBJPROP_STYLE، على غرار)؛
// --- تعيين حجم علامة
ObjectSetInteger (chart_ID والاسم وOBJPROP_WIDTH، عرض)؛
// --- عرض في المقدمة (كاذبة) أو الخلفية (الحقيقية)
ObjectSetInteger (chart_ID والاسم وOBJPROP_BACK والظهر)؛
// --- تمكين (صحيح) أو تعطيل (كاذبة) واسطة نقل إشارة عن طريق الماوس
// --- عند إنشاء كائن رسومي باستخدام وظيفة ObjectCreate، يمكن للكائن لا يكون
// --- أبرز وانتقلت بشكل افتراضي. داخل هذا الأسلوب، المعلمة اختيار
// --- غير صحيح افتراضيا مما يجعل من الممكن لتسليط الضوء ونقل الكائن
ObjectSetInteger (chart_ID والاسم وOBJPROP_SELECTABLE، واختيار)؛
ObjectSetInteger (chart_ID والاسم وOBJPROP_SELECTED، واختيار)؛
// --- اخفاء (صحيح) أو عرض (كاذبة) اسم الكائن الرسومي في قائمة الكائنات
ObjectSetInteger (chart_ID والاسم وOBJPROP_HIDDEN، مخفية)؛
// --- تعيين أولوية لاستقبال هذا الحدث من النقر بالماوس في الرسم البياني
ObjectSetInteger (chart_ID والاسم وOBJPROP_ZORDER، z_order)؛
// --- التنفيذ الناجح
العودة (صحيح)؛
}
// + ----------------------------------------------- ------------------- +
// | نقل نقطة مرساة |
// + ----------------------------------------------- ------------------- +
منطقي ArrowDownMove (CONST chart_ID طويلة = 0، // ID الرسم البياني لل
CONST اسم سلسلة = "ArrowDown"، // اسم الكائن
التاريخ والوقت الوقت = 0، // الوقت نقطة الربط تنسيق
سعر مزدوج = 0) // سعر نقطة الربط تنسيق
{
// --- إذا لم يتم تعيين موضع نقطة، نقله إلى شريط الحالي وجود المزايدة السعر
إذا (! الوقت)
الوقت = TimeCurrent ()؛
إذا (! السعر)
السعر = SymbolInfoDouble (الرمز ()، SYMBOL_BID)؛
// --- إعادة تعيين قيمة الخطأ
ResetLastError ()؛
// --- نقل نقطة مرساة
إذا (! ObjectMove (chart_ID، اسم، 0، والوقت والسعر))
{
الطباعة (__FUNCTION__،
": فشل في نقل نقطة ربط رمز الخطأ ="، يقوم GetlastError ())؛
العودة (كاذبة)؛
}
// --- التنفيذ الناجح
العودة (صحيح)؛
}
موقف نقطة الربط النسبي لعلامة يمكن اختيارها من ENUM_ARROW_ANCHOR التعداد.
علامات كبيرة (أكثر من 5) لا يمكن إلا أن تنشأ من خلال تحديد المناسبة OBJPROP_WIDTH قيمة العقار عند كتابة التعليمات البرمجية في MetaEditor.
مثال
السيناريو التالي بإنشاء ويتحرك السهم لأسفل علامة على الرسم البياني. وقد وضعت وظائف خاصة لخلق وتغيير خصائص الكائن الرسومي ل. يمكنك استخدام هذه الوظائف "كما هي" في التطبيقات الخاصة بك.
#property صارم
// --- وصف
#property وصف "سيناريو توجه \" صفيف أسفل \ "علامة".
#property وصف "الإحداثيات نقطة مرساة تم تعيينها في"
#property وصف "النسبة المئوية من حجم الإطار المخطط."
// --- نافذة العرض للمعلمات الإدخال خلال إطلاق البرنامج النصي
#property script_show_inputs
// --- معلمات الإدخال من السيناريو
مساهمة سلسلة InpName = "ArrowDown"؛ // تسجيل اسم
مساهمة الباحث InpDate = 75؛ تاريخ نقطة // مرساة في٪
مساهمة الباحث InpPrice = 75؛ بأسعار نقطة // مرساة في٪
مساهمة ENUM_ARROW_ANCHOR InpAnchor = ANCHOR_BOTTOM، نوع // مرساة
مساهمة اللون InpColor = clrRed؛ // تسجيل اللون
مساهمة ENUM_LINE_STYLE InpStyle = STYLE_DOT؛ // نمط الخط الحدود
مساهمة الباحث InpWidth = 5؛ // تسجيل حجم
مساهمة منطقي InpBack = كاذبة؛ // علامة الخلفية
مساهمة منطقي InpSelection = كاذبة؛ // تسليط الضوء على هذه الخطوة
مساهمة منطقي InpHidden = صحيح؛ // المخفية في قائمة الكائنات
مساهمة طويل InpZOrder = 0؛ // الأولوية للنقرة ماوس
// + ----------------------------------------------- ------------------- +
// | انشئ صفيف أسفل علامة |
// + ----------------------------------------------- ------------------- +
منطقي ArrowDownCreate (CONST chart_ID طويلة = 0، // ID الرسم البياني لل
CONST اسم سلسلة = "ArrowDown"، // توقيع اسم
CONST الباحث sub_window = 0، // subwindow مؤشر
الوقت التاريخ والوقت = 0، // الوقت مرساة نقطة
سعر مزدوج = 0، // سعر نقطة الربط
CONST ENUM_ARROW_ANCHOR مرساة = ANCHOR_BOTTOM، // نوع مرساة
CONST لون CLR = clrRed، // اللون علامة
CONST ENUM_LINE_STYLE النمط = STYLE_SOLID، // نمط الخط الحدودي
CONST عرض الباحث = 3، // حجم علامة
CONST منطقي الظهر = كاذبة، // في الخلفية
CONST اختيار منطقي = صحيح، // تسليط الضوء على هذه الخطوة
CONST منطقي خفية = صحيح، // مخبأة في قائمة الكائنات
CONST z_order طويلة = 0) // الأولوية لنقرة ماوس
{
تنسق // --- نقطة مجموعة مرساة إذا لم يتم تعيين أنها
ChangeArrowEmptyPoint (الوقت والسعر)؛
// --- إعادة تعيين قيمة الخطأ
ResetLastError ()؛
// --- إنشاء علامة
إذا (! ObjectCreate (chart_ID والاسم وOBJ_ARROW_DOWN، sub_window والوقت والسعر))
{
الطباعة (__FUNCTION__،
": فشل في خلق \" سهم لأسفل \ "توقيع رمز الخطأ =!"، يقوم GetlastError ())؛
العودة (كاذبة)؛
}
// --- نوع مرساة
ObjectSetInteger (chart_ID والاسم وOBJPROP_ANCHOR، مرساة)؛
// --- تعيين لون علامة
ObjectSetInteger (chart_ID والاسم وOBJPROP_COLOR، CLR)؛
// --- تعيين نمط خط الحدود
ObjectSetInteger (chart_ID والاسم وOBJPROP_STYLE، على غرار)؛
// --- تعيين حجم علامة
ObjectSetInteger (chart_ID والاسم وOBJPROP_WIDTH، عرض)؛
// --- عرض في المقدمة (كاذبة) أو الخلفية (الحقيقية)
ObjectSetInteger (chart_ID والاسم وOBJPROP_BACK والظهر)؛
// --- تمكين (صحيح) أو تعطيل (كاذبة) واسطة نقل إشارة عن طريق الماوس
// --- عند إنشاء كائن رسومي باستخدام وظيفة ObjectCreate، يمكن للكائن لا يكون
// --- أبرز وانتقلت بشكل افتراضي. داخل هذا الأسلوب، المعلمة اختيار
// --- غير صحيح افتراضيا مما يجعل من الممكن لتسليط الضوء ونقل الكائن
ObjectSetInteger (chart_ID والاسم وOBJPROP_SELECTABLE، واختيار)؛
ObjectSetInteger (chart_ID والاسم وOBJPROP_SELECTED، واختيار)؛
// --- اخفاء (صحيح) أو عرض (كاذبة) اسم الكائن الرسومي في قائمة الكائنات
ObjectSetInteger (chart_ID والاسم وOBJPROP_HIDDEN، مخفية)؛
// --- تعيين أولوية لاستقبال هذا الحدث من النقر بالماوس في الرسم البياني
ObjectSetInteger (chart_ID والاسم وOBJPROP_ZORDER، z_order)؛
// --- التنفيذ الناجح
العودة (صحيح)؛
}
// + ----------------------------------------------- ------------------- +
// | نقل نقطة مرساة |
// + ----------------------------------------------- ------------------- +
منطقي ArrowDownMove (CONST chart_ID طويلة = 0، // ID الرسم البياني لل
CONST اسم سلسلة = "ArrowDown"، // اسم الكائن
التاريخ والوقت الوقت = 0، // الوقت نقطة الربط تنسيق
سعر مزدوج = 0) // سعر نقطة الربط تنسيق
{
// --- إذا لم يتم تعيين موضع نقطة، نقله إلى شريط الحالي وجود المزايدة السعر
إذا (! الوقت)
الوقت = TimeCurrent ()؛
إذا (! السعر)
السعر = SymbolInfoDouble (الرمز ()، SYMBOL_BID)؛
// --- إعادة تعيين قيمة الخطأ
ResetLastError ()؛
// --- نقل نقطة مرساة
إذا (! ObjectMove (chart_ID، اسم، 0، والوقت والسعر))
{
الطباعة (__FUNCTION__،
": فشل في نقل نقطة ربط رمز الخطأ ="، يقوم GetlastError ())؛
العودة (كاذبة)؛
}
// --- التنفيذ الناجح
العودة (صحيح)؛
}



Comment
Advanced mode Normal mode