mql5-indicator-patterns by terrylica/cc-skills
npx skills add https://github.com/terrylica/cc-skills --skill mql5-indicator-patterns经过实战检验的模式,用于创建自定义 MQL5 指标,具备正确的显示、缓冲区管理和实时更新功能。
在以下情况下使用此技能:
显示刻度 (适用于小于 1.0 的小数值):
IndicatorSetDouble(INDICATOR_MINIMUM, 0.0);
IndicatorSetDouble(INDICATOR_MAXIMUM, 0.1);
缓冲区设置 (可见 + 隐藏):
SetIndexBuffer(0, BufVisible, INDICATOR_DATA); // 可见
SetIndexBuffer(1, BufHidden, INDICATOR_CALCULATIONS); // 隐藏
新 K 线检测 (防止偏移):
static int last_processed_bar = -1;
bool is_new_bar = (i > last_processed_bar);
预热计算 :
int StartCalcPosition = underlying_warmup + own_warmup;
PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, StartCalcPosition);
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
空白显示 :设置明确的刻度 (参见显示刻度参考)
滚动窗口偏移 :使用带有隐藏缓冲区的新 K 线检测 (参见重新计算参考)
错位的绘图 :计算正确的 PLOT_DRAW_BEGIN (参见完整模板参考)
正向索引数组 :始终设置 ArraySetAsSeries(buffer, false)
适用于生产环境的 MQL5 指标 :
这些模式解决了实际 MT5 开发中最常见的指标开发问题。
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 指标窗口空白 | 未为小数值设置刻度 | 显式设置 INDICATOR_MINIMUM/MAXIMUM |
| 数值随时间偏移 | 滚动窗口未重置 | 使用带有隐藏缓冲区的新 K 线检测 |
| 绘图起点错位 | PLOT_DRAW_BEGIN 错误 | 计算:underlying_warmup + own_warmup |
| 数组索引反向 | 启用了序列模式 | 调用 ArraySetAsSeries(buffer, false) |
| 缓冲区数值不正确 | INDICATOR_DATA 类型错误 | 对隐藏缓冲区使用 INDICATOR_CALCULATIONS |
| 缓冲区编译错误 | 缓冲区数量不匹配 | 使 #property indicator_buffers 与 SetIndexBuffer 匹配 |
| 指标不更新 | OnCalculate 返回错误 | 返回 rates_total 以表示计算成功 |
| 性能问题 | 重新计算所有 K 线 | 仅从 prev_calculated 开始重新计算 |
详细信息请参阅:
每周安装量
131
代码仓库
GitHub 星标数
22
首次出现
2026年1月24日
安全审计
安装于
opencode122
gemini-cli120
github-copilot117
codex116
cursor115
amp112
Battle-tested patterns for creating custom MQL5 indicators with proper display, buffer management, and real-time updates.
Use this skill when:
Display Scale (for small values < 1.0):
IndicatorSetDouble(INDICATOR_MINIMUM, 0.0);
IndicatorSetDouble(INDICATOR_MAXIMUM, 0.1);
Buffer Setup (visible + hidden):
SetIndexBuffer(0, BufVisible, INDICATOR_DATA); // Visible
SetIndexBuffer(1, BufHidden, INDICATOR_CALCULATIONS); // Hidden
New Bar Detection (prevents drift):
static int last_processed_bar = -1;
bool is_new_bar = (i > last_processed_bar);
Warmup Calculation :
int StartCalcPosition = underlying_warmup + own_warmup;
PlotIndexSetInteger(0, PLOT_DRAW_BEGIN, StartCalcPosition);
Blank Display : Set explicit scale (see Display Scale reference)
Rolling Window Drift : Use new bar detection with hidden buffer (see Recalculation reference)
Misaligned Plots : Calculate correct PLOT_DRAW_BEGIN (see Complete Template reference)
Forward-Indexed Arrays : Always set ArraySetAsSeries(buffer, false)
For production MQL5 indicators :
These patterns solve the most common indicator development issues encountered in real-world MT5 development.
| Issue | Cause | Solution |
|---|---|---|
| Blank indicator window | Scale not set for small values | Set INDICATOR_MINIMUM/MAXIMUM explicitly |
| Values drifting over time | Rolling window not reset | Use new bar detection with hidden buffer |
| Misaligned plot start | Wrong PLOT_DRAW_BEGIN | Calculate: underlying_warmup + own_warmup |
| Reversed array indexing | Series mode enabled | Call ArraySetAsSeries(buffer, false) |
| Buffer values incorrect | Wrong INDICATOR_DATA type | Use INDICATOR_CALCULATIONS for hidden buffers |
| Compile error on buffer | Buffer count mismatch | Match #property indicator_buffers with SetIndexBuffer |
| Indicator not updating | OnCalculate return wrong | Return rates_total to signal successful calculation |
| Performance issues | Recalculating all bars | Only recalculate from prev_calculated onwards |
For detailed information, see:
Weekly Installs
131
Repository
GitHub Stars
22
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode122
gemini-cli120
github-copilot117
codex116
cursor115
amp112
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
159,700 周安装
Mintlify 文档平台使用指南 - 从 MDX 到专业文档站点的最佳实践
978 周安装
opencli-rs:Rust开发的极速CLI工具,将55+网站转为命令行接口,复用Chrome登录状态
983 周安装
OpenCode Skill Creator 指南:创建智能体技能,集成工作流程与专业知识
1,000 周安装
统计分析技能指南:描述性统计、趋势分析与异常值检测方法
1,000 周安装
clawdbot-feishu npm 发布流程指南:自动化版本管理与GitHub发布
88 周安装
ccc 语义化代码搜索工具 - CocoIndex Code 命令行索引与智能搜索
1,000 周安装