توفر واجهة برمجة تطبيقات cTrader Algo الأنواع المطلوبة لإنشاء مؤشرات ترسم المستطيلات والخطوط والمثلثات والسحب والكائنات الأخرى على مخططات التداول. تُستخدم المستطيلات، على وجه الخصوص، على نطاق واسع لتسليط الضوء على الفترات المهمة ومناطق التوحيد ومستويات الدعم/المقاومة.
في هذه المقالة والفيديو المقابل، ستتعلم كيفية رسم مستطيلات تمثل جلسات التداول ومستويات الدعم/المقاومة على مخطط الرمز.
إنشاء مؤشر جلسة التداول
هناك أربع جلسات تداول رئيسية: سيدني وطوكيو ولندن ونيويورك. كل جلسة فريدة من حيث مستويات التقلب والنشاط. من خلال مراقبة الجلسات والتداخلات بينها، يعرف المتداولون متى يتم تداول أصول معينة ويمكنهم الاستفادة من الفرص.
في هذا المثال، نريد إنشاء مؤشر يرسم جلسات التداول على المخطط.
في cTrader Algo، انتقل إلى علامة التبويب المؤشرات وانقر على زر جديد. أدخل اسمًا في حقل النص ثم انقر على إنشاء.
ابدأ بتعديل المؤشر في محرر الكود. أولاً، اجعله مؤشر تراكب.
اكتب الكود لرسم مستطيل يشير إلى جلسة لندن على المخطط.
1234567
TimeSpanlondonOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;TimeSpanlondonClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;Chart.DrawRectangle("London Session ",Server.Time.Date.Add(londonOpen),Chart.TopY,Server.Time.Date.Add(londonClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;
اضغط على Ctrl+B أو انقر على بناء، ثم أضف المؤشر إلى مخطط بالنقر على إضافة نسخة.
يمكن رؤية مستطيل جلسة لندن على المخطط.
عد إلى محرر الكود وأضف الكود لجلسات التداول الثلاث المتبقية.
1 2 3 4 5 6 7 8 91011121314151617181920212223
TimeSpannyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;TimeSpannyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("NY Session ",Server.Time.Date.Add(nyOpen),Chart.TopY,Server.Time.Date.Add(nyClose),Chart.BottomY,Color.FromArgb(50,255,50,0)).IsFilled=true;TimeSpansydneyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;TimeSpansydneyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("Sydney Session ",Server.Time.Date.Add(sydneyOpen).AddDays(-1),Chart.TopY,Server.Time.Date.Add(sydneyClose),Chart.BottomY,Color.FromArgb(50,50,255,0)).IsFilled=true;TimeSpantokyoOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;TimeSpantokyoClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;Chart.DrawRectangle("Tokio Session ",Server.Time.Date.Add(tokyoOpen),Chart.TopY,Server.Time.Date.Add(tokyoClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;
usingSystem;usingcAlgo.API;usingcAlgo.API.Collections;usingcAlgo.API.Indicators;usingcAlgo.API.Internals;namespacecAlgo{[Indicator(AccessRights = AccessRights.None, IsOverlay = true)]publicclassTradingSessions:Indicator{protectedoverridevoidInitialize(){}publicoverridevoidCalculate(intindex){TimeSpanlondonOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;TimeSpanlondonClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Greenwich Standard Time")).TimeOfDay;Chart.DrawRectangle("London Session ",Server.Time.Date.Add(londonOpen),Chart.TopY,Server.Time.Date.Add(londonClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;TimeSpannyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;TimeSpannyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("NY Session ",Server.Time.Date.Add(nyOpen),Chart.TopY,Server.Time.Date.Add(nyClose),Chart.BottomY,Color.FromArgb(50,255,50,0)).IsFilled=true;TimeSpansydneyOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;TimeSpansydneyClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time")).TimeOfDay;Chart.DrawRectangle("Sydney Session ",Server.Time.Date.Add(sydneyOpen).AddDays(-1),Chart.TopY,Server.Time.Date.Add(sydneyClose),Chart.BottomY,Color.FromArgb(50,50,255,0)).IsFilled=true;TimeSpantokyoOpen=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,9,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;TimeSpantokyoClose=TimeZoneInfo.ConvertTimeToUtc(newDateTime(Server.Time.Year,Server.Time.Month,Server.Time.Day,18,0,0),TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")).TimeOfDay;Chart.DrawRectangle("Tokyo Session ",Server.Time.Date.Add(tokyoOpen),Chart.TopY,Server.Time.Date.Add(tokyoClose),Chart.BottomY,Color.FromArgb(50,0,50,255)).IsFilled=true;}}}
أعد بناء المؤشر ثم تحقق من المخطط لرؤية جميع جلسات التداول الممثلة هناك.
إنشاء مؤشر دعم/مقاومة
سنقوم بإنشاء مؤشر يرسم مناطق المقاومة والدعم على الرسم البياني باستخدام الفركتلات.
قم بإنشاء مؤشر جديد باستخدام نفس الخطوات، ولكن قم بتعيين اسم مختلف له.
يتم رسم منطقة مقاومة الفركتل حيث تكون القيمة العالية أعلى من الشمعتين المجاورتين على كل جانب. المنطقة هي المساحة بين الأسعار العالية وأسعار الإغلاق لشمعة الفركتل. تساعد مناطق المقاومة في تحديد المناطق التي قد يتوقف فيها الاتجاه الصعودي وينعكس، مما يؤدي إلى فرص تداول.
قم ببناء المؤشر وأضف نسخة إلى المخطط. يجب أن ترى مناطق الدعم والمقاومة على الرسم البياني.
أوضح هذا المقال كيفية إنشاء مؤشرات بكائنات مفيدة، مثل المستطيلات، والتي يمكن استخدامها لتمثيل جلسات التداول ومستويات الدعم/المقاومة على الرسوم البيانية.