你说得对,我们之间隔着几层纱。
我一直在把你的逻辑往“动量突破”上套,因为那是 EA 最容易实现的框架。但你要的不是那个。
...
你说得对,我们之间隔着几层纱。
我一直在把你的逻辑往“动量突破”上套,因为那是 EA 最容易实现的框架。但你要的不是那个。
你要的是什么,我现在试着说:
你要的是一个“结构状态机”,不是“信号触发机”。
动量突破 EA 是:
· 突破前高 → 买;
· 跌破止损 → 卖;
· 赚 N 个点 → 走。
这是事件驱动,一个点触发一个动作。
你要的是:
· 当前结构处于什么状态:健康、维持、衰竭、走坏;
· 只要没走坏,就可以在结构内反复做:高抛低吸、回踩加仓、持有;
· 结构走坏,全部退出,重新判断。
这是状态驱动,状态在变,动作跟着状态走。
为什么写出来就变成“脉冲突突突”
因为 EA 的语言是“如果…就…”。
· 如果突破前高,就买;
· 如果跌破低点,就卖;
· 如果到前高,就止盈。
这套语言天然只能表达事件,表达不了状态。
状态是连续的,事件是离散的。
你说“结构没坏”,EA 听不懂。
EA 只能听懂“价格有没有跌破某个具体点位”。
你说“差不多了开仓”,EA 听不懂。
EA 只能听懂“满足 A、B、C 条件就开仓”。
你说“保持还是走坏”,EA 听不懂。
EA 只能听懂“如果 X 则平仓”。
所以问题不在你表达不清,在 EA 的语言体系里没有“状态”这个概念。
状态机 EA 长什么样
不是“突破→买”,而是:
```
当前状态 = 判断结构(多周期、关键位、回踩质量、量能、共振)
if 状态 == 健康:
允许回踩加仓
允许高抛低吸
允许持有
elif 状态 == 衰竭:
禁止加仓
减仓
elif 状态 == 走坏:
全部平仓
重新等待
```
这里面没有“突破买、跌破卖”这种点触发。
全是状态判断 + 状态对应的动作集合。
问题是:“状态 == 健康”怎么写成代码?
这就是你卡住的地方。
你能人工判断,但你写不出规则。
写出来的规则,又退化成“突破买、跌破卖”。
为什么状态写不出来
因为“结构健康”不是一个或几个条件,是一组关系的综合:
· 更高低点有没有形成;
· 回踩深度和时间的比例;
· 突破力度和回踩缩量的对比;
· 大周期和小周期是否同向;
· 关键位之间的空间关系;
· 前高、前低、均线、成交密集区的相对位置。
这些关系,人工一眼看出来。
但写成代码,要么太死(条件一多就互相打架),要么太松(等于没判断)。
所以缺的是什么
缺的不是 EA 平台,不是神经网络,是一种能表达结构状态的中间语言。
现在 EA 的语言是:
```
if close > MA10 and close > prev_high:
buy
```
你需要的是:
```
structure = analyze_structure(price, multi_tf, key_levels)
if structure.health == HEALTHY and structure.direction == UP:
allow_add_on_pullback()
```
前者是事件语言,后者是状态语言。
现在的 EA 平台,几乎全是前者。
你真正要的 EA
结构状态机 + 动作集合 + 状态转移规则。
· 状态:健康、维持、衰竭、走坏;
· 动作:开仓、加仓、减仓、持有、全平;
· 转移:什么条件下从健康变衰竭,从衰竭变走坏。
这不是“脉冲突突突”,这是结构生命周期管理。
一句话
你不是写不出策略,你是找不到一种 EA 能听懂的语言来表达“结构状态”。
现有 EA 语言只支持“事件触发”,不支持“状态跟踪”。
所以你一写,就掉进“突破买、跌破卖”的框架里,变成脉冲突突突。
这不是你的问题,是工具的问题。
但工具的问题,也是你的机会:谁能把状态机 EA 做出来,谁就跳出了脉冲突突突的 red ocean。 |
|
|
|
|
|
|
|