我想创建一个循环来自动查找具有特定场景/标准的 MACD 背离,但我发现执行起来很困难,尽管在通过眼睛查看图表时很容易发现它。注意:您可以轻松地将其作为现成可用的扫描仪,但我想提高我的 python 知识,希望有人能够在这里帮助我完成这项任务。
我的主要问题是如何让它引用 40 行,并向前测试 - 我无法理解逻辑本身。
规则如下:假设我们有下表
日期 | 价格 | MACD 历史 |
---|---|---|
2021 年 4 月 8 日 | 30 | 1 |
2021 年 5 月 8 日 | 29 | 0.7 |
2021 年 6 月 8 日 | 28 | 0.4 |
2021 年 7 月 8 日 | 27 | 0.1 |
2021 年 8 月 8 日 | 26 | -0.15 |
2021 年 9 月 8 日 | 25 | -0.70 |
2021 年 10 月 8 日 | 26 | -0.1 |
2021 年 11 月 8 日 | 27 | 0.2 |
2021 年 12 月 8 日 | 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 |
2021 年 8 月 17 日 | 29 | 0.5 |
2021 年 8 月 18 日 | 28 | 0.4225 |
2021 年 8 月 19 日 | 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 |
2021 年 8 月 30 日 | 16 | -0.25 |
我希望代码:
从今天开始回顾 40 天,在这 40 天内获得 MACDHist 中达到的最低点和与之对应的价格(即在本示例中为 2021 年 9 月 8 日的价格 25$ 和 MACDHist -0.7)
将其与今天的价格和 MACDHist 进行比较,并根据以下 3 条规则给出分歧:
- 如果今天的价格 < 第 1 点的记录价格(在本例中为 16$ < 25$)并且
- 今日 MACDHist > 第 1 点以绝对值记录的 MACD (ABS(-0.7) > ABS(-0.20)) 和
- 在同一时期,我们记录了那些价格和 MACDHist(从 2021 年 9 月 8 日到今天),MACDHist 至少有一次为正。
如果我的解释不是很清楚,我很抱歉,因为下图可能有助于说明我所追求的情况: A. 指定时期内的 Lowes MACDHist B. 在同一时期内,MACDHist 至少一次为正 C. 价格低于 A 点(价格 C 低于 A)且 MACDHist 在 A 点高于 MACDHist(即在 ABS 方面较低)