Day25- 如何盘中计算技术指标且发送讯号到line: 成果示范

今天要整合先前所学,使用colab盘中即时计算技术指标,当技术指标达到我们要的条件时,发送讯息到line!

盘中计算技术指标,通常是每隔一段时间计算一次,例如每五分钟计算一次一分K的5MA,发送line通知显示现在的收盘价在一分K的5MA之上或之下,写法如下,
使用

date.today()

自动取得今天的日期,

from datetime import date
date.today()
today=str(date.today())

使用while回圈与

datetime.now().minute %5==0

达成每五分钟计算一次技术指标的目的。

每五分钟取得一分K,用

talib.SMA(df['Close'],5) 

计算一分K的5MA,判断目前收盘价在5MA之上或是之下并发送line讯息,因为本范例是每五分钟计算一次讯号,所以每次计算完可以用

time.sleep(60)

休息个60秒(可自由选择)

import time 
from datetime import datetime
while True:
  if (datetime.now().minute %5 == 0) :  #每五分钟计算一次
    kbars = api.kbars(api.Contracts.Futures.TXF['TXFJ1'], start=today, end=today)
    df = pd.DataFrame({**kbars})
    df.ts = pd.to_datetime(df.ts)
    df.set_index('ts',inplace=True) ##将时间设为index
    SMA_5 = talib.SMA(df['Close'],5)
    if df['Close'].iloc[-1] < SMA_5.iloc[-1]:
      msg = '台指目前在一分K的5MA之下'  
      lineTool.lineNotify(lineC,msg)  
      time.sleep(60)   #每次计算完休息60秒
    elif df['Close'].iloc[-1] > SMA_5.iloc[-1]:
      msg = '台指目前在一分K的5MA之上'  
      lineTool.lineNotify(lineC,msg) 
      time.sleep(60)   #每次计算完休息60秒

透过以上的范例程序码,简单介绍如何用一分K每五分钟计算一次技术指标并发送line讯息,可以搭配先前几篇系列文,试试看如何每隔一段时间计算5分K的技术指标并发送line讯息。


<<:  【Day 25】- 什麽几百张几千张的猫猫图片,戳一戳就结束了(实战 requests 向 API 请求获得回应)

>>:  JavaScript学习日记 : Day28 - console实用技巧

Day 25 - WooCommerce: 验收永丰银行刷卡流程

这个系列的 Day 19 至 Day 24 都是为了完成永丰银行数位金融 API 「丰收款」结合 W...

Rust-命令行的输入输出

命令行参数 一般来说编译好的执行档都是透过命令行来制执有些时候需要读取一些命令行参数或是环境参数 程...

[Day 04] 用 Exposed 和资料库进行串接

安装 Exposed 框架完成之後,再来我们要和资料库进行串接。 首先我们将原本的 main(){}...

Day24 jQuery 基本教学(四)

CSS 与特效 JQ 的特效主要是协助快速控制 CSS,包含控制了你的 display 做显示或隐藏...

神兵利器 - Optimizer trace

有些蛙友可能觉得凭什麽mysql最佳化工具定出的执行计画跟我不一样,我可能觉得我预想的执行计画比较快...