int start---- initialize local variablesdouble R=0;double day_high=0;double day_low=0;double yesterday_high=0;double yesterday_open=0;double yesterday_low=0;double yesterday_close=0;double today_open=
该程序为MetaTrader 4的MQL4语言编写,用于在图表上显示每日支撑位和阻力位。以下是对该程序的详细解析:
- 初始化变量
在程序的开头,声明并初始化了一堆变量,包括每日最高价、最低价、昨日最高价、开盘价、最低价、收盘价、今日开盘价等。还有计算出的每日支撑位和阻力位。这些变量在后面的计算和绘图中会用到。
- 判断图表周期是否大于1天
程序首先判断当前图表的周期是否大于1天,如果是,则输出错误信息并退出程序。这是因为该程序仅适用于日线图,周期大于1天的图表无法计算和绘制每日支撑位和阻力位。
- 获取每日价格数据
将当前品种的日线图数据保存到rates_d1数组中,然后从中获取昨日收盘价、开盘价、最高价、最低价和今日开盘价。这些数据在计算每日支撑位和阻力位时用到。
- 计算每日支撑位和阻力位
根据昨日的最高价和最低价计算出每日价差R,然后根据标准公式计算出每日支撑位和阻力位。具体公式为:
Pivot = (昨日最高价 + 昨日最低价 + 昨日收盘价) / 3 R1 = Pivot + 0.38 * R R2 = Pivot + 0.62 * R S1 = Pivot - 0.38 * R S2 = Pivot - 0.62 * R
- 在图表上绘制每日支撑位和阻力位
通过ObjectCreate函数和ObjectMove函数在图表上绘制每日支撑位和阻力位的水平线和标签。如果已经存在,则移动到正确的位置。同时设置线条的颜色和样式。
- 返回0
程序最后返回0,表示执行成功
原文地址: https://www.cveoy.top/t/topic/e9kq 著作权归作者所有。请勿转载和采集!