在水平对象中设置水平位
一些图形对象是使用多个水平位(重复线条)构建的。这些包括:
- Andrews 分叉线 OBJ_PITCHFORK
- Fibonacci 工具:
- OBJ_FIBO 水平位
- 时区 OBJ_FIBOTIMES
- 扇形线 OBJ_FIBOFAN
- 弧线 OBJ_FIBOARC
- 通道 OBJ_FIBOCHANNEL
- 扩展线 OBJ_EXPANSION
MQL5 允许你为这些对象设置水平位特性。这些特性包括它们的数量、颜色、数值和标签。
标识符 |
说明 |
类型 |
---|---|---|
OBJPROP_LEVELS |
水平线数量 |
int |
OBJPROP_LEVELCOLOR |
水平线颜色 |
color |
OBJPROP_LEVELSTYLE |
水平线样式 |
ENUM_LINE_STYLE |
OBJPROP_LEVELWIDTH |
水平线宽度 |
int |
OBJPROP_LEVELTEXT |
水平线描述 |
string |
OBJPROP_LEVELVALUE |
水平线值 |
double |
在调用 ObjectGet和 ObjectSet 函数处理除 OBJPROP_LEVELS 外的所有特性时,需要提供一个额外的修饰符参数,用于指定具体级别编号。
作为示例,我们来看看指标ObjectHighLowFibo.mq5。对于给定的柱形范围(由最后一根柱线的编号 (baroffset) 及其左侧的柱数 (BarCount) 定义),该指标会先查找 High 和Low 价格,然后为这些价格点创建 OBJ_FIBO 对象。随着新柱线的形成,Fibonacci 水平位将向右移动,以贴合更近期的价格。
#property indicator_chart_window
|
对象的直接设置是在辅助函数DrawFibo中完成的。在该函数中,水平位特别采用彩虹色进行绘制,而其样式和粗细则基于相应数值是否为“整数”(无小数部分)来决定。
bool DrawFibo(const string name, const datetime &t[], const double &p[],
|
以下是该对象在图表中的一种可能呈现样式。
带水平位设置的 Fibonacci 对象