خط افقی
برای اینکه یک خط افقی به وسیله اکسپرت یا اندیکاتور داخل چارت بیندازیم باید دو اقدام انجام دهیم:
1- تابع خط افقی را در اکسپرت یا اندیکاتور کپی کنید
//+------------------------------------------------------------------+
//| خط افقی (Horizontal Line) |
//+------------------------------------------------------------------+
bool Horizontal_Line(const long chart_ID=0, // ای دی چارت
const string name="HLine", // اسم خط
const int sub_window=0, // شماره پنجره
double price=0, // قیمت قرار گیری خط
const color clr=clrRed, // رنگ خط
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=1, // اندازه خط
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectCreate(chart_ID,name,OBJ_HLINE,sub_window,0,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width);
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}
else {
Print(__FUNCTION__,
": failed to create => ",name," object! Error code = ",GetLastError());
return(false);
}
}
2- فراخوانی تابع خط افقی و مقدار دهی آن
به تابع خط افقی، 11 ورودی دادیم که رو به روی هر ورودی نوشتهایم چه کاری برای ما انجام میدهد که شما بر حسب نیازتان بتوانید خط دلخواهتان را بکشید.
ولی مقدارهای مناسب را قرار داده ایم و شما فقط کافیه 3 ورودی را به دلخواهتان تغییر بدهید تا خط مد نظرتان کشیده شود.
- اسم خط : برای هر خط باید اسم منحصر به فردی انتخاب کنید.(دو خط نمیتوانند اسم یکسان داشته باشند.)
- قیمت: باید ورودی قیمت را خودتان تعیین کنید.
- رنگ خط : شما میتوانید اسم رنگ مد نظرتان را وارد کنید تا خط به رنگ دلخواهتان کشیده شود.(کافیه که اول اسم رنگ clr را تایپ کنید و سپس اسم رنگ را بنویسید.)
برای فراخوانی، کد زیر را در تابع OnInit کپی کنید.
Horizontal_Line(0,"eurusd",0,1.16466,clrBlue,STYLE_SOLID,2);
شما میتوانید کد بالا را کپی کنید و فقط اسم و قیمت را عوض کنید تا خط مورد نظرتان کشیده بشود.