XauUsd Nostradamus M5
- 专家
- 版本: 1.0
- 激活: 20
XauUsd Nostradamus M5 是一款适用于 MetaTrader 5 的自动化交易专家顾问(Expert Advisor,EA),专门针对 XAUUSD(黄金) 和 M5(5分钟)时间周期进行设计。
该机器人采用算法化交易方式:分析已经完成的价格K线,判断当前市场方向,并在交易状态发生确认后的变化时开仓。开仓后,持仓通过动态止损进行管理。
本EA不使用网格交易、马丁格尔策略,也不会在亏损交易后增加手数。仓位大小由 LotSize 参数决定,并且不会根据之前交易的结果进行调整。
XauUsd Nostradamus M5 的一个重要特点是仅基于已收盘的K线进行交易逻辑判断。机器人在出现新K线时做出交易决策,因此不会使用尚未完成的当前K线来生成主要交易信号。
交易原理交易逻辑基于对价格运动方向的算法分析,包括平滑后的价格特征以及对市场局部结构的评估。
对于用户而言,该逻辑可以理解为两个交易状态:
-
BUY state — 市场处于上涨交易状态;
-
SELL state — 市场处于下跌交易状态。
机器人不会尝试始终保持在市场中。只有当交易状态从一种状态确认切换到另一种状态时,才会考虑开立新的交易。
因此:
SELL → BUY
→ 如果存在Sell仓位,则先关闭现有Sell仓位
→ 开立Buy仓位。
BUY → SELL
→ 如果存在Buy仓位,则先关闭现有Buy仓位
→ 开立Sell仓位。
如果当前持仓已经与新的信号方向一致,则不会额外开仓。
内部公式、计算顺序以及具体的交易状态判定条件不公开,因为这些内容属于产品的商业交易逻辑。
开仓后的持仓管理交易开仓后,机器人通过动态追踪止损(Trailing Stop)对持仓进行管理。
止损会在每个Tick上重新计算,而不仅仅是在出现新K线时计算。当市场向有利方向运行时,保护性止损位可能会跟随当前价格移动。
同时,EA会考虑经纪商针对当前交易品种设置的交易限制,包括:
-
最小 Stop Level 距离;
-
Freeze Level;
-
小数位数;
-
最小和最大交易量;
-
交易量步长。
追踪止损不会向增加潜在亏损的方向移动:
-
对于Buy仓位,保护性止损位只能向上移动;
-
对于Sell仓位,保护性止损位只能向下移动。
EA代码中不会设置 Take Profit。主要的风险保护和交易结果锁定机制是动态 Stop Loss 以及交易状态反转逻辑。
交易条件检查在发送交易请求之前,机器人会执行一系列技术检查。
检查内容包括:
-
终端是否允许自动交易;
-
账户是否允许交易;
-
是否允许EA进行交易;
-
当前交易品种的交易模式是否可用;
-
是否超过订单/持仓数量限制;
-
交易量是否符合当前交易品种的要求;
-
开仓所需的保证金是否充足;
-
当前点差是否超过用户设置的最大值。
如果任何关键条件不满足,机器人都不会发送交易请求。
使用建议交易品种
XAUUSD(黄金)
XauUsd Nostradamus M5 是作为专门用于黄金交易的算法开发和测试的。
在其他交易品种或其他时间周期上使用该EA,不属于其标准设计使用场景。
时间周期
M5 — 主要推荐时间周期。
EA使用当前的 _Period 运行,因此从技术上讲可以将其加载到其他时间周期。
但是,交易逻辑以及参数值主要针对 XAUUSD M5 进行设计。
使用其他时间周期会改变交易信号的特征,以及追踪止损距离相对于市场波动率的实际意义。
点差
对于XAUUSD,建议使用点差保持较低且稳定的账户和交易环境。
机器人默认设置:
MaxSpreadPoints = 50
这意味着当 SYMBOL_SPREAD 超过50点时,新交易信号将被忽略。
需要注意的是,Point(点)与以货币或价格单位表示的Spread(点差)并不是同一个概念。一个Point对应的实际价格或货币价值取决于经纪商对XAUUSD的具体合约规格。
因此,在使用EA之前,应打开:
Market Watch → XAUUSD → Specification
并检查:
-
Digits;
-
Point;
-
Spread;
-
Contract Size;
-
Tick Size;
-
Tick Value;
-
Volume Step。
50 是一个技术性过滤阈值,并不能保证不同经纪商之间具有相同的实际点差条件。
实际使用时,建议选择 XAUUSD点差较低且具有较高稳定性和可预测性 的经纪商/账户,尤其是在市场波动加剧期间。
杠杆
EA本身不要求使用某个固定的杠杆比例。
每次开仓之前,机器人都会通过 MetaTrader 5 的标准 OrderCalcMargin() 机制计算所需保证金,并检查账户是否具有足够的可用资金。
对于XAUUSD,建议使用不低于1:100的杠杆;如果账户条件允许,更高的杠杆可以降低单位仓位所需的保证金。
但是,提高杠杆不会降低仓位本身的市场风险。潜在的盈亏结果主要取决于交易手数和价格的实际波动。
不建议仅根据账户可用杠杆来决定交易手数。手数应根据账户资金规模、可接受的回撤水平以及具体经纪商的交易规格进行确定。
账户类型
优先选择具有以下特点的账户:
-
低点差;
-
较高流动性;
-
快速执行;
-
较低延迟;
-
稳定的市价单执行;
-
透明的XAUUSD交易条件。
对于算法交易,建议使用地理位置靠近经纪商交易服务器的VPS。
交易条件
需要注意,XAUUSD在以下情况下可能出现明显的点差扩大:
-
重要宏观经济数据发布;
-
不同交易时段之间的切换;
-
市场流动性较低;
-
交易日开盘或收盘;
-
价格出现剧烈波动。
MaxSpreadPoints 过滤器可以防止在点差超过设定阈值时开立新仓位,但无法阻止仓位开立之后点差发生变化。
EA参数LotSize
默认值: 0.01
用于设置机器人尝试开立的基础交易量。
例如:
LotSize = 0.01 → 机器人尝试开立0.01手的仓位。
LotSize = 0.10 → 相比0.01手,仓位规模增加10倍。
仓位大小会直接影响交易的货币结果:在XAUUSD价格波动幅度相同的情况下,更大的交易量会带来更大的盈利或亏损变化。
机器人还会检查指定的交易量是否符合经纪商的限制:
-
最小交易量;
-
最大交易量;
-
交易量步长;
-
交易量限制。
如果指定的交易量不符合当前交易品种的规格,则不会执行交易请求。
实际使用建议: 从账户允许的最小交易量开始,并自行评估EA在具体账户上的运行表现。
Amplitude
默认值: 2
用于控制内部市场方向识别算法的敏感度。
该参数参与平滑价格特征的计算以及交易状态的形成。
总体而言:
-
较小的 Amplitude 值会使算法对局部价格结构的变化更加敏感;
-
较大的值会使分析更加平滑,并需要更加明显的价格运动才能触发状态变化。
提高 Amplitude 可能使信号对短期市场波动不那么敏感。
降低 Amplitude 会使算法响应更快,但同时也会使其更加容易受到局部市场噪声的影响。
XAUUSD M5标准使用场景的推荐值: 2 。
调整该参数应被视为改变交易系统特征,而不仅仅是增加交易数量的一种方式。
TrailingStopPoints
默认值: 85
用于设置追踪止损距离当前价格的点数。
对于Buy:
Stop Loss ≈ Bid − 85 points
对于Sell:
Stop Loss ≈ Ask + 85 points
如果经纪商要求设置或修改Stop Loss时必须保持更大的最小距离,那么实际止损距离可能会被进一步扩大。
参数值较小时:
-
保护性止损距离当前价格更近;
-
仓位可能更容易因逆向价格波动而被关闭;
-
给交易回调留下的空间更小。
参数值较大时:
-
仓位拥有更大的波动空间;
-
保护性止损距离当前价格更远;
-
在保护机制触发之前,价格可以相对于当前价格产生更大的反向波动。
该参数以 points(点) 为单位,因此其实际价格距离取决于经纪商XAUUSD的Digits设置。
MagicNumber
默认值: 123456
用于标识该EA所产生交易的唯一编号。
Magic Number 用于帮助机器人区分自己的仓位与以下仓位:
-
其他EA开立的仓位;
-
同一EA其他实例开立的仓位;
-
手动交易产生的仓位。
XauUsd Nostradamus M5 只管理当前交易品种中、且Magic Number与当前设置一致的仓位。
如果在同一个账户中运行多个EA实例,建议使用不同的Magic Number,尤其是在不同实例使用不同参数的情况下。
SlippagePoints
默认值: 100
用于设置通过 CTrade 机制发送交易请求时允许的最大价格偏差。
该参数以points(点)为单位。
对于XAUUSD,在快速价格波动期间尤其重要,因为从产生交易决策到实际执行订单之间,市场价格可能已经发生变化。
较小的值:
-
限制允许的价格偏差;
-
在价格快速变化时可能导致更多执行请求被拒绝。
较大的值:
-
允许更大的价格偏差;
-
在快速变化的市场中提高订单被执行的可能性;
-
同时,实际成交价格可能与预期价格产生更大的差异。
SlippagePoints 不是手续费,也不决定点差大小。
MaxSpreadPoints
默认值: 50
最大点差过滤器。
在开立新仓位之前,EA会检查当前交易品种的点差。如果点差超过设定的限制,则不会发送新的订单。
例如:
MaxSpreadPoints = 50
表示当当前 SYMBOL_SPREAD > 50 时,该交易信号将被跳过。
需要注意的是,该点差过滤器是在出现新的交易信号时、开仓之前立即执行的。
如果已有仓位,之后点差扩大,该过滤器不会主动关闭已有仓位。
如果设置:
MaxSpreadPoints = 0
则关闭最大点差过滤器。
对于XAUUSD,建议保持点差过滤器开启。
机器人会自动执行的操作将EA安装到XAUUSD M5图表后,机器人会自动:
-
监控新的M5 K线是否出现;
-
分析已经完成的价格数据;
-
判断交易状态是否发生变化;
-
检查交易限制;
-
检查当前点差是否处于允许范围内;
-
检查可用保证金;
-
检查交易量是否符合要求;
-
在出现新信号时开立Buy或Sell仓位;
-
在交易方向发生反转前关闭相反方向的仓位;
-
使用动态Stop Loss管理已开立的仓位。
如果没有新的交易信号,机器人不会额外开立仓位。
仓位管理特点EA设计为针对当前交易品种和自身Magic Number维持一个逻辑上的单一仓位。
当收到相反方向的信号时,机器人首先尝试关闭现有仓位,然后检查该仓位是否确实已经关闭,之后才发送新的订单。
这种机制有助于避免出现与该EA交易逻辑相关的Buy和Sell相反方向仓位同时存在的情况。
但是,最终的实际行为也取决于MetaTrader 5账户类型以及经纪商的交易限制。
技术要求为了确保正常运行,建议具备以下条件:
-
MetaTrader 5;
-
XAUUSD交易品种;
-
M5时间周期;
-
已启用算法交易;
-
支持XAUUSD交易的经纪商;
-
足够的可用保证金;
-
与交易服务器之间稳定的网络连接;
-
建议使用VPS以保持交易终端持续运行。
EA使用MetaTrader 5标准交易接口,并根据当前交易品种的规格,自动确定允许使用的订单执行类型。
