该程序为MetaTrader 4的MQL4语言编写,用于在图表上显示每日支撑位和阻力位。以下是对该程序的详细解析:

  1. 初始化变量

在程序的开头,声明并初始化了一堆变量,包括每日最高价、最低价、昨日最高价、开盘价、最低价、收盘价、今日开盘价等。还有计算出的每日支撑位和阻力位。这些变量在后面的计算和绘图中会用到。

  1. 判断图表周期是否大于1天

程序首先判断当前图表的周期是否大于1天,如果是,则输出错误信息并退出程序。这是因为该程序仅适用于日线图,周期大于1天的图表无法计算和绘制每日支撑位和阻力位。

  1. 获取每日价格数据

将当前品种的日线图数据保存到rates_d1数组中,然后从中获取昨日收盘价、开盘价、最高价、最低价和今日开盘价。这些数据在计算每日支撑位和阻力位时用到。

  1. 计算每日支撑位和阻力位

根据昨日的最高价和最低价计算出每日价差R,然后根据标准公式计算出每日支撑位和阻力位。具体公式为:

Pivot = (昨日最高价 + 昨日最低价 + 昨日收盘价) / 3 R1 = Pivot + 0.38 * R R2 = Pivot + 0.62 * R S1 = Pivot - 0.38 * R S2 = Pivot - 0.62 * R

  1. 在图表上绘制每日支撑位和阻力位

通过ObjectCreate函数和ObjectMove函数在图表上绘制每日支撑位和阻力位的水平线和标签。如果已经存在,则移动到正确的位置。同时设置线条的颜色和样式。

  1. 返回0

程序最后返回0,表示执行成功

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=

原文地址: https://www.cveoy.top/t/topic/e9kq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录