【MT5】创建箭头标识函数 OBJ_ARROW
调用函数方法:
crearFlecha("Bear_Dominanat"+IntegerToString(i),time[i],high[i],clr,226,ANCHOR_BOTTOM,300);
crearFlecha("Bull_Dominanat"+IntegerToString(i),time[i],low[i],clr,225,ANCHOR_TOP,300);函数代码:
//+------------------------------------------------------------------+
//| 创建箭头图形对象函数 |
//+------------------------------------------------------------------+
bool crearFlecha(string nameAux, // 对象名称
datetime timeAux, // 箭头时间坐标
double priceAux, // 箭头价格坐标
color clrAux, // 箭头颜色
int code, // 箭头符号代码(Wingdings字体)
ENUM_ARROW_ANCHOR anchorAux,// 箭头锚点位置
int shift) // 箭头距锚点垂直偏移量
{
const long chart_ID=0; // 图表ID(0表示当前图表)
const string name=nameAux; // 对象名称
const int sub_window=0; // 子窗口索引(0为主窗口)
datetime time=timeAux; // 锚点时间
double price=priceAux; // 锚点价格
const int arrow_code=code; // 箭头代码
const ENUM_ARROW_ANCHOR anchor=anchorAux; // 锚点位置
const color clr_=clrAux; // 颜色
const ENUM_LINE_STYLE style=STYLE_SOLID; // 边框线型
const int width=1; // 箭头大小
const bool back=true; // 显示在背景层
const bool selection=false; // 是否可选择移动
const bool hidden=true; // 在对象列表中隐藏
const long z_order=0; // 鼠标点击优先级
// 创建箭头对象
ObjectCreate(chart_ID,name,OBJ_ARROW,sub_window,time,price);
// 设置箭头符号代码
ObjectSetInteger(chart_ID,name,OBJPROP_ARROWCODE,arrow_code);
// 设置箭头锚点位置
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchorAux);
// 设置箭头颜色
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);
// 设置Z轴顺序(显示层级)
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
// 在锚点基础上再向下偏移50像素
ObjectSetInteger(chart_ID, name, OBJPROP_YDISTANCE, shift); //
return(true);
}
