美文网首页
如何用Python自动获取加密货币恐慌指数并提醒

如何用Python自动获取加密货币恐慌指数并提醒

作者: 杨卫祥_老杨提醒 | 来源:发表于2020-04-07 23:56 被阅读0次

    我写过两篇与加密货币恐慌指数有关的文章,一篇是对这个指数的官方翻译链接,另一篇是用好币圈这五大指数,助你抄底与逃顶

    这个指数从0~100,数字越小代表越恐慌,越大代表越贪婪。0代表极度恐慌,100代表极度贪婪。

    我把恐慌指数(下图灰色)与比特币价格(下图绿色)对比,这个数据和比特币的价格趋势比较接近,可以作为底部和顶部的参考。

    那我们有没有办法可以用程序自动监控这个值,到了设定范围,比如低于10时提醒自己抄底,高于80提醒我们卖出呢?

    我们去官方网站:https://alternative.me/crypto/fear-and-greed-index/  找找有没有解决办法。

    发现在官方网站最下方有API说明,并且有示例,就是我们想要的。

    API链接为https://api.alternative.me/fng/

    获取方法为GET

    几个可选参数为

    limit,整数,返回结果数量,默认为1,如果设为0则返回全部数据

    format, 字符串,返回格式,默认json,也可选择csv

    date_format,字符串,日期格式,比如YYYY/MM/DD中国格式年月日就用cn,MM/DD/YYYY美国就用us

    就这几个,非常方便,比如使用https://api.alternative.me/fng/?limit=0&format=json&date_format=cn就会返回下列数据:

    {

        "name": "Fear and Greed Index",

        "data": [

            {

                "value": "20",

                "value_classification": "Extreme Fear",

                "timestamp": "2020-04-07",

                "time_until_update": "-1586186356"

            },

    ...

    }

    非常贴心,方便,只需使用requests.get(url)就行。

     下面设定我们想要的值,利用钉钉提醒就行了。

    完整代码如下

    import json

    import requests

    # 异常监控用

    def send_dingding_msg1(content, robot_id='钉钉机器人ID'):

        try:

            msg = {

                "msgtype": "text",

                "text": {"content": content + '\n' + datetime.datetime.now().strftime("%m-%d %H:%M:%S")}

            }

            headers = {"Content-Type": "application/json ;charset=utf-8 "}

            url = 'https://oapi.dingtalk.com/robot/send?access_token=' + robot_id

            body = json.dumps(msg)

            status = requests.post(url, data=body, headers=headers)

            if status.status_code == 200:

                return status.json()

            return status

        except Exception as err:

            print('钉钉发送失败', err)

    while True:

    try:

            url ="https://api.alternative.me/fng/?limit=0&format=json&date_format=cn"

            response = requests.get(url)

            if response.text:

                FGI =float(response.json()['data'][0]['value'])# 处理返回数据

                print('FGI', FGI)

    value_classification = response.json()['data'][0]['value_classification']# 处理返回数据

                print('value_classification:', value_classification)

    timestamp = response.json()['data'][0]['timestamp']# 处理返回数据

                print('timestamp', timestamp)

            else:

                continue

            if FGI <=20:# 当小于20时实现钉钉提醒

                print('FGI', FGI)

    content ='恐慌指数小于指定值,为'+str(FGI)#

                send_msg1 = send_dingding_msg1(content)

    print(send_msg1)

    break

            if FGI >80:# 当大于80时实现钉钉提醒

                print('FGI', FGI)

            content ='恐慌指数大于指定值,为'+str(FGI)#

                send_msg1 = send_dingding_msg1(content)

                print(send_msg1)

    except Exception as order_err:

        print("查询出错,继续尝试", order_err)

        time.sleep(3)

    相关文章

      网友评论

          本文标题:如何用Python自动获取加密货币恐慌指数并提醒

          本文链接:https://www.haomeiwen.com/subject/rkbaphtx.html