我试图获得一个在一系列点中较高的点,即枢轴高点,然后在一系列枢轴高点中我想找到一个显着的枢轴高点。为此,我试图创建一个不是预先定义的但每次都会计算的范围。它通过拐点图进行计算,以确定给出高于范围的点和低于范围的点的最佳参数。
这对于大量数据来说效果很好。如果循环无法找到最佳参数,我将手动分配最佳高数据和最佳低数据。我们还可以检查参数值有一个范围,并且较低的参数有一个条件,即它不能超过某个值。
这是足够的背景知识并确保代码被很好地理解。
现在我想添加一个功能,将趋势线绘制到包含重要枢轴高点、重要枢轴低点和收盘价的图中。趋势线的特征应该是这样,我能够将重要的枢轴低点与价格图表上的上升趋势线连接起来。该线触及的枢轴低点越重要,趋势线就越强。下降趋势线和重要枢轴低点的情况也是如此。
红色虚线和绿色虚线分别代表当前正在绘制的线。黑色和蓝色的连接线是我希望从代码中得到的东西。
我认为,我无法正确思考逻辑,一旦清除,我就可以清楚地编写算法。
代码:
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import argrelextrema
def calculate_pivot_points(data):
pivot_points = []
resistance_levels = []
support_levels = []
pivot_high_points = []
pivot_low_points = []
for i in range(len(data)):
high = data.loc[i, 'high']
low = data.loc[i, 'low']
close = data.loc[i, 'close']
# Calculate Pivot Point
pivot_point = (high + low + close) / 3
pivot_points.append(pivot_point)
# Calculate Resistance Levels
resistance1 = (2 …Run Code Online (Sandbox Code Playgroud)