量化软件:赫兹量化比尔威廉姆斯的应用

比尔威廉姆斯指标(Williams Percent Range)是一种具有动量特征的技术分析指标。它用于测量价格接近期间最高(或最低)价值时可能出现的反转情况。该指标计算价格接近最高或最低水平的变化量,与相对于最高(或最低)价值的范围进行比较。如果价格趋近最高价值,以下公式用于计算比尔威廉姆斯指标: 
WPR = (highest high - close) / (highest high - lowest low) * -100
如果价格接近最低价值,计算公式如下:
WPR = (close - lowest low) / (highest high - lowest low) * 100
WPR的取值范围为-100到0和0到100之间。如果WPR接近-100,代表市场处于超卖状态,即市场价格已经跌到底部,可能出现反转机会,应该考虑买入;如果WPR接近100,代表市场处于超买状态,即市场价格已经上涨到最高点,可能出现反转机会,应该考虑卖出。
在EA中使用比尔威廉姆斯指标时,可以使用以下代码创建指标句柄:
//+-------------------------------------------------------------------------- //| Function: iWPR //| Description: This function creates handle for WPR //| Input: symbol - symbol name //| timeframe - timeframe //| period - values averaging period //| //| Output: Handle for WPR //| Return: int //+-------------------------------------------------------------------------- int iWPR( string symbol, // symbol name ENUM_TIMEFRAMES timeframe, // timeframe int period // smoothing period );
在EA中声明输入参数和全局变量以创建指标:
//+------------------------------------------------------------------+ //| TestWPR.mq5 | //| Copyright 2023, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+
property copyright "Copyright 2023, MetaQuotes Ltd."
property link "https://www.mql5.com"
property version "1.00"
//--- enums enum ENUMLINESTATE { LINESTATENONE, // Undefined state LINESTATEUP, // Upward LINESTATEDOWN, // Downward LINESTATETURNUP, // Upward reversal LINESTATETURNDOWN, // Downward reversal LINESTATESTOPUP, // Upward stop LINESTATESTOPDOWN, // Downward stop LINESTATEABOVE, // Above value LINESTATEUNDER, // Below value LINESTATECROSSUP, // Crossing value upwards LINESTATECROSSDOWN, // Crossing value downwards LINESTATETOUCHBELOW, // Touching value from below LINESTATETOUCHABOVE, // Touch value from above LINESTATEEQUALS, // Equal to value }; //--- input parameters input int InpWPRPeriod=14; // WPR averaging period //--- global variables int handle=INVALIDHANDLE; // Indicator handle int inddigits=1; // Number of decimal places in the indicator values string ind_title; // Indicator description
与交易量指标类似,在EA中使用仪表板时,声明全局变量包括面板类文件:
//+------------------------------------------------------------------+ //| TestWPR.mq5 | //| Copyright 2023, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+
property copyright "Copyright 2023, MetaQuotes Ltd."
property link "https://www.mql5.com"
property version "1.00"
//--- includes
include <Dashboard\Dashboard.mqh>
//--- enums enum ENUMLINESTATE { LINESTATENONE, // Undefined state LINESTATEUP, // Upward LINESTATEDOWN, // Downward LINESTATETURNUP, // Upward reversal LINESTATETURNDOWN, // Downward reversal LINESTATESTOPUP, // Upward stop LINESTATESTOPDOWN, // Downward stop LINESTATEABOVE, // Above value LINESTATEUNDER, // Below value LINESTATECROSSUP, // Crossing value upwards LINESTATECROSSDOWN, // Crossing value downwards LINESTATETOUCHBELOW, // Touching value from below LINESTATETOUCHABOVE, // Touch value from above LINESTATEEQUALS, // Equal to value }; //--- input parameters input int InpWPRPeriod=14; // WPR averaging period //--- global variables int handle=INVALIDHANDLE; // Indicator handle int inddigits=1; // Number of decimal places in the indicator values string indtitle; // Indicator description //--- variables for the panel int mousebar_index; // Index of the bar the data is taken from CDashboard *panel=NULL; // Pointer to the panel object
总之,使用指标的现成模板是一种方便的创建自定义程序的方法。本文提供了关于交易量和比尔威廉姆斯指标的现成模板,供交易者在编写EA时使用。同时,仪表板也得到改进,以帮助交易者更清楚地了解指标接收的数据。交易者只需适当地调整指标参数即可开始进一步优化EA。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值