JKEFAdvancedModel
- 专家
- 版本: 1.5
- 激活: 5
JKEFAdvancedModel — 波动率自适应趋势突破交易系统
产品概述
JKEFAdvancedModel 是一款面向 MetaTrader 5 的全自动交易机器人(Expert Advisor)。它在指定时间周期上随市场波动率自适应趋势,进行突破交易。
系统只统计"已收盘 K 线"的状态,避免盘中未成形信号带来的反复。方向确认后,机器人既可以用市价单入场,也可以在离当前价格一定距离处挂出停止单等待突破确认,并对未成交的挂单进行追踪调整。每一轮只维持一个持仓,不加仓、不摊平成本、不使用网格或马丁格尔式加码。
交易逻辑
状态判定。 系统先测量价格波动强度,波动越强,均线跟得越快;波动越弱,均线越平滑。随后对均线做一次带动量权重的平滑处理,得到趋势基准线。基准线上下各计算出一个近期偏离百分比位,如果价格突破上偏离百分位为多头状态,跌破下偏离百分位为空头状态。状态只在已完成 K 线上更新,信号周期由参数 InpTF 决定,与图表当前显示的周期可以不同。
首次入场。 机器人启动或点击面板 Start 之后,如果当前品种没有本系统的持仓或挂单,它会读取当前信号方向:方向明确且被允许时,立即以市价单建仓,并同时提交初始止损;方向为中性时继续等待,直到出现明确方向。
平仓之后。 持仓结束(无论被止损、被移动止损触发,还是人工平掉)后,系统记录平仓时刻,等待参数设定的秒数,再按当时的信号方向挂出停止单:多头挂买入止损单,空头挂卖出止损单,挂单价距当前市场价格为参数设定的点数。
挂单管理。 挂单等待期间,系统持续对照信号:
- 信号方向翻转时,撤销原挂单,按新方向重新挂出;
- 方向被交易方向过滤排除时,撤销挂单并回到等待计时;
- 价格朝有利方向运行时,挂单价格随之朝有利方向移动(买入止损单下移,卖出止损单上移),即挂单会"追踪"价格,而不是停在原地。挂单成交后即形成持仓。
持仓管理。 持仓存在期间,系统清除所有未成交挂单,并根据移动止损参数维护止损:盈利达到触发点数后才启动移动止损,止损位与当前价格保持设定的距离,且只朝有利方向移动,不会回调。
出场方式。 系统不设置固定止盈,出场由初始止损或移动止损决定,也可通过面板 Close All 一键了结。
风险管理
- 固定手数交易,每轮只持有一个仓位,不做加仓、摊平或对冲式补仓。
- 每笔建仓都带初始止损,止损距离为参数设定的点数;参数为 0 时不带止损。
- 可选移动止损,包含触发点数与止损距离两个参数;其中任一项设为 0 即关闭该功能。
- 下单前先做保证金测算,可用保证金不足时不发单,并在日志中记录,随后进入一段冷却时间,避免反复无效发单。
- 自动识别品种的成交模式并在需要时按备选模式重试;市价单与挂单分别处理。
- 自动检测交易时段与品种交易模式,市场关闭期间不发起新操作,并进入冷却,减少无效报错。
- 手数自动按品种的最小手数、最大手数与步长规范化,避免因精度问题被服务器拒单。
图表面板
图表上提供三个按钮:Start、Stop、Close All,以及一行状态信息。
- Start:启动自动交易。若当前无持仓,则按信号尝试首仓;同时清除此前的市场关闭与资金不足冷却状态。
- Stop:停止新的开仓动作。已持有的仓位不受影响,移动止损仍会继续维护。
- Close All:平掉本系统在当前品种上的持仓,撤销挂单,并停止自动交易。
状态行显示运行/停止、信号周期、允许的交易方向、手数、确认模式、初始止损、移动止损触发与距离、挂单距离、等待时间,以及当前所处的阶段:市场关闭、资金不足、等待首次入场、持仓中、挂单中、等待挂单或空仓。
按钮组的显示位置(四个角落之一)、横向与纵向偏移、按钮宽度与高度、字体大小均可在参数中调整。
推荐运行条件
- 交易品种:流动性较好、点差稳定的品种,例如主要货币对、主流交叉盘、贵金属与主要股指 CFD。任何品种都应先做模拟验证。
- 时间周期:机器人可挂载在任意周期图表上,实际信号周期由 InpTF 决定,默认 M5。
- 账户类型:净额结算账户与对冲账户均可使用。
- 账户规模:手数与止损由用户自行设定,请按"单笔最大亏损可承受"的原则反推手数。以默认 0.01 手、500 点初始止损为参考,一般建议账户资金不低于 500 美元或等值货币;在低杠杆账户或使用点值较大的品种时,应相应提高资金规模或降低手数。这仅是资金承受能力的建议,不构成任何收益预期。
- 运行环境:建议在低延迟、执行稳定的账户上运行,并使用 VPS 保持终端持续在线。
输入参数
交易参数
参数 | 默认值 | 说明 |
|---|---|---|
InpTF | PERIOD_M5 | 信号计算所用的时间周期,与图表显示周期可以不同 |
InpTradeDirection | TRADE_DIR_BOTH | 允许的交易方向:双向、只做多、只做空 |
InpLots | 0.01 | 固定交易手数,会按品种规则自动规范化 |
InpStopLoss | 500 | 初始止损距离,单位为点;设为 0 表示不带止损 |
InpTrailTrigger | 200 | 移动止损的触发盈利,单位为点 |
InpTrailDistance | 100 | 移动止损与当前价格保持的距离,单位为点 |
InpWaitSeconds | 10 | 平仓之后、挂出下一笔挂单之前的等待秒数 |
InpPendingDistance | 500 | 停止挂单距当前市场价格的点数 |
InpMagic | 20267777 | 订单识别编号,用于区分本系统与其他程序的订单 |
InpSlippage | 30 | 下单允许的最大偏离,单位为点 |
成交模式设置
参数 | 默认值 | 说明 |
|---|---|---|
InpAutoDetectFilling | true | 自动探测品种支持的成交模式 |
InpManualFilling | ORDER_FILLING_FOK | 关闭自动探测时使用的成交模式 |
InpFillRetryMax | 4 | 成交模式重试次数上限 |
启动选项
参数 | 默认值 | 说明 |
|---|---|---|
InpAutoStart | true | 加载到图表后是否自动开始交易,与面板 Start 按钮共用同一状态 |
界面设置
参数 | 默认值 | 说明 |
|---|---|---|
InpBtnCorner | BTN_CORNER_RL | 按钮组所在的图表角落 |
InpBtnX | 10 | 按钮组距所选角落的水平偏移像素 |
InpBtnY | 10 | 按钮组距所选角落的垂直偏移像素 |
InpBtnW | 70 | 单个按钮宽度像素 |
InpBtnH | 25 | 单个按钮高度像素 |
InpText | 9 | 按钮文字字号 |
安装与快速开始
- 在 MetaTrader 5 的"市场"或"导航器"中找到本产品,安装后出现在 Experts\Market 目录。
- 打开目标品种的图表,将机器人拖到图表上。
- 在"输入参数"中设置手数、初始止损、移动止损、挂单距离与信号周期。
- 确认终端工具栏上的自动交易按钮已启用,图表右上角显示机器人名称与笑脸图标。
- 需要立刻开始时保持 InpAutoStart 为 true,或点击图表上的 Start 按钮。
- 结束交易时点击 Stop 停止新开仓,或点击 Close All 平仓并撤销挂单。
测试与验证建议
- 先用策略测试器下载完整的历史数据,再用"真实点差"或自定义点差进行测试。
- 先在模拟账户上运行一段时间,确认挂单、移动止损与日志行为符合预期。
- 若在同一账户的多个品种上同时运行,建议为每个图表保持各自的订单识别编号,便于区分。
- 调整手数前,先估算"初始止损点数 × 每点价值 × 手数"对应的单笔最大亏损是否在可承受范围内。
使用限制与注意事项
- 机器人只管理当前图表品种、且订单识别编号匹配的持仓与挂单;手工开的仓位或其他机器人的订单不受影响。
- 系统不设置止盈目标,利润回吐的多少由移动止损参数决定。
- 没有内置新闻过滤、交易时段过滤、点差过滤、最大持仓时间与每日止损限制。
- 手数为固定值,不具备按账户风险百分比自动计算手数的功能,账户规模变化时需手动调整。
- 依赖终端持续在线,断线期间不会发出指令,恢复后的状态由当时的持仓与挂单决定。
- 涉及挂单与止损修改,实际成交价会受点差、滑点与流动性影响。
风险提示
自动交易并不能消除市场风险。历史数据上的测试结果不代表未来表现,模拟账户与真实账户的结果也可能存在差异。本产品不保证任何盈利,也不构成投资建议。请根据自身的风险承受能力设定手数与止损,并在真实账户使用前充分测试。因使用本产品产生的交易结果由使用者自行承担。
常见问题
机器人启动后没有立即开仓,是否正常?
正常。启动后若信号方向为中性,系统会等待,直到出现明确的多头或空头状态才入场。
停止后已有的仓位会怎样?
Stop 只停止新的开仓动作,已有仓位继续持有,移动止损仍会维护。
可以同时用于多个品种吗?
可以,为每个品种单独打开一个图表挂载机器人即可,建议配合各自的订单识别编号。
挂单长时间没有成交怎么办?
挂单会在价格朝有利方向移动时自动跟随调整;若信号方向翻转或被过滤,挂单会被撤销并按当时规则重新安排。
为什么日志中出现资金不足的提示?
下单前系统做了保证金测算,可用保证金不足时不会发单,并记录日志与进入冷却时间。此时应降低手数或补充资金。
