美文网首页
如何用Python编程实时监控币种拉盘或砸盘行为

如何用Python编程实时监控币种拉盘或砸盘行为

作者: 杨卫祥_老杨提醒 | 来源:发表于2019-06-21 23:58 被阅读0次

最近行情好转,我们经常会发现有些币时不时有拉盘或砸盘的行为,能否实时监测到这种行为,并及时给我们发消息呢?如果可以,我们也可能趁机做个短线。

比如公信宝最近号称启动500万美金以上的二级市场回购计划,持续两个月从6月5日到8月5日。

我们可以看下最近几次的数据:

第一次回购发生在6月5日,如下图第一个矩形框,GXC价格从1.1USDT最高拉到1.68,涨幅超过40%,后来回落在1.5左右;

第二次回购在6月10日,如下图第二个矩形框,从1.5左右拉到最高2.88,涨幅达80%多,随后回落到2.4左右。

我发现有些规律,每次都是硬生生地拉盘,涨幅非常夸张,回购两个月,第一次用25万美元,第二次用我发现有些规律,每次都是硬生生地拉盘,涨幅非常夸张。回购要进行两个月,第一次用了25万美元,第二次用了50万美元,还有425万美元要回购。那么能否在拉盘之前埋伏些,然后在拉盘的时候高价出货呢?若手里有公信宝,还可以在拉盘时高价卖出,然后再接回来呢?

做这件事需要知道什么时候拉盘,因为这个时间段并不长,又不可能天天盯着。

我想起了用Python编程来监控价格异常以及官方的回购账户余额,然后利用原来文章谈到过的发钉钉消息到手机和电脑上提醒,及时掌握。

使用程序之前导入需要的库和包

import json, requests, ccxt, datetime, time

一、调取价格信息

利用CCXT库统一调用火币或币安账户,获取交易对行情信息。

注意公信宝在火币上已经改为GXC,但在币安上没改还叫GXS,以火币GXC/USDT交易对为例。直接解读程序:

# 监控涨幅及价格

symbol ='GXC/USDT'  # 交易对

huobipro = ccxt.huobipro() # 火币交易所  公共接口不用API KEY

ticker = huobipro.fetch_ticker(symbol) # 使用ccxt调取行情信息

# print(ticker)

percentage =float(ticker['percentage']) # 从行情数据中找到价格变化比,火币是从0点开始算的,币安是24小时内的

lastPrice =float(ticker['last']) # 调取当前成交价

print('GXS涨跌',percentage)

print('最新价',lastPrice)

通过以上就可以调取到GXC/USDT的涨跌幅,及最新价格。

二、监控官方回收账户

官方给出的回收账户是gxc-buy-back,我们可以根据公信宝的浏览器https://block.gxb.io/#/account/gxc-buy-back来查看余额,要想用程序监控,就需要使用官方的API,在浏览器上有说明如何获取余额,如下图

把账户换成gxc-buy-back,就可以得到查询的网址

url = "https://block.gxb.io/api/account_balance/gxc-buy-back"  # 公信宝钱包余额

我们通过以下数据可以调取出来返回数据

account_balance = requests.get(url)

if account_balance.status_code ==200:

account_balance = json.loads(account_balance.text)

print(account_balance)

得到结果:[{'amount': '37990049000', 'asset_id': '1.3.1’}]

我们发现这个单位与钱包余额单位不同

那只要转化下,把返回结果除以100000就可以了,处理数据如下

Buy_back =float(ticker[0]['amount']) /100000

print(Buy_back)

返回379900.49,就是回购钱包余额

三、设定目标及时发消息提醒

有了前面的数据,我们就可以设定目标来用钉钉或微信发提醒。

比如当涨幅超过5%时,给我发钉钉提醒,我可以等到高点出货

或当跌幅达到10%时,也给我钉钉提醒,我可以逢低买入

if percentage >5 or percentage < -10:

   # 发提醒

   content ='GXS涨幅'+str(percentage)+',GXS价格'+str(lastPrice)

    send_msg1 = send_dingding_msg1(content)

   print(send_msg1)

官方先购买,然后把购买的公信宝再转到这个回购账户里,这个有点慢,但我们可以用些判断是不是官方的回购。

比如目前余额379900.49,随便设个大于这个数的值,超过就钉钉提醒

if Buy_back >381800:

   print('公信宝回购钱包余额增加')

   # 发提醒

   content ='公信宝回购钱包余额增加'

   send_msg1 = send_dingding_msg1(content)

   print(send_msg1)

    time.sleep(1)

最后再加入循环,可以一直监控,后面我会附上完整程序。

使用感受:

6月15日,我在币安提前布局了GXS,程序在6月16日监控到有大的上涨,于是我在高5~6个点出掉,后来发现官方回购账户并没有增加,一查看消息得知这次拉盘是因为公信宝在币安搞交易赛活动,所以并不是回购。注意最近BTC波动非常大,如果想做这个短线,建议用USDT交易对比较好。

当然你也可以监控价格,或者其它随便你想监控的,来进行提醒。换币种,换交易所等等,有了这样的一手及时消息,相信一定会对你有所帮助,祝发财!

附完整代码

import json, requests, ccxt, datetime, time

# 异常监控用

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()

# else:

#    return response.json()

        return status

except Exception as err:

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

while True:

try:

time.sleep(5)

# 监控涨幅及价格

        symbol ='GXC/USDT'  # 交易对

        huobipro = ccxt.huobipro()# 火币交易所  公共接口不用API KEY

        ticker = huobipro.fetch_ticker(symbol)# 使用ccxt调取行情信息

# print(ticker)

        percentage =float(ticker['percentage'])# 从行情数据中找到价格变化比,火币是从0点开始算的,币安是24小时内的

        lastPrice =float(ticker['last'])# 调取当前成交价

        print('GXS涨跌', percentage)

print('最新价', lastPrice)

# 监控回收账户

# ticker = GET(url)

        url ="https://block.gxb.io/api/account_balance/gxc-buy-back"  # 公信宝钱包余额

        account_balance  = requests.get(url)

if account_balance.status_code ==200:

account_balance = json.loads(account_balance.text)

print(account_balance)

Buy_back =float(account_balance[0]['amount']) /100000

        print(Buy_back)

if percentage >5 or percentage < -10:

# 发提醒

            content ='GXS涨幅'+str(percentage)+',GXS价格'+str(lastPrice)

send_msg1 = send_dingding_msg1(content)

print(send_msg1)

time.sleep(1)

if Buy_back >381800 :

print('公信宝回购钱包余额增加')

# 发提醒

            content ='公信宝回购钱包余额增加'

            send_msg1 = send_dingding_msg1(content)

print(send_msg1)

time.sleep(1)

except Exception as err:

print("查询出错", err)

time.sleep(1)

相关文章

网友评论

      本文标题:如何用Python编程实时监控币种拉盘或砸盘行为

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