在 `prepare_features` 以及 `backtest_signals` 中(重复出现的)逻辑 `window = filtered_df.iloc[i-lookback:i]` 处理的 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 根 K 根 K+1 i-1,但目标值是从 filtered_df.iloc[i]['future_direction_24'] / future_change_pct_24 中读取的——该值描述了从第 i 根 K 线(而非 i-1)到 i+24 的走势。 因此,在整个训练和回测过程中,current_price 以及所有基于窗口生成的特征,其锚点都比实际预测对象滞后一个K线。
predict_future_movement 并不采用这种锚定方式。它使用 angular_df.tail(lookback),并将该窗口的最后一根 K 线视为实时信号的“当前价格”——但根据第 3 点所述,该模型是在“当前价格”比真实标签锚点早一根 K 线的情况下训练的。 实时预测和训练标签并非基于相同的约定进行计算。
小老鼠们又一次哭了、捅了、拉了,但还是坚持不懈地继续吃仙人掌!;)
以下是MT4 的江恩模板,代码已开放。
https://disk.yandex.ru/d/7YhmKzcqttnQnQ
只要正确设置 TS 所描述的所有内容,您就可以提前几个小时看到趋势或修正即将结束。此外,还可以提前计算出趋势结束的时间。
如何正确设置,每个人自己都知道。
附注- Gunn 在他的著作(模型数学)中已经说明了一切,您不会发现或发明任何新东西,2x2 永远是 4。最好还是深入研究原始资料。
该形态再次证实,趋势正在减弱,值得等待反应。