文章 "在MQL5中构建自定义市场状态检测系统(第一部分):指标"

 

新文章 在MQL5中构建自定义市场状态检测系统(第一部分):指标已发布:

本文详细介绍了如何使用自相关和波动性等统计方法,在MQL5中创建一个市场状态检测系统。文中提供了用于分类趋势、盘整和波动行情的类代码,以及一个自定义指标。

在深入探讨实现细节之前,理解市场状态是什么以及它们为何对交易者至关重要,这一点十分关键。市场并非随时间推移而表现一致,相反,它们会在不同的行为形态或“状态”之间转换。这些状态会显著影响价格的走势,进而影响交易策略的表现。

什么是市场状态?

市场状态是指具有特定价格波动统计特性的独特市场行为模式。尽管有多种方式对市场状态进行分类,但是我们将重点关注对交易策略开发最具相关性的三种主要类型:
  1. 趋势型状态:市场表现出强劲的单向走势,均值回归现象极少。价格倾向于持续向一个方向移动,回调幅度较浅。从统计角度来看,趋势型市场表现出收益的正自相关性,这意味着某一方向的价格走势很可能随后会出现相同方向的走势。
  2. 盘整型状态:市场在支撑位和阻力位之间振荡,具有强烈的均值回归倾向。价格倾向于在明确的边界之间波动,而非向任一方向突破。从统计角度来看,盘整型市场表现出收益的负向自相关性,这就意味着向上走势很可能随后会出现向下走势,反之亦然。
  3. 波动型状态:市场经历大幅、不规则的价格波动,方向不明。这些状态类型通常出现在市场不确定性、新闻事件或市场压力时期。从统计角度来看,波动型状态表现出收益的高标准差,且自相关模式难以预测。

了解市场当前所处的状态类型,可为交易决策提供关键的背景信息。针对趋势型市场优化的策略,在盘整条件下可能表现不佳,而针对盘整型市场设计的均值回归策略,在强劲趋势期间可能会带来灾难性后果。


作者:Sahil Bagdi

 
您的代码无法编译.... 缺少 IsStrongSignal(value) ...
 
Robert Angers #:
您的代码无法编译.... 缺少 IsStrongSignal(value) ...

您指的是哪个文件?

 

当我尝试编译时,市场制度指标有 24 个错误和 1 个警告:

'MarketRegimeIndicator.mq5' 1

file 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeEnum.mqh' not found MarketRegimeIndicator.mq5 14 11

file 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeDetector.mqh' not found MarketRegimeIndicator.mq5 15 11

'CMarketRegimeDetector' - unexpected token, probably type is missing? MarketRegimeIndicator.mq5 29 1

'*' - 预期分号 MarketRegimeIndicator.mq5 29 23

'Detector' - 未声明标识符 MarketRegimeIndicator.mq5 64 5

'CMarketRegimeDetector' - 声明无类型 MarketRegimeIndicator.mq5 64 20

'CMarketRegimeDetector' - 期望的类类型 MarketRegimeIndicator.mq5 64 20

函数未定义 MarketRegimeIndicator.mq5 64 20

'new' - 'void' 类型的表达式非法 MarketRegimeIndicator.mq5 64 16

'=' - 非法操作使用 MarketRegimeIndicator.mq5 64 14

'Detector' - 未声明的标识符 MarketRegimeIndicator.mq5 65 8

'==' - 非法操作使用 MarketRegimeIndicator.mq5 65 17

'Detector' - 未声明的标识符 MarketRegimeIndicator.mq5 72 5

探测器'--未声明的标识符 MarketRegimeIndicator.mq5 73 5

'Detector' - undeclared identifier MarketRegimeIndicator.mq5 74 5

'Detector' - 未声明的标识符 MarketRegimeIndicator.mq5 101 9

';' - 意外标记 MarketRegimeIndicator.mq5 103 68

'(' - 左括号不平衡 MarketRegimeIndicator.mq5 101 7

发现空受控 语句 MarketRegimeIndicator.mq5 103 68

'Detector' - 未声明的标识符 MarketRegimeIndicator.mq5 133 8

'!=' - 非法操作使用 MarketRegimeIndicator.mq5 133 17

'Detector' - 未声明标识符 MarketRegimeIndicator.mq5 135 16

'探测器'-预期的对象指针 MarketRegimeIndicator.mq5 135 16

'Detector' - 未声明的标识符 MarketRegimeIndicator.mq5 136 9

'=' - 非法操作使用 MarketRegimeIndicator.mq5 136 18

24 个错误,1 个警告 25 2


 
Rau Heru #:

当我尝试编译时,市场制度指标有 24 个错误和 1 个警告:

MarketRegimeIndicator.mq5' 1

file 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeEnum.mqh' not found MarketRegimeIndicator.mq5 14 11

file 'C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\MarketRegimeDetector.mqh' not found MarketRegimeIndicator.mq5 15 11

该指标会在C:\Users\rauma\AppData\Roaming\MetaQuotes\Terminal\10CE948A1DFC9A8C27E56E827008EBD4\MQL5\Include\ 文件夹中搜索这些文件。

#property copyright "Sahil Bagdi"
#property link      "https://www.mql5.com/zh/users/sahilbagdi"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_plots   3

// 包括市场机制检测器
#include <MarketRegimeEnum.mqh>
#include <MarketRegimeDetector.mqh>
 
Sahil Bagdi #:

您指的是哪个文件?

MarketRegimeDetector.mqh

第 472 行

我想您指的是

IsStrongSignal' - 未声明的标识符 MarketRegimeDetector.mqh 472 16

strategySignal' - 某些运算符 MarketRegimeDetector.mqh 472 31