The SATS Algorithm
- 专家
-
Saiful Izham Bin Hassan
想象一个市场,混乱被清晰所取代。
你可能已经注意到,在交易中,赢家与输家的区别不仅仅在于一个信号——而在于其背后逻辑的韧性。我叫 Syafiza,我专注于设计那些能在他人失败之处存活的机构级交易系统。
当你了解我的作品时,你会发现一种根植于「强化型剥头皮交易」的理念。我不仅仅是编写智能交易系统(EA);我打造的是防御性盾牌,能够隐藏你的策略,使其免受经纪商的操纵,并优化市场的每一个微观运动。 - 版本: 1.0
- 激活: 20
SATS算法是一个为MetaTrader 5平台构建的高度复杂的算法交易引擎。SATS代表SuperTrend自适应交易系统。与依赖静态参数和刚性逻辑的传统自动交易系统不同,该系统旨在动态适应不断变化的市场环境。该算法的核心理念完全围绕资本保全、严格的风险管理以及避免有害的交易方法。
该系统不使用网格交易、马丁格尔加仓或套利技术。系统发起的每一笔交易都由硬性止损和预设的止盈水平保护。其架构旨在应对现代市场的复杂性,包括突然的波动性飙升、经纪商执行延迟以及不可预测的宏观经济事件。
SATS算法的开发重点在于解决自动交易中的常见故障点。通过集成多层防御机制、高级统计头寸规模模型和基于成交量的趋势验证,该系统作为一个完整的、自包含的交易模块运行,能够从单个图表实例同时管理多个品种的投资组合。
核心交易策略:自适应SuperTrend
入场逻辑的基础建立在经典SuperTrend指标的进阶版本之上。然而,SATS算法并非使用固定的乘数和周期,而是采用自适应校准模块。该模块持续分析近期历史价格行为,并调整其内部基准参数,以适应当前的市场节奏。
当市场进入低波动性盘整状态时,系统会收紧参数以减少假突破信号。相反,当市场过渡到高波动性趋势阶段时,系统会扩大参数以捕捉更大的价格波动,同时避免被常规市场噪音过早止损。这种持续校准确保核心入场逻辑在各种交易时段和市场周期中保持有效。
趋势验证:趋势质量指数
标准趋势跟踪系统的一个主要漏洞是无法区分真实趋势和由低流动性驱动的假突破。为解决此问题,SATS算法引入了趋势质量指数。这一专有内部指标评估多个基础市场因素,对当前趋势进行从0到100的评分。
趋势质量指数分析成交量差值,在关键结构水平上比较买入压力与卖出压力的强度。它还测量累积成交量背离,以确保价格行为得到实际市场参与的支撑,而非算法欺骗。
在SuperTrend模块授权任何交易之前,趋势质量指数必须评估该交易设置。如果综合评分低于用户定义的最低阈值,系统将把市场归类为低质量并抑制交易信号。此过滤器大幅减少了在次优市场条件下进行交易的频率,从而将资本保留给高概率的交易机会。
高级资金管理系统
SATS算法采用了通常仅见于机构量化部门的统计资金管理模型。这些模型确保头寸规模在数学上得到优化,以实现长期增长,同时严格控制破产风险。
波动率调整的头寸规模
标准交易系统通常每笔交易风险固定比例的账户余额,而不考虑当前市场环境。SATS算法可根据交易品种的当前平均真实波动幅度(ATR)动态调整其手数。当市场波动性特别高时,系统会自动减少手数以维持每笔交易一致的货币风险。当波动性较低时,系统会按比例增加手数。这使得所有交易的风险状况得以标准化。
凯利准则
对于寻求数学优化复利效果的用户,系统包含一个可选的部分凯利头寸规模模块。算法持续跟踪其自身的历史胜率和盈亏比。利用这些统计数据,它计算下一笔交易中为最大化长期几何增长率而应承担的最优资本比例。为确保安全,系统使用高度分式化的凯利公式版本,防止在不可避免的统计回撤期间过度加杠杆。
全面风险管理
保护账户余额是SATS算法的最高优先级。系统包含一个全面的资产保护器模块,该模块完全独立于标准止损机制运行。
用户可以设定严格的最大每日亏损限额(以账户总净值的百分比表示)。如果当前交易日的浮动或已实现亏损达到该限额,系统将立即关闭所有未平仓头寸,取消所有挂单,并完全停止交易操作,直至下一个交易日开始。
此外,系统还具有绝对的最大回撤限额。如果账户净值从其历史最高峰值下跌超过此临界阈值,算法将启动全面系统锁定,以防止资本进一步缩水。
经纪商防御架构
实盘交易环境中常常存在历史回测中不存在的挑战。点差扩大、执行延迟和经纪商侧的保证金调整会严重影响算法性能。SATS算法配备了多层防御机制以减轻这些风险。
隐身模式
启用后,隐身模式将完全对经纪商服务器隐藏真实的止损和止盈水平。系统开仓时不附带任何止损单,退出逻辑完全在本地终端管理。如果市场价格触及虚拟止损水平,系统立即发送市价单以平仓。这可以防止恶意的止损猎杀行为。
Ping和延迟防护
算法执行要求与交易服务器保持低延迟连接。Ping防护持续监控连接速度(毫秒)。如果服务器延迟超过用户定义的最大限制,系统将暂停新入场,以防止严重的滑点。
高保证金要求防护
在全球地缘政治紧张时期,经纪商往往任意提高保证金要求,这可能引发意外的追加保证金通知。系统持续监控每手所需的保证金。如果经纪商将保证金要求提高到超过标准基准的预设倍数,系统将暂停新交易活动,直至保证金条件恢复正常。
交易执行与节奏
算法进入市场的方法与产生信号的逻辑同样重要。SATS算法避免使用标准市价单,因为市价单在高波动期极易出现滑点。
相反,系统采用自适应限价单。当生成有效信号时,系统根据当前价格行为计算回撤偏移量,并放置一个挂起的限价单。这确保系统仅在有利价格入场,从而显著改善策略的整体风险回报比。
为防止在震荡无序的市场中过度交易和佣金侵蚀,算法强制执行严格的交易节奏限制。用户可以设定每日允许的最大交易笔数硬上限。此外,系统在每笔平仓后强制执行冷却计时器。这一强制休息期防止系统在混乱的价格锯齿行情中立即重新入场。
离线经济新闻防护
宏观经济数据发布始终会导致不可预测的波动飙升和严重的流动性缺口。为保护未平仓头寸并防止在这些混乱事件期间入场,SATS算法集成了一个完全离线的新闻防护模块。
该模块直接连接到MetaTrader 5原生经济日历。用户可按新闻事件的预期影响级别(如高、中、低)进行过滤。系统允许用户定义特定的封锁窗口(以分钟计),即预定新闻发布前后的时间。在此封锁窗口期间,系统将暂停所有新交易入场,删除挂单,并可选择性地收紧现有未平仓头寸的追踪止损,以在波动到来前锁定利润。
详细参数词汇表
SATS算法提供广泛的定制选项,允许用户根据其特定风险承受能力和交易目标调整系统。以下是系统中每个可用输入参数的全面解释。
核心引擎参数
交易品种(Symbols to Trade):以逗号分隔的字符串,包含系统应交易的金融品种的确切名称。这使得EA能够从单个图表窗口管理多个资产。示例:EURUSD,GBPUSD,XAUUSD。
基础魔术号(Base Magic Number):分配给EA生成的所有订单的主要识别号。这确保系统仅管理自己的交易,不会干扰账户上的手动交易或其他智能交易系统。
自定义魔术号(Custom Magic Numbers):允许用户为特定品种分配唯一的魔术号,以便进行详细跟踪和报告。
资产保护参数
最大每日亏损百分比(Max Daily Loss Percent):在单个24小时内可损失的账户余额的最大百分比。如果超过此阈值,所有交易将停止,直到次日。
最大总回撤百分比(Max Total Drawdown Percent):允许的绝对最大峰谷回撤。如果账户净值从其最高水位下跌此百分比,系统将永久停止所有操作,以保留剩余资本。
离线新闻防护参数
启用MT5日历新闻防护(Enable MT5 Calendar News Guard):布尔切换开关,用于激活或取消与MetaTrader 5经济日历的集成。
最低新闻影响(Minimum News Impact):下拉选择,用于确定哪些级别的新闻事件应触发封锁协议。选项通常包括“仅高影响”或“中等和高影响”。
新闻前暂停分钟数(Pause Before News Mins):在预定新闻事件之前,系统拒绝所有新交易信号的分钟数。
新闻后暂停分钟数(Pause After News Mins):新闻事件之后系统保持暂停的分钟数,以便市场消化数据并恢复正常的流动性条件。
市场状态和时段参数
启用市场状态检测(Enable Market Regime Detection):激活内部市场阶段分析模块,使系统能够区分区间盘整和定向趋势。
时段开始小时(Session Start Hour):根据经纪商服务器时间,算法被授权开始扫描交易设置的特定小时。
时段结束小时(Session End Hour):算法必须停止生成新入场的特定小时。现有未平仓头寸将继续正常管理。
挂单和入场参数
使用限价单而非市价单(Use Limit Orders instead of Market):强制系统仅通过挂起的限价单进入交易,以确保精确的入场价格并消除滑点。
限价单回撤偏移点数(Limit Order Retracement Offset Pips):挂起限价单将放置在当前市场价格的确切距离(点数)。
在趋势状态下扩大风险回报比(Expand RRR in Trending Regimes):当市场状态模块检测到强劲、持续的趋势时,该动态功能自动增加止盈距离,旨在捕获最大市场扩展。
自适应SuperTrend和TQI参数
SuperTrend周期(SuperTrend Period):用于计算SuperTrend指标基准波动率的历史柱数。
SuperTrend基础乘数(SuperTrend Base Multiplier):应用于平均真实波幅以计算SuperTrend线与中位价格距离的乘数。
TQI计算周期(TQI Calculation Period):趋势质量指数用于评估成交量和背离指标的回看窗口。
最低综合评分(Minimum Composite Score):趋势质量指数必须达到或超过以验证交易信号的严格数值阈值(0到100)。
使用成交量差值过滤信号(Filter signals using Volume Delta):启用对买入成交量与卖出成交量的分析,以确认趋势方向。
使用CVD背离过滤信号(Filter signals using CVD Divergence):激活累积成交量背离检查,确保价格行为不与基础市场成交量背离。
风险和资金管理参数
每笔交易基础风险百分比(Base Risk per Trade Percent):单笔交易中风险的当前账户余额的标准百分比。系统根据止损距离使用此值自动计算精确的手数。
自定义风险(Custom Risk):允许用户为特定品种覆盖基础风险百分比,为稳定货币对分配更多风险,为波动性资产分配较少风险。
RRR TP1(止盈1的风险回报比):第一个止盈目标的风险回报比。例如,值为1.5表示止盈距离是止损距离的1.5倍。
RRR TP2(止盈2的风险回报比):第二个分批止盈目标的风险回报比。
RRR TP3(止盈3的风险回报比):最终止盈目标的风险回报比。
使用凯利分数式头寸规模(Use Kelly Fractional Bet Sizing):激活根据算法历史胜率缩放头寸规模的统计资金管理模块。
使用波动率调整的头寸规模(Use Volatility Adjusted Lot Sizing):启用当平均真实波幅超过历史基准时动态减小头寸规模的功能。
隐身模式和防御参数
向经纪商隐藏止损和止盈(Hide SL and TP from broker):激活隐身模式,将所有止损和止盈参数严格保存在本地终端内存中,并向经纪商服务器隐藏。
最大允许点差(点数)(Max allowed spread Pips):系统将接受的最大绝对点差点数。如果当前市场点差超过此值,所有交易入场将被暂停。
启用高保证金要求防护(Enable High Margin Req Guard):激活保证金监控防御,以保护账户免受经纪商突然降低杠杆的影响。
启用Ping和延迟防护(Enable Ping and Latency Guard):激活执行速度防御,确保仅在服务器连接最优时进行交易。
交易节奏参数
每日最大交易笔数(Max Trades Per Day):系统在单个24小时内允许开启的新头寸总数的硬上限。
平仓后冷却分钟数(Cooldown after closed trade mins):系统在平仓后必须遵守的强制休息分钟数,之后才允许处理该特定品种的新信号。
