模糊逻辑介绍(基础篇)
「把「非黑即白」换成隶属度」
经典布尔逻辑里,一个命题只有真(1)或假(0)。但在价格行为里,把「趋势强」硬判成 0 或 1 往往失真——一段行情可能「偏强但没强透」。模糊逻辑用隶属度 μ∈[0,1] 描述这种中间状态,例如 μ=0.7 表示「70% 像上升趋势」。 在 MT5 里这套思路可直接落地。MQL5 没有内建 fuzzy 库,但用普通数组就能写隶属函数。下面这段用三角形隶属函数给「波动率」分三档,回测窗口取 2015 年 10 月发布示例后 EURUSD H1 数据,参数经手调可复现。 外汇与贵金属属高风险品类,隶属度只描述概率倾向,不构成方向保证。
class="type">class="kw">double TriMembership(class="type">class="kw">double x, class="type">class="kw">double a, class="type">class="kw">double b, class="type">class="kw">double c) { if(x <= a || x >= c) class="kw">return class="num">0.0; class=class="str">"cmt">// 完全不在三角形底边区间,隶属度 class="num">0 if(x == b) class="kw">return class="num">1.0; class=class="str">"cmt">// 顶点处完全隶属 if(x > a && x < b) class="kw">return (x-a)/(b-a); class=class="str">"cmt">// 左侧线性上升 class="kw">return (c-x)/(c-b); class=class="str">"cmt">// 右侧线性下降 }
◍ 模糊逻辑从理论到控制的演化
模糊集合与模糊逻辑的数学根基可追溯到 1965 年,由加州大学伯克利分校的卢特菲·扎德教授在《信息与控制》学报论文中首次提出。它让精确数学能够容纳“模糊概念”,在软计算路径上给出了一套不同于传统二值判定的问题解法,后续也被用于专家系统与神经网络的构建。 但在交易与工程语境里,模糊逻辑真正落地的主干并不在纯理论,而是自动化控制。它催生了“模糊模型”这一数学模型的特例,用隶属度替代非黑即白的阈值,更适合处理外汇与贵金属中高噪声、高风险的价格状态。 对 MT5 使用者来说,这意味着你可以把“趋势强 / 弱”“超买 / 未超买”写成隶属函数,而不是硬切条件。这类写法在震荡行情里可能比固定阈值更少被假突破洗掉,但杠杆品种风险仍高,需自行回测验证。
从非黑即白到隶属度
经典数理逻辑里,一个对象对某个集合的隶属关系只有两个离散值:1 表示属于,0 表示不属于。这种二值判定在价格状态划分上很死板——一段行情要么算「趋势」,要么算「非趋势」,中间地带直接被丢掉。 扎德把「隶属」从离散概念推开,引入「隶属度」来替代原来的硬边界,集合也随之变成模糊集合。也就是说,某个价格形态可以同时以 0.3 的程度属于「震荡」、以 0.7 的程度属于「趋势」,而不是被迫二选一。 对做价格行为的人而言,这解释了为什么手工划线的支撑阻力总带点弹性:你脑子里的「有效破位」本来就是个程度问题,不是开关量。用模糊集合重述这类状态,比硬套二值条件更贴近盘感。
「模糊集合与隶属度怎么落地到交易变量」
把「模糊」引入价格行为分析,第一步是放弃非黑即白的分类。模糊集合在论域上由元素与其隶属度配对构成,隶属度落在 [0,1] 区间:0 代表完全不属此集,1 代表完全属于,中间值才是模糊集区别于普通集的关键。 隶属函数负责算某个随机元素进集合的程度,域必须限制在 [0,1],多数情形是连续单调函数。语义变量用自然语言词做值,比如「趋势强度」「波动状态」,它的特征集合由任务主观决定,每个特征的隶属函数通常唯一,可经直接、间接或相对次数法构造。 用「年龄」做例:论域设 [0,80],特征集合含「青年 / 中年 / 老年」。取 30 岁作垂线,与三条隶属函数交于 (30,0)、(30,0.29)、(30,0.027)——即老年隶属度 0、中年 0.29、青年 0.027。可见 30 岁者不属老年,中年略占优但 0.29 仍低,青年反而更贴实。 去模糊化把模糊集转成具体数,现有超 20 种方法且结果差异明显;重心法迄今倾向给出较优结果。外汇与贵金属波动非线性,用此类语义变量刻画状态前,务必先在 MT5 用历史数据验证隶属函数划分是否合理,高风险品种尤忌直接套用。
◍ 模糊模型落地的三阶段与权重陷阱
模糊逻辑把'真/假'换成程度,允许语义变量带灰度。它和传统集合算法一样能并交补,只是计算更重;多集合叠加仍可合成一个模糊集,但这层主观映射若拍得太粗,误差会直接放大。 模糊模型适合弱形式化对象:当贵金属波动的数学描述太复杂或根本未知时,用'if-then'规则库顶上。模型输出质量死死绑在建库专家身上,想降错只能把规则画全,再拿学习机和大训练集去磨。 构建分三步:定输入输出特征、建知识库、选推理法。第一步定调后面两步。规则库无数量上限,每条带权重因子,区间[0,1];很多文献不写权重,实际是默认每条固定为1,这坑容易让人误以为规则等权。规则分简单(单模糊变量)和复杂(多变量),推理主用 Mamdani 或 Sugeno。 外汇和贵金属杠杆高、滑点狠,模糊规则权重拍脑袋设1,回测好看实盘也可能翻车,开 MT5 接 fuzzylite 前先把手写权重列出来核对。