کار با فایل در جلسه دوازدهم دوره پیشرفته
در جلسه دوازدهم دوره پیشرفته آموزش اکسپرت از سری آموزش اکسپرت کار با فایل رو یاد می گیریم. محبوب ترین فایل های مورد استفاده در mql که کاربرد دارد از جمله text، csv، html می باشد. text برای word و یا wordpad استفاده می شود.
فایل csv برای اکسل انجام می شود. برای اینکه برنامه هاشونو به اکسل متصل کنند یا از اکسل بخونند باید فایلای پسوند csv کار کنند. همچنین پسوند htm برای استفاده از مروگرها استفاده می شود.
//+------------------------------------------------------------------+
//| خط عمودی (Vertical Line) |
//+------------------------------------------------------------------+
bool Vertical_Line(const long chart_ID=0,// ای دی چارت
const string name="VLine", // اسم خط
const int sub_window=0, // شماره پنجره
datetime time=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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_VLINE,sub_window,time,0))
{
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);
}
}
}
//+------------------------------------------------------------------+
//| خط افقی (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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
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);
}
}
}
//+------------------------------------------------------------------+
//| خط ترند (Trend Line) |
//+------------------------------------------------------------------+
bool Trend_Line(const long chart_ID=0,// ای دی چارت
const string name="TrendLine", // اسم خط
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نفطه قیمت
datetime time2=0, // دومین نقطه زمان
double price2=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 ray_right=false, // ادامه دار بودن خط
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_TREND,sub_window,time1,price1,time2,price2))
{
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| خط ترند با زاویه(Trend Line By Angle) |
//+------------------------------------------------------------------+
bool Trend_Line_By_Angle(const long chart_ID=0,// ای دی چارت
const string name="TrendLine", // اسم خط
const int sub_window=0, // شماره پنجره
datetime time=0, // اولین نقطه زمان
double price=0, // اولین نفطه قیمت
const double angle=45.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 ray_right=true, // ادامه دار بودن خط
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
datetime time2=0;
double price2=0;
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_TRENDBYANGLE,sub_window,time,price,time2,price2))
{
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| خط چرخه(Cycle Lines) |
//+------------------------------------------------------------------+
bool Cycle_Lines(const long chart_ID=0,// ای دی چارت
const string name="Cycles", // اسم خط
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نفطه قیمت
datetime time2=0, // دومین نقطه زمان
double price2=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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_CYCLES,sub_window,time1,price1,time2,price2))
{
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);
}
}
}
//+------------------------------------------------------------------+
//| کانال(Equidistant Channel) |
//+------------------------------------------------------------------+
bool Equidistant_Channel(const long chart_ID=0,// ای دی چارت
const string name="Channel", // اسم کانال
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نفطه قیمت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
datetime time3=0, // سومین نقطه زمان
double price3=0, // سومین نقطه قیمت
const color clr=clrRed, // رنگ کانال
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل کنال
const int width=1, // اندازه خط کانال
const bool fill=false, // پر کردن کانال با رنگ
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool ray_right=false, // ادامه دار بودن کانال
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_CHANNEL,sub_window,time1,price1,time2,price2,time3,price3))
{
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| کانال استاندارد(Standard Deviation Channel) |
//+------------------------------------------------------------------+
bool Standard_Deviation_Channel(const long chart_ID=0,// ای دی چارت
const string name="Channel", // اسم کانال
const int sub_window=0, // شماره پنجره
datetime time1=0, // اول نقطه کانال زمان
datetime time2=0, // دومین نقطه کانال زمان
const double deviation=1.0, // فاصله خطوط
const color clr=clrRed, // رنگ کانال
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خطوط کانال
const int width=1, // اندازه خط کانال
const bool fill=false, // پر کردن کانال با رنگ
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool ray_right=false, // ادامه دار بودن کانال
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_DEVIATION,deviation);
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_STDDEVCHANNEL,sub_window,time1,0,time2,0))
{
ObjectSetDouble(chart_ID,name,OBJPROP_DEVIATION,deviation);
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| کانال رگرسیون(Linear Regression Channel) |
//+------------------------------------------------------------------+
bool Linear_Regression_Channel(const long chart_ID=0,// ای دی چارت
const string name="Regression", // اسم کانال
const int sub_window=0, // شماره پنجره
datetime time1=0, // اول نقطه کانال زمان
datetime time2=0, // دومین نقطه کانال زمان
const color clr=clrRed, // رنگ کانال
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خطوط کانال
const int width=1, // اندازه خط کانال
const bool fill=false, // پر کردن کانال با رنگ
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool ray_right=false, // ادامه دار بودن کانال
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_REGRESSION,sub_window,time1,0,time2,0))
{
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| چنگال اندرو(Andrews Pitchfork) |
//+------------------------------------------------------------------+
bool Andrews_Pitchfork(const long chart_ID=0,// ای دی چارت
const string name="Pitchfork", // اسم چنگال
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
datetime time3=0, // سومین نقطه زمان
double price3=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 ray_right=false, // ادامه دار بودن
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_PITCHFORK,sub_window,time1,price1,time2,price2,time3,price3))
{
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| خط گن(Gann Line) |
//+------------------------------------------------------------------+
bool Gann_Line(const long chart_ID=0,// ای دی چارت
const string name="GannLine", // اسم خط
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
const double angle=1.0, // زاویه
const double scale=1.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 ray_right=true, // ادامه دار بودن
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_GANNLINE,sub_window,time1,price1,time2,0))
{
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| گن فان(Gann Fan) |
//+------------------------------------------------------------------+
bool Gann_Fan(const long chart_ID=0,// ای دی چارت
const string name="GannFan", // اسم گن
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
const double scale=1.0, // مقیاس
const bool direction=true, //جهت روند(درست= سعودی ، نادرست = نزولی)
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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
ObjectSetInteger(chart_ID,name,OBJPROP_DIRECTION,direction);
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{
if(ObjectCreate(chart_ID,name,OBJ_GANNFAN,sub_window,time1,price1,time2,0))
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
ObjectSetInteger(chart_ID,name,OBJPROP_DIRECTION,direction);
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);
}
}
}
//+------------------------------------------------------------------+
//| شبکه گن(Gann Grid) |
//+------------------------------------------------------------------+
bool Gann_Grid(const long chart_ID=0,// ای دی چارت
const string name="GannGrid", // اسم گن
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
const double scale=1.0, // مقیاس
const bool direction=true, // جهت روند(درست= سعودی ، نادرست = نزولی)
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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
ObjectSetInteger(chart_ID,name,OBJPROP_DIRECTION,direction);
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{
if(ObjectCreate(chart_ID,name,OBJ_GANNGRID,sub_window,time1,price1,time2,0))
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
ObjectSetInteger(chart_ID,name,OBJPROP_DIRECTION,direction);
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);
}
}
}
//+------------------------------------------------------------------+
//| فیبوناچی Retracement(Fibonacci Retracement) |
//+------------------------------------------------------------------+
bool Fibonacci_Retracement(const long chart_ID=0,// ای دی چارت
const string name="FiboLevels", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=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 ray_right=false, // ادامه دار بودن
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_FIBO,sub_window,time1,price1,time2,price2))
{
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| فیبوناچی زمانی (Fibonacci Time Zones) |
//+------------------------------------------------------------------+
bool Fibonacci_Time_Zones(const long chart_ID=0,// ای دی چارت
const string name="FiboTimes", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_FIBOTIMES,sub_window,time1,price1,time2,price2))
{
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);
}
}
}
//+------------------------------------------------------------------+
//| فیبوناچی فن (Fibonacci Fan) |
//+------------------------------------------------------------------+
bool Fibonacci_Fan(const long chart_ID=0, // ای دی چارت
const string name="FiboFan", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_FIBOFAN,sub_window,time1,price1,time2,price2))
{
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);
}
}
}
//+------------------------------------------------------------------+
//|فیبوناچی آرنج (Fibonacci Arcs) |
//+------------------------------------------------------------------+
bool Fibonacci_Arcs(const long chart_ID=0,// ای دی چارت
const string name="FiboArc", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
const double scale=1.0, // مقیاس
const bool full_ellipse=false, // شکل قوس (درست = کامل ، نادرست = نیم)
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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
ObjectSetInteger(chart_ID,name,OBJPROP_ELLIPSE,full_ellipse);
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{
if(ObjectCreate(chart_ID,name,OBJ_FIBOARC,sub_window,time1,price1,time2,price2))
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,scale);
ObjectSetInteger(chart_ID,name,OBJPROP_ELLIPSE,full_ellipse);
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);
}
}
}
//+------------------------------------------------------------------+
//|کانال فیبوناچی(Fibonacci Channe) |
//+------------------------------------------------------------------+
bool Fibonacci_Channe(const long chart_ID=0,// ای دی چارت
const string name="FiboChannel", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
datetime time3=0, // سومین نقطه زمان
double price3=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 ray=false, // ادامه خط
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY,ray);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_FIBOCHANNEL,sub_window,time1,price1,time2,price2,time3,price3))
{
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_RAY,ray);
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);
}
}
}
//+------------------------------------------------------------------+
//|فیبوناچی گسترشی(Fibonacci Expansion) |
//+------------------------------------------------------------------+
bool OBJ_FIBOFibo_Expansion(const long chart_ID=0,// ای دی چارت
const string name="FiboExpansion", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
datetime time3=0, // سومین نقطه زمان
double price3=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 ray_right=false, // ادامه خط
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
ChartRedraw();
return(true);
}else{
if(ObjectCreate(chart_ID,name,OBJ_EXPANSION,sub_window,time1,price1,time2,price2,time3,price3))
{
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_RAY_RIGHT,ray_right);
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);
}
}
}
//+------------------------------------------------------------------+
//| مستطیل(Rectangle) |
//+------------------------------------------------------------------+
bool Rectangle(const long chart_ID=0,// ای دی چارت
const string name="Rectangle", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خطها
const int width=1, // اندازه خطها
const bool fill=false, // تو پر یا خالی بودن مستطیل
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_RECTANGLE,sub_window,time1,price1,time2,price2))
{
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);
}
}
}
//+------------------------------------------------------------------+
//| مثلث(Triangle) |
//+------------------------------------------------------------------+
bool Triangle(const long chart_ID=0,// ای دی چارت
const string name="Triangle", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
datetime time3=0, // سومین نقطه زمان
double price3=0, // سومین نقطه قیمت
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خطها
const int width=1, // اندازه خطها
const bool fill=false, // تو پر یا خالی بودن مثلث
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_TRIANGLE,sub_window,time1,price1,time2,price2,time3,price3))
{
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);
}
}
}
//+------------------------------------------------------------------+
//| بیضی(Ellipse) |
//+------------------------------------------------------------------+
bool Ellipse(const long chart_ID=0,// ای دی چارت
const string name="Ellipse", // اسم
const int sub_window=0, // شماره پنجره
datetime time1=0, // اولین نقطه زمان
double price1=0, // اولین نقطه قمیت
datetime time2=0, // دومین نقطه زمان
double price2=0, // دومین نقطه قیمت
double ellipse_scale=0, // نسبت مقیاس بیضی
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خطها
const int width=1, // اندازه خطها
const bool fill=false, // تو پر یا خالی بودن بیضی
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,ellipse_scale);
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{
if(ObjectCreate(chart_ID,name,OBJ_ELLIPSE,sub_window,time1,price1,time2,price2))
{
ObjectSetDouble(chart_ID,name,OBJPROP_SCALE,ellipse_scale);
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);
}
}
}
//+------------------------------------------------------------------+
//|شست بالا(Thumbs Up) |
//+------------------------------------------------------------------+
bool Thumb_Up(const long chart_ID=0,// ای دی چارت
const string name="ThumbUp", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نفطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=3, // اندازه
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_THUMB_UP,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| شست پایین(Thumbs Down) |
//+------------------------------------------------------------------+
bool Thumb_Down(const long chart_ID=0,// ای دی چارت
const string name="ThumbDown", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نفطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=3, // اندازه
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_THUMB_DOWN,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| فلش بالا(Arrow Up) |
//+------------------------------------------------------------------+
bool Arrow_Up(const long chart_ID=0,// ای دی چارت
const string name="ArrowUp", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نفطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=3, // اندازه
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_UP,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| فلش پایین(Array Down) |
//+------------------------------------------------------------------+
bool Arrow_Down(const long chart_ID=0,// ای دی چارت
const string name="ArrowDown", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نفطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=3, // اندازه
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_DOWN,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| نشان ایست(Stop Sign) |
//+------------------------------------------------------------------+
bool Stop_Sign(const long chart_ID=0,// ای دی چارت
const string name="ArrowStop", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نفطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=3, // اندازه
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_STOP,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| نشان تیک(Check Sign) |
//+------------------------------------------------------------------+
bool Check_Sign(const long chart_ID=0,// ای دی چارت
const string name="ArrowCheck", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نفطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط
const int width=3, // اندازه
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_CHECK,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| برچسب چپ قیمت(Left Price Label) |
//+------------------------------------------------------------------+
bool Left_Price_Label(const long chart_ID=0,//ای دی چارت
const string name="LeftPrice", // اسم
const int sub_window=0, // شماره پنجره
datetime time=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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_LEFT_PRICE,sub_window,time,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);
}
}
}
//+------------------------------------------------------------------+
//| برچسب قیمت راست(Right Price Label) |
//+------------------------------------------------------------------+
bool Right_Price_Label(const long chart_ID=0,//ای دی چارت
const string name="RightPrice", // اسم
const int sub_window=0, // شماره پنجره
datetime time=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(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_RIGHT_PRICE,sub_window,time,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);
}
}
}
//+------------------------------------------------------------------+
//| نشانه خرید(Buy Sign) |
//+------------------------------------------------------------------+
bool Buy_Sign(const long chart_ID=0,//ای دی چارت
const string name="ArrowBuy", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const color clr=C'3,95,172', // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل (وقتی برجسته شود)
const int width=1, // سایز (وقتی برجسته شود)
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_BUY,sub_window,time,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);
}
}
}
//+------------------------------------------------------------------+
//| نشانه فروش(Sell Sign) |
//+------------------------------------------------------------------+
bool Sell_Sign(const long chart_ID=0,//ای دی چارت
const string name="ArrowSell", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const color clr=C'3,95,172', // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل (وقتی برجسته شود)
const int width=1, // سایز (وقتی برجسته شود)
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW_SELL,sub_window,time,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);
}
}
}
//+------------------------------------------------------------------+
//| فلش(Arrow) |
//+------------------------------------------------------------------+
bool Arrow(const long chart_ID=0,// ای دی چارت
const string name="Arrow", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const uchar arrow_code=252, // کد ابجیکت
const ENUM_ARROW_ANCHOR anchor=ANCHOR_BOTTOM, // نقطه اتکا
const color clr=clrRed, // رنگ
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل خط کادر
const int width=3, // سایز
const bool back=false, // قرار گرفتن در پشت
const bool selection=true, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_ARROWCODE,arrow_code);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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{
if(ObjectCreate(chart_ID,name,OBJ_ARROW,sub_window,time,price))
{
ObjectSetInteger(chart_ID,name,OBJPROP_ARROWCODE,arrow_code);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
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);
}
}
}
//+------------------------------------------------------------------+
//| متن(Text) |
//+------------------------------------------------------------------+
bool Text(const long chart_ID=0,// ای دی چارت
const string name="Text", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قمیت
const string text="Text", // متن
const string font="Arial", // فونت
const int font_size=10, // اندازه فونت
const color clr=clrRed, // رنگ
const double angle=0.0, // زاویه نوشته
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // نقطه اتکا
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
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{
if(ObjectCreate(chart_ID,name,OBJ_TEXT,sub_window,time,price))
{
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
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);
}
}
}
//+------------------------------------------------------------------+
//| اتیکت(Label) |
//+------------------------------------------------------------------+
bool Label(const long chart_ID=0,// ای دی چارت
const string name="Label", // اسم
const int sub_window=0, // شماره پنجره
const int x=0, // X فاصله محور
const int y=0, // Y فاصله محور
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // انتخاب گوشه چارت
const string text="Label", // متن
const string font="Arial", // فونت
const int font_size=10, // اندازه فونت
const color clr=clrRed, // رنگ
const double angle=0.0, // زاویه نوشته
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // نقطه اتکا نوشته
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
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{
if(ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
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);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
/*
برای انتخاب گوشه یکی از این چهار نوع میتواند انتهاب شود
CORNER_LEFT_UPPER سمت چپ بالا
CORNER_LEFT_LOWER سمت چپ پایین
CORNER_RIGHT_LOWER سمت راست پایین
CORNER_RIGHT_UPPER سمت راست بالا
برای نقاط اتکا میتوانید یکی از موارد زیر انتخاب شود
ANCHOR_LEFT_UPPER چپ بالا
ANCHOR_LEFT چپ
ANCHOR_LEFT_LOWER چپ پایین
ANCHOR_LOWER پایین
ANCHOR_RIGHT_LOWER راست پایین
ANCHOR_RIGHT راست
ANCHOR_RIGHT_UPPER راست بالا
ANCHOR_UPPER بالا
ANCHOR_CENTER مرکز
*/
//+------------------------------------------------------------------+
//| دکمه(Button) |
//+------------------------------------------------------------------+
bool Button(const long chart_ID=0,// ای دی چارت
const string name="Button", // اسم
const int sub_window=0, // شماره پنجره
const int x=0, // X فاصله محور
const int y=0, // Y فاصله محور
const int width=50, // عرض دکمه
const int height=18, // ارتفاع دکمه
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // انتخاب گوشه چارت
const string text="Button", // نوشته درون دکمه
const string font="Arial", // فونت
const int font_size=10, // سایز فونت
const color clr=clrBlack, // رنگ نوشته
const color back_clr=C'236,233,216', // رنگ دکمه
const color border_clr=clrNONE, // رنگ کادر دکمه
const bool state=false, // حالت دکمه ،کلیک شده / کلیک نشده
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
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{
if(ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0))
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
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);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
/*
برای انتخاب گوشه یکی از این چهار نوع میتواند انتهاب شود
CORNER_LEFT_UPPER سمت چپ بالا
CORNER_LEFT_LOWER سمت چپ پایین
CORNER_RIGHT_LOWER سمت راست پایین
CORNER_RIGHT_UPPER سمت راست بالا
*/
//+------------------------------------------------------------------+
//| تصویر(Bitmap) |
//+------------------------------------------------------------------+
bool Bitmap(const long chart_ID=0,// ای دی چارت
const string name="Bitmap", // اسم
const int sub_window=0, // شماره پنجره
datetime time=0, // نقطه زمان
double price=0, // نقطه قیمت
const string file="", // ادرس عکس
const int width=10, // عرض
const int height=10, // ارتفاع
const int x_offset=0, // X فاصله از محوره
const int y_offset=0, // Y فاصله از محوره
const color clr=clrRed, // رنگ کادر (زمان کلیک)
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل کادر(زمان کلیک)
const int point_width=1, // اندازه نقطه حرکت
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=false,// مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,file);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_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{
if(ObjectCreate(chart_ID,name,OBJ_BITMAP,sub_window,time,price))
{
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,file);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_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);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
/*
ادرس عکس به صورت زیر نوشته میشود
عکس حتما باید با بسوند بی ام پی باشد
\\Images\\images.bmp
*/
//+------------------------------------------------------------------+
//| تصویر از نوع تیکت(Bitmap Label) |
//+------------------------------------------------------------------+
bool Bitmap_Label(const long chart_ID=0,// ای دی چارت
const string name="BmpLabel", // اسم
const int sub_window=0, // شماره پنجره
const int x=0, // X مختصات
const int y=0, // Y مختصات
const string file_on="", // عکس زمان روشن
const string file_off="", // عکس زمان خواموش
const int width=0, // عرض
const int height=0, // ارتفاع
const int x_offset=10, // X فاصله از محوره
const int y_offset=10, // Y فاصله از محوره
const bool state=false, // کلیک شده / کلیک نشده
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // انتخاب گوشه چارت
const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // نقطه اتکا
const color clr=clrRed, // رنگ کادر (زمان کلیک)
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل کادر(زمان کلیک)
const int point_width=1, // اندازه نقطه حرکت
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on);
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off);
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_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{
if(ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0))
{
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on);
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off);
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_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);
}
}
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
/*
ادرس عکس به صورت زیر نوشته میشود
عکس حتما باید با بسوند بی ام پی باشد
\\Images\\images.bmp
برای انتخاب گوشه یکی از این چهار نوع میتواند انتخاب شود
CORNER_LEFT_UPPER سمت چپ بالا
CORNER_LEFT_LOWER سمت چپ پایین
CORNER_RIGHT_LOWER سمت راست پایین
CORNER_RIGHT_UPPER سمت راست بالا
برای نقاط اتکا میتوانید یکی از موارد زیر انتخاب شود
ANCHOR_LEFT_UPPER چپ بالا
ANCHOR_LEFT چپ
ANCHOR_LEFT_LOWER چپ پایین
ANCHOR_LOWER پایین
ANCHOR_RIGHT_LOWER راست پایین
ANCHOR_RIGHT راست
ANCHOR_RIGHT_UPPER راست بالا
ANCHOR_UPPER بالا
ANCHOR_CENTER مرکز
*/
//+------------------------------------------------------------------+
//| کادر نوشته(Edit) |
//+------------------------------------------------------------------+
bool Edit(const long chart_ID=0,// ای دی چارت
const string name="Edit", // اسم
const int sub_window=0, // شماره پنجره
const int x=0, // X مختصات
const int y=0, // Y مختصات
const int width=50, // عرض
const int height=18, // ارتفاع
const string text="Text", // متن
const string font="Arial", // فونت
const int font_size=10, // اندازه فونت
const ENUM_ALIGN_MODE align=ALIGN_CENTER, // نوع تراز
const bool read_only=false, // فقط قابل خواندن
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // انتخاب گوشه چارت
const color clr=clrBlack, // رنگ نوشته
const color back_clr=clrWhite, // رنگ پشن نوشته
const color border_clr=clrNONE, // رنگ کادر
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetInteger(chart_ID,name,OBJPROP_ALIGN,align);
ObjectSetInteger(chart_ID,name,OBJPROP_READONLY,read_only);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
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{
if(ObjectCreate(chart_ID,name,OBJ_EDIT,sub_window,0,0))
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
ObjectSetInteger(chart_ID,name,OBJPROP_ALIGN,align);
ObjectSetInteger(chart_ID,name,OBJPROP_READONLY,read_only);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
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);
}
}
}
//+------------------------------------------------------------------+
//| رویداد(Event) |
//+------------------------------------------------------------------+
bool Event(const long chart_ID=0,// ای دی چارت
const string name="Event", // اسم
const int sub_window=0, // شماره پنجره
const string text="Text", // متن
datetime time=0, // نقطه زمان
const color clr=clrRed, // رنگ
const int width=1, // اندازه(زمان انتخاب)
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
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{
if(ObjectCreate(chart_ID,name,OBJ_EVENT,sub_window,time,0))
{
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
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);
}
}
}
//+------------------------------------------------------------------+
//| مستطیل گرافیکی(Rectangle label) |
//+------------------------------------------------------------------+
bool Rectangle_label(const long chart_ID=0, // ای دی چارت
const string name="RectLabel", // اسم
const int sub_window=0, // شماره پنجره
const int x=0, // X مختصات
const int y=0, // Y مختصات
const int width=50, // عرض
const int height=18, // ارتفاع
const color back_clr=C'236,233,216', // رنگ پس زمینه
const ENUM_BORDER_TYPE border=BORDER_SUNKEN, // نوع خط کادر
const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // انتخاب گوشه چارت
const color clr=clrRed, // رنگ کادر
const ENUM_LINE_STYLE style=STYLE_SOLID, // استایل کادر
const int line_width=1, // اندازه کادر
const bool back=false, // قرار گرفتن در پشت
const bool selection=false, // قابلیت حرکت
const bool hidden=true, // مخفی شدن از لیست
const long z_order=0) // اولویت برای کلیک ماوس
{
ResetLastError();
if(ObjectFind(name)==sub_window) // در صورت وجود داشتن ابجیکت
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,line_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{
if(ObjectCreate(chart_ID,name,OBJ_RECTANGLE_LABEL,sub_window,0,0))
{
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border);
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,line_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);
}
}
}
//+------------------------------------------------------------------+