【天机智汇交易面板】本交易面板是一款基于科学算法的手动交易辅助工具
============================================================================
《智汇交易面板》使用说明
—— 算法原理与功能详解
版本:1.1
开发者:陈先生
适用平台:MT4
============================================================================
【目录】
一、系统概述
二、核心算法详解
三、功能操作指南
四、风控机制说明
五、参数配置说明
六、常见问题解答
============================================================================
【一、系统概述】
本交易面板是一款基于科学算法的手动交易辅助工具,核心设计理念是
"将主观交易转化为量化决策",通过内置算法自动计算合理手数、
验证止损范围、管理交易频率,帮助交易者建立系统化交易习惯。
三大核心功能模块:
1. 现价交易模块 - 市价即时开仓
2. 限价交易模块 - 挂单条件开仓
3. 持仓管理模块 - 实时监控与一键平仓
============================================================================
【二、核心算法详解】
2.1 平均波幅计算算法(ATR算法)
【算法目的】
计算品种的日常波动幅度,作为所有价格验证和止损范围的基础数据。
【计算公式】
平均波幅 = Σ(每日最高价 - 每日最低价) / 100(100个交易日)
【容错机制】
首次计算若结果为0(数据未加载完成),等待10秒后重试;
二次失败则终止EA运行并提示用户加载历史数据。
【应用范围】
┌─────────┬────────────────────────────────┐
│ 应用场景 │ 计算方式 │
├─────────┼────────────────────────────────┤
│ 短线止损 │ 开仓价 ± 1.0 × 平均波幅 │
│ 中线止损 │ 开仓价 ± 2.0 × 平均波幅 │
│ 长线止损 │ 开仓价 ± 4.0 × 平均波幅 │
│ 挂单范围 │ 当前价 ± 10.0 × 平均波幅 │
│ 止损下限 │ 开仓价 ± 0.1 × 平均波幅 │
└─────────┴────────────────────────────────┘
注意:做多时止损低于开仓价,做空时止损高于开仓价。
【算法意义】
根据品种自身的波动特性动态调整止损范围,避免固定点数止损
在不同品种上出现"过大或过小"的问题。
2.2 智能仓位计算算法(核心)
【设计理念】
将账户资金按照"交易次数 × 风险等级"进行科学分配,使每笔交易的
风险敞口量化可控,避免主观判断导致的重仓或轻仓。
【核心公式】
建议手数 = 账户结余 / (总可交易次数 × 每笔风险点数 × 合约大小 × 点值)
其中:
- 账户结余 = 当前账户净值(AccountBalance)
- 总可交易次数 = 类型基础次数 × 仓位乘数
- 每笔风险点数 = |开仓价 - 止损价| ÷ 点值
- 合约大小 = 品种标准合约规模(通常100,000)
- 点值 = 根据账户货币与品种货币关系动态计算
【类型基础次数】
┌─────────┬──────────┬─────────────────────────┐
│ 交易类型 │ 基础次数 │ 说明 │
├─────────┼──────────┼─────────────────────────┤
│ 短线 │ DXCS │ 默认10次,可外部调整 │
│ 中线 │ ZXCS │ 默认6次,可外部调整 │
│ 长线 │ CXCS │ 默认3次,可外部调整 │
└─────────┴──────────┴─────────────────────────┘
基础次数含义:账户资金可承受的该类型连续亏损次数。
【仓位乘数体系】
┌─────────┬──────────┬─────────────────────────┐
│ 仓位等级 │ 乘数系数 │ 实际交易次数 │
├─────────┼──────────┼─────────────────────────┤
│ 轻仓 │ 10 │ 基础次数 × 10 │
│ 中仓 │ 5 │ 基础次数 × 5 │
│ 重仓 │ 1 │ 基础次数 × 1 │
└─────────┴──────────┴─────────────────────────┘
乘数含义:风险偏好系数,数值越大单笔风险越小。
【计算示例】
假设条件:
- 账户结余:10,000美元
- 交易类型:短线(基础次数10)
- 仓位等级:轻仓(乘数10)
- 止损距离:50点
- 合约大小:100,000
- 点值:1美元/点
计算过程:
第1步:总可交易次数 = 10 × 10 = 100次
第2步:每笔可承受亏损 = 10,000 ÷ 100 = 100美元
第3步:每点价值 = 100,000 × 1 = 100,000
第4步:建议手数 = 100 ÷ (50 × 100,000) = 0.02手
结论:该笔交易最大亏损100美元(占总资金1%)
【手数规范化处理】
- 下限约束:不低于品种最小手数(SYMBOL_VOLUME_MIN)
- 上限约束:不超过品种最大手数(SYMBOL_VOLUME_MAX)
- 精度约束:根据品种步进值自动四舍五入
* 步进值1.0 → 保留0位小数
* 步进值0.1 → 保留1位小数
* 步进值0.01 → 保留2位小数
2.3 点值动态计算算法
【算法目的】
自动识别品种类型,准确计算每点价值,确保仓位计算在任何
货币对、指数、商品上都能正确运行。
【分类判断逻辑】
第1类:直盘(计价货币 = 账户货币)
→ 点值 = 1.0
→ 示例:账户USD,交易EURUSD → 点值 = 1美元
第2类:非直盘(基础货币 = 账户货币,计价货币 ≠ 账户货币)
→ 查找货币对:账户货币 + 计价货币
→ 获取汇率 = (Ask + Bid) / 2
→ 点值 = 1 / 汇率
→ 示例:账户USD,交易USDJPY → 查找USDJPY汇率
若USDJPY=110.00,点值 = 1/110 ≈ 0.00909美元
第3类:交叉盘(账户货币 ≠ 基础货币 ≠ 计价货币)
→ 情况A:查找 账户货币 + 计价货币
点值 = 1 / 该货币对汇率
→ 情况B:查找 计价货币 + 账户货币
点值 = 1 × 该货币对汇率
→ 示例:账户USD,交易EURGBP → 查找GBPUSD或USDGBP
第4类:指数/其他(基础货币 = 计价货币)
→ 按照交叉盘逻辑处理
→ 示例:账户USD,交易XAUUSD → 查找USD
【容错处理】
若找不到对应货币对,打印警告日志但继续运行,
点值默认为1,用户需手动确认计算是否准确。
2.4 交易间隔控制算法
【算法目的】
防止短时间内频繁交易同一品种同一方向,培养耐心交易习惯。
【判断逻辑】
第1步:遍历历史订单(OrdersHistoryTotal)
第2步:筛选条件:
- 同一品种(OrderSymbol = 当前品种)
- 同一幻数(MagicNumber = 设定值)
- 同一类型(注释前两字 = 短线/中线/长线)
- 同一方向(多/空)
第3步:计算时间差 = 当前时间 - 该订单平仓时间
第4步:若时间差 < 设定间隔秒数 → 拒绝交易并提示还需等待时间
【算法意义】
强制交易者等待市场给出新的信号,避免情绪化追单。
2.5 同向同类型限制算法
【算法目的】
确保同一品种、同一方向、同一类型只能持有一单,避免
同向加仓导致的仓位失控。
【判断逻辑】
第1步:遍历当前持仓(OrdersTotal)
第2步:筛选条件:
- 同一品种(OrderSymbol = 当前品种)
- 同一幻数(MagicNumber = 设定值)
- 同一类型(OrderComment = 短线/中线/长线)
- 同一方向(多/空)
第3步:若存在符合条件的持仓 → 拒绝交易并提示已有持仓
【算法意义】
强制按计划交易,避免亏损加仓或盈利加仓的冲动行为。
============================================================================
【三、功能操作指南】
3.1 现价交易功能
【功能说明】
以当前市场价格(Ask/Bid)立即开仓。
【操作流程】
第1步:输入止损价格(系统自动验证范围)
第2步:输入盈亏比(1.0 - 5.0)
第3步:选择仓位等级(轻/中/重)
第4步:选择交易类型(短线/中线/长线)
第5步:点击【做多】或【做空】按钮
第6步:核对确认弹窗信息
第7步:点击"确定"完成下单
【输入验证】
- 止损验证:是否在允许范围内
- 类型验证:是否为"短线/中线/长线"
- 仓位验证:是否为"轻/中/重"
- 盈亏比验证:是否在1.0-5.0之间
3.2 限价交易功能
【功能说明】
在指定价格挂单,价格触及后自动成交。
【操作流程】
第1步:输入挂单价格(系统自动验证范围)
第2步:输入止损价格
第3步:输入盈亏比(1.0 - 5.0)
第4步:选择仓位等级(轻/中/重)
第5步:选择交易类型(短线/中线/长线)
第6步:点击【做多】或【做空】按钮
第7步:核对确认弹窗信息
第8步:点击"确定"完成挂单
【自动类型判断】
做多时:
- 挂单价 < 当前价 → Buy Limit(低于现价买入)
- 挂单价 > 当前价 → Buy Stop(高于现价买入)
做空时:
- 挂单价 > 当前价 → Sell Limit(高于现价卖出)
- 挂单价 < 当前价 → Sell Stop(低于现价卖出)
【挂单有效期】
由外部参数"挂单有限期秒"(gdyxq)控制,默认86400秒(24小时)。
3.3 持仓监控功能
【功能说明】
实时显示当前品种各类型订单的完整持仓信息。
【显示信息】
方向 | 手数 | 品种 | 开仓价 | 止损价 | 止盈价 | 当前价 | 浮动盈亏
【更新频率】
每秒更新一次(OnTimer事件,间隔1秒)。
3.4 一键平仓功能
【功能说明】
快速平仓指定品种的持仓或全部持仓。
【操作选项】
【平多单】- 平掉指定品种所有多单(含挂单)
【平空单】- 平掉指定品种所有空单(含挂单)
【清仓全部品种】- 平掉账户所有持仓(含挂单)
【安全确认】
所有平仓操作均弹出确认对话框,防止误操作。
============================================================================
【四、风控机制详解】
4.1 止损范围限制
【设计目的】
确保止损设置既不太近(容易被噪音扫损)也不太远(单笔风险过大)。
【做多止损范围】
┌─────────┬──────────────────────────────────────┐
│ 类型 │ 止损必须低于开仓价 │
├─────────┼──────────────────────────────────────┤
│ 短线 │ 开仓价 - (1.0 × 平均波幅) 至 开仓价 - (0.1 × 平均波幅) │
│ 中线 │ 开仓价 - (2.0 × 平均波幅) 至 开仓价 - (0.2 × 平均波幅) │
│ 长线 │ 开仓价 - (4.0 × 平均波幅) 至 开仓价 - (0.4 × 平均波幅) │
└─────────┴──────────────────────────────────────┘
【做空止损范围】
┌─────────┬──────────────────────────────────────┐
│ 类型 │ 止损必须高于开仓价 │
├─────────┼──────────────────────────────────────┤
│ 短线 │ 开仓价 + (1.0 × 平均波幅) 至 开仓价 + (0.1 × 平均波幅) │
│ 中线 │ 开仓价 + (2.0 × 平均波幅) 至 开仓价 + (0.2 × 平均波幅) │
│ 长线 │ 开仓价 + (4.0 × 平均波幅) 至 开仓价 + (0.4 × 平均波幅) │
└─────────┴──────────────────────────────────────┘
4.2 交易频率限制
【规则描述】
同一品种、同一类型、同一方向的订单平仓后,
必须等待设定的间隔秒数(jgsj)才能再次开仓。
【违反后果】
系统拒绝交易,并弹窗提示还需等待的秒数。
4.3 同向持仓限制
【规则描述】
同一品种、同一类型、同一方向只能持有一单。
【违反后果】
系统拒绝交易,并弹窗提示已有持仓的订单号。
4.4 挂单价格范围限制
【规则描述】
限价单的价格必须在当前价格 ± 10倍平均波幅 范围内。
【违反后果】
系统拒绝挂单,并提示允许的价格区间。
============================================================================
【五、参数配置说明】
以下参数可在MT4的EA属性窗口中调整:
┌─────────────────┬──────────┬─────────────────────────────────┐
│ 参数名称 │ 默认值 │ 说明与用途 │
├─────────────────┼──────────┼─────────────────────────────────┤
│ dingweiX │ 0 │ 面板水平偏移位置 │
│ dingweiY │ 0 │ 面板垂直偏移位置 │
│ fs │ true │ true=保存交易记录到abc.txt文件 │
│ gdyxq │ 86400 │ 挂单有效期(秒),默认24小时 │
│ jgsj │ 0 │ 同向同类型开仓间隔(秒),0=不限│
│ CLBZ │ 策略仅供参考│ 交易记录文件中添加的备注文字 │
│ DXCS │ 10 │ 短线类型基础交易次数 │
│ ZXCS │ 6 │ 中线类型基础交易次数 │
│ CXCS │ 3 │ 长线类型基础交易次数 │
│ xianjiaYKB1 │ 1.0 │ 现价单默认盈亏比显示值 │
│ xianjiaYKB2 │ 1.0 │ 限价单默认盈亏比显示值 │
└─────────────────┴──────────┴─────────────────────────────────┘
【参数调整建议】
1. DXCS/ZXCS/CXCS(交易次数)
- 资金小 → 适当减小数值(如5/3/2)
- 资金大 → 可适当增大数值(如15/10/5)
- 稳健型 → 保持默认
- 激进型 → 适当减小
2. jgsj(间隔秒数)
- 默认0表示不限制
- 建议设置300-600秒(5-10分钟)
- 日内交易者可设短些,中长线可设长些
3. gdyxq(挂单有效期)
- 日内交易:3600-86400秒
- 中长线:86400-604800秒(1-7天)
4. 仓位等级选择建议
- 新手/保守型 → 轻仓
- 有一定经验 → 中仓
- 专业/激进型 → 重仓
============================================================================
【六、算法优势总结】
6.1 科学性
- 基于ATR动态计算止损范围,适应不同品种特性
- 基于凯利公式理念的资金管理,量化每笔风险
6.2 纪律性
- 强制同向同类型只持一单
- 强制交易间隔,避免频繁交易
- 自动验证所有输入参数
6.3 适应性
- 自动识别直盘/交叉盘/指数,准确计算点值
- 支持所有MT4交易品种
- 参数可外部调整,适应不同交易风格
6.4 透明性
- 所有计算过程可追溯
- 交易记录自动保存
- 确认弹窗显示完整订单信息
============================================================================
【七、常见问题解答】
Q1:为什么点击"做多"后没有下单?
A1:请检查是否存在以下情况:
① 已有同方向同类型持仓
② 处于开仓间隔时间内
③ 止损价格不在允许范围内
④ 类型或仓位输入错误
Q2:计算出的手数为什么这么小/大?
A2:手数由算法自动计算,影响因素:
① 账户资金大小
② 止损距离(止损越近,手数越大)
③ 选择的类型和仓位(短线轻仓手数最小,长线重仓最大)
④ 品种合约大小和点值
Q3:如何查看交易记录?
A3:交易记录保存在 MT4数据文件夹/MQL4/Files/abc.txt 中。
Q4:更换图表品种后面板还工作吗?
A4:面板只对当前图表品种有效,切换品种需重新加载EA。
Q5:面板可以用于实盘交易吗?
A5:可以,但建议先在模拟账户充分测试,熟悉各项功能后再用于实盘。
Q6:为什么提示"图表初始化数据失败"?
A6:图表历史数据不足,请切换到日线周期,按Home键加载更多数据后重试。
============================================================================
【八、联系方式】
开发者:陈先生
官方网站:https://www.tianjigendan.cn
如有使用问题请访问官网联系客服
============================================================================
祝您交易顺利!
理性投资,风险可控!
============================================================================
|
|
|
|
|
|
|
|
C
|
算法再精密也挡不住人性弱点,不过这个面板至少能帮你管住手! |
|
|
|
|
|
|
|