计算BOLL指标布林轨道角度,均线角度

5 篇文章 6 订阅
4 篇文章 0 订阅

BOLL很容易计算,但有时候会考虑到布林上下轨的角度问题。话不多说,直接上主代码。

def BOLL(klinedata, N=20, K=2):
    dataframe = dict({'time': [i["time_str"] for i in klinedata],
                      "open": [i["open"] for i in klinedata],
                      "close": [i["close"] for i in klinedata],
                      "low": [i["low"] for i in klinedata],
                      "high": [i["high"] for i in klinedata]
                      })
    df = pd.DataFrame(dataframe)
    # 处理数据
    tmp2 = round(df['close'].rolling(N).std(ddof=0), 2)
    df['mid'] = round(df['close'].rolling(N).mean(), 2)
    df['upper'] = round(df['mid'] + K * tmp2, 2)
    df['lower'] = round(df['mid'] - K * tmp2, 2)
    df['mid_angle'] = np.arctan((df.mid / df.mid.shift(1) - 1) * 100) * 180 / 3.1415926   # 中轨角度
    df['upper_angle'] = np.arctan((df.upper / df.upper.shift(1) - 1) * 100) * 180 / 3.1415926   # 上轨角度
    df['lower_angle'] = np.arctan((df.lower / df.lower.shift(1) - 1) * 100) * 180 / 3.1415926   # 下轨角度
    return df

其中klinedata是在币安/火币/okex交易所获取的K线,

币圈量化研究,欢迎一起探讨。+V:13699885251

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值