SkdonSeriesMulti
- 专家
-
Igor Bulyshev
Умный, красивый, в меру упитанный и талантливый трейдер-программист в полном расцвете сил!!)) - 版本: 7.1
- 更新: 27 九月 2026
本顾问旨在用于长期(终身)的多货币交易,同时交易 28 个货币对(货币对列表固定在代码中),时间框架为 M30。货币对列表:EURUSD、GBPUSD、AUDUSD、USDCAD、USDJPY、USDCHF、GBPJPY、EURJPY、AUDCAD、AUDJPY、CHFJPY、EURCHF、EURGBP、NZDJPY、NZDUSD、CADJPY、AUDCHF、AUDNZD、CADCHF、EURAUD、EURCAD、EURNZD、GBPAUD、GBPCHF、GBPCAD、GBPNZD、NZDCAD、NZDCHF。
其目标是捕捉趋势运动,并通过特殊的平均化机制、锁仓订单和紧急保护措施来管理风险。
核心策略为趋势跟踪,使用内置的 Skdon2 指标,在每个已完成的 K 线上发出买入或卖出信号。
当信号改变时,顾问按特定规则平掉旧仓位,并按新信号方向设置一系列(数量可在参数中设定)挂单(BUYSTOP 或 SELLSTOP)。
1. 顾问整体功能
它在 M30 图表上,通过内置于代码中的自定义指标分析每个货币对。
当指标发出买入或卖出信号时,顾问会开启一系列订单:一个市价单(立即按当前价格成交)以及若干挂单(买入时挂于市价上方,卖出时挂于下方),挂单间距由参数设定。挂单数量由参数 InpPendingCount 控制(默认 4,但在测试器中强制降为 2,以避免订单数量限制错误)。
如果信号反转为相反方向,顾问会平掉旧系列(全部或部分),并按新方向开启新系列。
如此,它便跟随趋势,在信号变化时不断反向操作。
2. 工作模式
顾问有三种主要模式:
-
模式 0 – 正常(Normal):顾问全力运行,开启新系列、管理现有系列,使用补偿和追踪止损。这是日常交易的默认模式。
-
模式 1 – 退出市场(Exit market):不开启新系列。已有系列继续接受管理(追踪、平均化、锁仓),但一旦这些系列平仓,不再建立新系列。用于平稳离场,而非一次性强制平仓。
-
清算模式(自动触发):当某个货币对的亏损超过账户净值的设定百分比(默认 5%)时自动启动。启动后:
-
禁止开立新系列;
-
仅平掉盈利的系列,以累积利润并降低总亏损;
-
当总亏损低于设定百分比(默认 4%)或没有任何市价单时,清算模式关闭,随后恢复正常工作。
-
3. 系列的开启与平仓
Skdon2 指标信号在每个新的 M30 K 线生成。若信号发生变化(例如由买入转为卖出),顾问视为趋势反转。
若尚无系列,则在信号出现时开启:
-
1 个市价单(Buy 或 Sell)——立即执行;
-
若干个挂单(Buy Stop 或 Sell Stop),彼此间距为 StepDistance ,数量由 PendingCount 决定。
若已有系列,而信号反转为相反方向,则: -
首先删除所有挂单;
-
然后按以下规则平掉市价单:
-
若该系列总利润为正,则平掉该系列所有市价单;
-
若总利润为负,则仅平掉盈利的单子,亏损单保留(避免锁定亏损)。
-
-
之后,按新方向开启新系列。
4. 补偿模式(平均化与锁仓)
当某个货币对的累计亏损超过账户净值的 2.5% 时,顾问对该货币对启用补偿模式。该模式下包括:
-
平均化(Averaging):找到该货币对上最亏损的订单。当价格从最后一个平均化订单运行 AveragingStepPoints 点后,按与亏损单相同的方向新开一个订单,从而降低平均入场价。每次平均化的手数按系数 AveragingMultiplier 放大,但采用分数方式(初始手数 = 起始手数 / FractionSize),实现平滑增长而非突增。一旦该补偿系列(目标订单 + 所有平均化订单)的总利润达到目标值(起始手数 × 250),则整个系列获利平仓。
-
锁仓订单(Locking):当亏损超过 3% 且多空总成交量不平衡(差值大于 0.01 手)时开启。锁仓订单开在与占优方向相反的方向(若 Buy 多,则开 Sell;反之亦然),部分对冲头寸。锁仓手数 = 不平衡量 × LockLotPercent / 100。锁仓后不平衡量减少,后续锁仓的手数相应减小。
新锁仓仅在有利于改善前一锁仓的方向开立:-
对于 Sell 锁仓——当价格下跌时(改善 Sell 头寸);
-
对于 Buy 锁仓——当价格上涨时。
锁仓间距为 LockStepPoints ,防止在同一水平频繁开锁。锁仓订单也受追踪止损管理(在该货币对补偿模式激活时,所有订单均适用追踪止损,但平均化订单除外)。
-
-
追踪止损(Trailing Stop):仅适用于处于补偿模式的货币对。对于每个订单(平均化订单除外),当价格从开仓价运行不少于 TrailingActivation 点后,追踪止损激活。随后止损位按 TrailingStopDist 点差跟随当前价格移动,但更新步长不小于 TrailingStep ,从而在价格进一步运动中锁定利润。
5. 附加保护机制
-
跳空保护(Gap Protection):在每个 M30 新 K 线开盘时,检查前一 K 线收盘价与当前开盘价之间是否存在跳空。若跳空幅度超过 GapThreshold ,顾问删除该货币对的所有挂单,并平掉市价单(若总利润为正则全平,若为负则仅平盈利单)。经过 40 秒“冷却”后,重新计算信号,若信号已改变,则开立新系列。
-
平掉老旧亏损订单:每隔 8 分钟检查持仓超过 35 小时且处于亏损状态的市价单。对于其中“最差”的亏损单,顾问在其他货币对上寻找盈利系列并平掉它们,直至累积的利润足以覆盖该亏损并略有盈余,然后平掉该老旧亏损单。
-
平掉反向订单:若同一货币对上存在盈利的 Buy 和亏损的 Sell(或反之),且盈利一方的利润足以覆盖该系列中最差亏损单的亏损并有余量,则将这些盈利订单与该最差亏损单同时平掉,以降低总体风险。
6. 信息面板
图表上显示包含两个区块的面板:
-
左侧面板:当前模式、清算状态、目标利润、处于补偿模式的货币对列表。
-
右侧面板:近几日利润、订单数量、成交量、历史亏损、交易机器人最近操作记录。
7. 所有输入参数说明
组 1:基本设置
-
Base magic number=100 – 所有订单的魔术号。若在多个账户运行多个副本,请修改此编号以防冲突。
-
Work mode=0 – 0:正常模式;1:退出模式(不开启新系列)。用于手动结束交易。
-
Risk percent=30 – 影响手数大小。数值越大,手数越大。例如 30 时,基础手数 = 余额 × 0.003 / 10000(经验公式)。建议根据自身风险调整。
-
Minimum gap=35 – 触发跳空保护的最小跳空点数(标准点)。对 JPY 货币对,1 点为 0.01;其余为 0.0001。
-
Pending orders count=4 – 每个市价单附加的挂单数量。数值越大,网格越深。
-
Distance between pendings=15 – 挂单之间的间距(点),影响网格密度。
-
Show info panel=true – 是否在图表上显示信息面板。可关闭以节省资源,尤其在测试时。
组 2:清算模式
-
Loss % to activate=5.0 – 若任一货币对亏损超过账户净值的此百分比,则激活清算模式。
-
Loss % to exit=4.0 – 当所有货币对的总亏损低于此百分比时,清算模式关闭。
组 3:补偿与追踪
-
Lock lot percent=15.0 – 用于计算锁仓手数的不平衡量百分比。
-
Lock step points=5 – 锁仓订单之间的步长(点)。新锁仓仅在价格朝有利方向运行此距离后才开立。
-
Averaging step points=20 – 平均化订单之间的步长(点)。新平均化订单在价格从上一平均化订单运行此距离后开立。
-
Averaging multiplier=1.7 – 每个后续平均化订单手数的放大倍数。>1 使手数递增。
-
Trailing activation=18 – 价格从开仓价运行多少点后激活追踪止损。
-
Trailing stop distance=15 – 追踪止损时,止损位距当前价格的点数。应小于激活点数,以确保止损处于盈利区。
-
Trailing step=2 – 更新止损位的最小步长,防止频繁修改。
组 4:分数平仓
-
Profit factor=250.0 – 用于辅助机制(平掉反向订单)中的参数。
-
Fraction size=5.0 – 平均化订单的分数部分大小。首个平均化订单手数 = 起始手数 / FractionSize。数值越小,首个平均化手数越大。
8. 重要实用建议
-
先从模拟账户开始,以理解顾问在不同参数下的行为。
-
确保 TrailingStopDist 小于 TrailingActivation ,否则追踪止损会将止损设在亏损区域。
-
在高波动期间,增大 GapThreshold 以及各步长(StepDistance、LockStepPoints、AveragingStepPoints),以避免频繁触发。
-
若采用激进交易,可增大 LockLotPercent 和 AveragingMultiplier ,并减小步长。
-
清算模式是最后防线。若频繁触发,说明风险过高,应降低 RiskPercent 或提高激活阈值。
-
顾问完全自动化,但需要稳定的网络连接,且所有 28 个货币对必须存在于交易品种列表中。
顾问优点
-
多货币——28 个货币对,高度分散降低了对单一货币的依赖。
-
自动优化投资组合——机器人自行清理老旧亏损和反向仓位,无需人工干预。
-
全局利润目标——定期锁定整体收益,使资金曲线更平滑。
-
高容错性——包含错误重试机制、K 线不足保护、交易权限检查等。
风险及其最小化
-
市场风险(趋势急剧反转,产生大额亏损):通过信号变化时部分平仓、全局利润目标以及清理老旧亏损订单来应对。亏损订单不会持仓数周或数月。
-
跳空风险(周末、重大新闻):设有专门的跳空保护算法——当跳空 ≥35 点(阈值可调)时,删除该货币对的挂单,冷却 40 秒后重新分析指标状态并继续工作。
-
技术故障(断电、重启):所有状态在系统重启后可恢复——系列方向从现有订单中读取,每个货币对的指标状态持续保存,并与重启后的状态进行比对。
-
连续亏损后的回撤:通过全局利润目标算法和反向订单机制,亏损可由占优方的盈利来弥补。
-
交易时段:周一至周五全天候运行。
-
顾问完全自动,无需人工干预。
-
祝交易顺利!
附注:截图提供了顾问在不同货币对上的三年测试报告,测试采用默认参数。请注意,本顾问为多货币机器人,若在策略测试器中仅对单个货币对进行测试,则“利用其他货币对盈利系列来平掉老旧亏损订单”的算法将不会生效。
测试器中的特殊事项
为使测试顺利进行,顾问会自动将挂单数量限制为 2,并将总开仓订单数限制为 30。这是为了防止出现错误 148(超过订单数量限制)。
