KCI 嵌入式狙击手是一款专为高精度反转入场而设计的算法交易解决方案。与依赖外部指标(通常会受到线程不同步和延迟影响)的传统专家顾问不同,该专家顾问搭载了完全嵌入式的动能压缩指数(KCI)引擎。
查看KCI指标:KCI标准版
为何称为“嵌入式”?(开发者的优势)
大多数使用自定义指标的EA都依赖于iCustom()调用,这些调用在独立的CPU线程上运行。如果底层指标的计算速度较慢,EA就会错过报价更新。
-
性能: 该EA自行处理KCI矩阵,无需外部文件。这显著降低了内存开销,并确保信号计算与交易执行在同一进程循环中进行。
-
稳定性: 由于KCI逻辑已硬编码在EA内部,您将免受“未找到指标”错误、路径问题或缓冲区读取不同步等常见问题的困扰。
-
零延迟架构: 该EA利用rates_total和内部矩阵数组,仅在需要时进行计算,使其成为多资产组合管理领域中资源占用最轻的EA之一。
致EA开发者: 通过iCustom调用KCI时,请确保您的EA的OnTick处理程序已考虑异步线程加载的情况。
// 异步处理:如果 KCI 仍在计算中,则返回并在下一个时间步长时重试。
// 缓冲区索引 2 = 买入,索引 3 = 卖出,索引 6 = 能量分散
if(CopyBuffer(handle_kci, 2, 1, 1, buf_buy) <= 0) return;
if(CopyBuffer(handle_kci, 3, 1, 1, buf_sell) <= 0) return;
if(CopyBuffer(handle_kci, 6, 1, 1, buf_ed) <= 0) return;
// 仅在数据安全检索完成后锁定条形图显示时间
last_bar_time = current_time;
// 您可以使用 buf_ed(能量分散法)来计算基于波动率的动态止损位。
使用方法与设置
交易与风险管理
-
InpLotSize: 入场时的固定交易量。
-
InpEDMultiplierSL/TP: 这是一项关键功能。 该EA不采用静态点数,而是利用KCI核心中的能量分散(ED) 缓冲区来动态计算止损和止盈水平。如果市场波动剧烈(ED值高),EA会自动扩大止损水平以规避市场噪音;如果市场平静,则会收紧止损水平。
WPR动量过滤器
-
InpWPRPeriod: 动量回溯周期。
-
InpWPRBuyLevel / InpWPRSellLevel: 充当“守门人”。即使KCI检测到市场异常点,只有当WPR确认价格处于极端超卖或超买状态时,EA才会入场,从而大幅提高获胜概率。
KCI 计算核心
-
ZScorePeriod / CompressionThreshold / BasePeriod: 这些参数可让您调整奇点检测的灵敏度。较低的 CompressionThreshold 会使 EA 更加挑剔,仅在市场出现最极端的崩盘时才入场。
进一步开发的建议路线图
该架构仅是一个起点。若要将此“狙击型”交易机器人转型为机构级交易系统,请考虑以下开发路径:
-
多时间周期确认(MTF): 修改 GetEmbeddedKCISignal 函数,要求“奇点”必须同时出现在 H1 和 M15 时间周期上。这将增加一层强大的趋势对齐机制。
-
机器学习过滤器: 内部 KCI 矩阵(VQ、KD、PV)已经过归一化处理。开发者可以轻松将这些值导出到 CSV 文件中,用于训练一个轻量级神经网络(通过 Python 或 MQL5 ONNX),从而用 AI 预测的概率评分取代静态的 CompressionThreshold。
-
自适应波动率缩放: 摒弃固定的 InpLotSize 参数,集成基于本金的风险计算器,该计算器会根据 current_ed(能量分散度)调整仓位规模。这将使 EA 转变为具备专业风险管理功能的工具,在高分散度(混沌)市场中自动降低风险敞口。
-
订单流整合: 将“奇点”信号与实时Tick Volume背离分析相结合。若在成交量下降时检测到奇点,反转的概率将呈指数级增长。
技术实现细节
有兴趣查看代码的开发者应重点关注以下两个关键函数:
-
GetEmbeddedKCISignal(): 这是引擎的核心。它手动计算运动学矩阵(vq、kd、ed、pv),然后遍历 Z-Score 矩阵以检测“V”形谷的形成。
-
开发者提示: 若需自定义“狙击手”逻辑,请在此处修改 is_local_min 和 is_energy_drop 这两个布尔变量。
-
-
OnTick(): 通过 IsNewBar() 函数进行了优化。这确保了 EA 仅在每根 K 线收盘时执行一次复杂计算,从而保证信号经过确认、锁定且不会重绘。
入门指南
只需编译 KCI_WPR_Embedded_Sniper.mq5 文件即可。 无需任何依赖项——您无需编译任何单独的指标文件。这是一个完整且自成体系的系统。将其应用于您首选的货币对后,“Sniper”将立即开始扫描市场动能耗尽点。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/74582
Multi-Timeframe Candle Map
一个教育类MT5面板,它将实时价格垂直映射到四根正在形成的K线内,并汇总显示位置对齐情况、分散程度、K线方向以及剩余时间。
Consecutive Bars (with history)
一个振荡指标,显示4条技术线:1条代表连续上涨K线,1条代表连续下跌K线,1条代表连续上涨K线的平均值,1条代表连续下跌K线的平均值。
KCI Standard: A Pure Kinematic Computing Engine for Market Singularity Detection
动能压缩指数(KCI)是一种专为检测市场疲软和局部压缩事件而设计的自定义振荡指标。 KCI 通过在内部计算其运动学指标,而非依赖外部标准指标参数,从而降低了系统开销,并简化了专家顾问(EA)集成中的缓冲区管理。本文详细介绍了该工具的数学基础、系统架构、缓冲区映射以及实用的集成指南,供希望在 MetaTrader 5 中实现该工具的开发者参考。
离散
离散技术指标由价格和交易量的变化决定。

