大家好!今天我们来聊聊一个非常实用的指标——背离Awesome Oscillator,它是专为MetaTrader 5设计的,可以帮助我们识别价格行为与Awesome Oscillator (AO)之间的背离。背离现象通常意味着市场可能会出现反转或延续的信号。


指标的主要功能:
背离检测:
- 检测看涨背离(价格创出更低的低点,而AO创出更高的低点)。
- 检测看跌背离(价格创出更高的高点,而AO创出更低的高点)。
可视化:
- 买卖箭头:在图表上绘制箭头,指示基于背离的潜在买入或卖出信号。
- 直方图:以直方图形式展示Awesome Oscillator (AO) 的数值。
- 趋势线:在图表上绘制趋势线,以突出价格与AO之间的背离。
自定义缓冲区:
- 使用四个缓冲区来存储数据:
- BuyBuffer和SellBuffer用于买入/卖出信号。
- HistogramBuffer用于AO数值。
- PointsCounterBuffer用于跟踪确认背离的对齐点。
- 使用四个缓冲区来存储数据:
动态趋势线绘制:
- 使用CChartObjectTrend动态绘制价格与AO的趋势线。
交叉检查:
- 包含一个函数(CheckCrossing)来验证价格或AO是否穿越趋势线,有助于确认或否定背离。
插值计算:
- 使用线性插值(CalculateIntermediateValue)来计算两个点之间的中间值,用于检查交叉情况。
工作原理:
初始化:
- OnInit()函数设置指标缓冲区,分配属性(例如颜色、样式),并初始化Awesome Oscillator (AO) 句柄。
主要计算:
- OnCalculate()函数处理价格和AO数据以检测背离:
- 识别价格和AO中的底部(更低的低点)和顶部(更高的高点)。
- 通过比较价格和AO趋势来检查背离。
- 当确认存在背离时,绘制买入/卖出信号并绘制趋势线。
- OnCalculate()函数处理价格和AO数据以检测背离:
背离确认:
- 使用如IsBullishTrend和IsBearishTrend等条件确认背离。
- 确保价格与AO趋势线之间没有交叉,以验证背离。
动态更新:
- 该指标会随着每个新K线动态更新,重新计算背离并根据需要重新绘制趋势线。
主要功能:
IsBottom()和IsTop():
- 检测数组(价格或AO)中的局部最小值(底部)和最大值(顶部)。
CheckCrossing():
- 检查价格或AO是否穿越趋势线,这可能会使背离失效。
CalculateIntermediateValue():
- 使用线性插值计算趋势线分析的中间值。
AddUniqueCoordinates():
- 确保唯一坐标被添加到数组中以绘制趋势线。
TotalAligned():
- 计算对齐点的数量,以确认背离的强度。
使用方法:
- 这个指标对依赖于背离策略的交易者非常有用,能够帮助识别市场中的潜在反转或延续。
- 它提供了可视化提示(箭头、趋势线和直方图),帮助交易者做出明智的决策。
示例场景:
- 如果价格创出更低的低点(看跌),但AO创出更高的低点(看涨),则会检测到看涨背离。此时指标将绘制买入箭头并绘制趋势线以突出背离。
- 相反,如果价格创出更高的高点(看涨),但AO创出更低的高点(看跌),则会检测到看跌背离。此时指标将绘制卖出箭头并绘制趋势线。
技术细节:
- 平台:MetaTrader 5 (MT5)。
- 语言:MQL5。
- 依赖项:使用Awesome Oscillator (iAO) 进行计算。
- 自定义对象:利用CChartObjectTrend绘制趋势线和CArrayInt管理坐标数组。
这个指标是一个强大的工具,特别适合那些希望自动化背离检测与可视化的交易者,能够节省时间并提高交易策略的准确性。