当前位置:首页 > 量化|编程

【MT5】创建箭头标识函数 OBJ_ARROW

2个月前 (11-19)量化|编程风控哥

调用函数方法:

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);
  }


标签: 量化编程
分享给朋友:

“【MT5】创建箭头标识函数 OBJ_ARROW” 的相关文章

【MT5】格式化显示时间函数 *天 *时 *分 *秒

【MT5】格式化显示时间函数 *天 *时 *分 *秒

具体步骤如下:1.首先检查秒数是否小于等于0,如果是,则直接返回字符串"0"。2.计算天数:将总秒数除以一天的秒数(24 * 3600)并取整。3.计算剩余的小时数:取总秒数对一天的秒数取模,然后除以3600(一小时的秒数)并取整。4.计算剩余的分钟数:取总秒数对一小时的秒数(3…

【MT5】用键盘快捷切换图表周期

【MT5】用键盘快捷切换图表周期

快捷键映射:代码将键盘数字键 1到 9映射到了不同的时间周期。按键码 49到 57分别对应数字键 1到 9。核心函数:ChartSetSymbolPeriod(0, NULL, PERIOD_XXX)是切换周期的关键函数,其中 0表示当前图表,NULL表示当前交易品种,PERIOD_XXX是周期常量…

【MT5】函数 IndicatorCreate()

【MT5】函数 IndicatorCreate()

使用官方函数添加技术指标。int  IndicatorCreate( )…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。