寻找 MACD 背离

Finding MACD Divergence

我想创建一个循环来自动查找具有特定 scenario/criterion 的 MACD 背离,但我发现它很难执行,尽管在观察图表时很容易发现。注意:你可以很容易地得到这个作为现成可用的扫描仪,但我想提高我的 python 知识,希望有人能够帮助我完成这个任务。

我的主要问题是如何让它引用 40 行以上,并向前测试 - 我无法理解逻辑本身。

规则如下:假设我们有下面的table

Date Price MACD Hist
04/08/2021 30 1
05/08/2021 29 0.7
06/08/2021 28 0.4
07/08/2021 27 0.1
08/08/2021 26 -0.15
09/08/2021 25 -0.70
10/08/2021 26 -0.1
11/08/2021 27 0.2
12/08/2021 28 0.4
13/08/2021 29 0.5
14/08/2021 30 0.55
15/08/2021 31 0.6
16/08/2021 30 0.55
17/08/2021 29 0.5
18/08/2021 28 0.4225
19/08/2021 27 0.4
20/08/2021 26 0.35
21/08/2021 25 0.3
22/08/2021 24 0.25
23/08/2021 23 0.2
24/08/2021 22 0.15
25/08/2021 21 0.1
26/08/2021 20 0.05
27/08/2021 19 0
28/08/2021 18 -0.05
29/08/2021 17 -0.1
30/08/2021 16 -0.25

我想要代码:

  1. 如果今天的价格 < 点 1 中记录的价格(本例中为 16$ < 25$)并且
  2. 今天的 MACDHist > 点 1 中记录的绝对值 MACD (ABS(-0.7) > ABS(-0.20)) AND
  3. 在同一时期,我们记录了那些价格和 MACDHist(从 09/08/2021 到今天),MACDHist 至少一次为正。

如果我的解释不是很清楚,我很抱歉,因为下图可能有助于说明我所追求的场景: A. 特定时期的Lowes MACDHist B. 同期MACDHist至少有一次为正 C. 价格低于 A 点(价格 C 低于 A)且 MACDHist 在 A 点高于 MACDHist(即 ABS 术语较低)

在类似的情况下,我使用了 backtrader. Its a feature-rich Python framework for backtesting and trading and you can also use it in order to generate lots of predefined indicators. In addition with this framework you are able to develop your own custom indicator as shown here。它非常易于使用,并且支持许多数据格式,例如 pandas 数据帧。请看一看!

我在这个很棒的 post 中找到了答案。它不是直接实现,但至少逻辑是相同的,通过用 MACDHist 替换 RSI 信息,您可以得出相同的结论。