设为首页 收藏本站 切换语言

量化交易之MQL4篇 - 对象函数的基础应用

| 发表于 2022-12-6 14:57:46 | 显示全部楼层 |复制链接
  1. void OnStart() {
  2.     string vlineObject = "vlineObject";
  3.     string hlineObject = "hlineObject";
  4.     string trendObject = "trendObject";
  5.     string trendbyangleObject = "trendbyangleObject";
  6.     string fiboObject = "fiboObject";
  7.     string textObject = "textObject";
  8.     string labelObject = "labelObject";
  9.     // 创建 垂直线 对象, 参数(sub_window): 0代表在主图上创建对象, 1代表在附图上创建对象
  10.     ObjectCreate(vlineObject, OBJ_VLINE, 0, Time[2], Open[0]);
  11.     // 创建 水平线 对象, 并获得所对应的价格和颜色
  12.     ObjectCreate(hlineObject, OBJ_HLINE, 0, Time[1], Open[1]);
  13.     ObjectSet(hlineObject, OBJPROP_COLOR, clrDarkViolet);
  14.     ObjectSet(hlineObject, OBJPROP_WIDTH, 3);
  15.     double hlinePrice = ObjectGet(hlineObject, OBJPROP_PRICE1);
  16.     color colorValue = ObjectGet(hlineObject, OBJPROP_COLOR);
  17.     Alert("hlinePrice: " + hlinePrice);
  18.     Alert("colorValue: " + colorValue);
  19.     // 创建 趋势线 对象
  20.     ObjectCreate(trendObject, OBJ_TREND, 0, Time[9], Low[9], Time[0], Low[0]);
  21.     ObjectSet(trendObject, OBJPROP_COLOR, clrWhite);
  22.     // 后两个参数: (OBJPROP_RAY, false)代表从点(Time[9], Low[9])开始到点(Time[0], Low[0])的一条线段, (OBJPROP_RAY, true)代表从点(Time[9], Low[9])开始穿过点(Time[0], Low[0])的一条射线
  23.     ObjectSet(trendObject, OBJPROP_RAY, false);
  24.     double trendObjectPrice = ObjectGetValueByShift(trendObject, 0);
  25.     Alert("0号k线上趋势线的值: " + trendObjectPrice);
  26.     // 创建 固定角度的趋势线 对象
  27.     ObjectCreate(trendbyangleObject, OBJ_TRENDBYANGLE, 0, Time[10], Open[10], Time[0], Low[0]);
  28.     ObjectSet(trendbyangleObject, OBJPROP_ANGLE, 30);
  29.     ObjectSet(trendbyangleObject, OBJPROP_COLOR, clrYellow);
  30.     ObjectSet(trendbyangleObject, OBJPROP_RAY, false);
  31.     int angle = ObjectGet(trendbyangleObject, OBJPROP_ANGLE);
  32.     Alert("angle: " + angle);
  33.     // 创建 斐波那契 对象
  34.     ObjectCreate(fiboObject, OBJ_FIBO, 0, Time[9], High[9], Time[0], Low[0]);
  35.     // 创建 text 对象
  36.     ObjectCreate(textObject, OBJ_TEXT, 0, Time[1], High[1]);
  37.     ObjectSetText(textObject, "谢谢", 10, "宋体", Yellow);
  38.     // 创建 label 对象
  39.     ObjectCreate(labelObject, OBJ_LABEL, 0, 10, 10);
  40.     ObjectSet(labelObject, OBJPROP_XDISTANCE, 150);
  41.     ObjectSet(labelObject, OBJPROP_YDISTANCE, 15);
  42.     ObjectSet(labelObject, OBJPROP_CORNER, CORNER_LEFT_UPPER);
  43.     ObjectSetText(labelObject, "你好", 10, "宋体", Yellow);
  44.     delectAllObjects(); // 功能等同于:ObjectsDeleteAll();
  45. }
  46. void delectAllObjects() {
  47.     int total = ObjectsTotal();
  48.     for(int i = total; i>=0; i--) {
  49.       string objectName=ObjectName(i);
  50.       Print(IntegerToString(i) + " |" + objectName);
  51.       ObjectDelete(objectName);
  52.     }
  53.     return;
  54. }
复制代码
如果有帮助,就支持一下我呗
举报

评论 使用道具

精彩评论2

daerwushen
DD
| 发表于 2022-12-6 15:17:30 | 显示全部楼层
绘制图形
举报

点赞 评论 使用道具

dongxu64
DDD
| 发表于 2022-12-15 23:05:03 | 显示全部楼层
虽看不明白,还是支持一下
举报

点赞 评论 使用道具

发新帖
EA交易
您需要登录后才可以评论 登录 | 立即注册

简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)