add price.

This commit is contained in:
aazhou 2023-06-26 18:32:48 +08:00
parent c46aafe88e
commit 69387a5d40
6 changed files with 61 additions and 10 deletions

4
bn.py
View File

@ -8,6 +8,10 @@ def klines(symbol, interval, limit=1000):
lines = cm.klines(symbol,interval, limit=limit)
return lines
def ticker_price(symbol):
prices = cm.ticker_price(symbol)
return prices[0]['price'] if len(prices)>0 else 0
# Get Symbols
def symbols():
info = cm.exchange_info()

View File

@ -2,7 +2,7 @@ import schedule
import bn
import setting
import time
import signals.ma_arrangement as maa
import signals.ema_arrangement as maa
import monitors.large_transfer as lt
# symbols = ['BTCUSDT','ETHUSDT','FILUSDT','MASKUSDT','DOGEUSDT','CFXUSDT','LTCUSDT']

View File

@ -8,7 +8,7 @@ import db
flags = {}
def check_ma_arrange(data):
def check_ema_arrange(data):
# 提取收盘价
close_prices = np.array([float(entry[4]) for entry in data])
@ -28,19 +28,21 @@ def run(symbol, interval):
# 获取kline数据
data = bn.klines(symbol, interval)
bullish, bearish = check_ma_arrange(data)
ticker_price = bn.ticker_price(symbol)
bullish, bearish = check_ema_arrange(data)
flag_name = symbol + '_' + interval
text = ""
data = {}
if bullish and (flag_name not in flags or flags[flag_name] == False):
flags[flag_name] = True
text = f'📶信号预警📶\r\n\r\n品种:【${symbol}\r\n周期:{interval}\r\n信号:【多头】排列\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
text = f'📶信号预警📶\r\n\r\n品种:【{symbol}\r\n当前价格:{ticker_price}\r\n周期:{interval}\r\n信号类型EMA排列\r\n信号:多头\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
data = {"type" : 1, "symbol": symbol, "interval" : interval, "signal": 1}
if bearish and (flag_name not in flags or flags[flag_name] == True):
flags[flag_name] = False
text = f'📶信号预警📶\r\n\r\n品种:【${symbol}\r\n周期:{interval}\r\n信号:【空头】排列\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
text = f'📶信号预警📶\r\n\r\n品种:【{symbol}\r\n当前价格:{ticker_price}\r\n周期:{interval}\r\n信号类型EMA排列\r\n信号:空头\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
data = {"type" : 1, "symbol": symbol, "interval" : interval, "signal": 3}
if text != "":
signals = db.get_list('signals', f'symbol="{symbol}" and `interval`="{interval}"')

37
signals/volume_growing.py Normal file
View File

@ -0,0 +1,37 @@
import talib
import numpy as np
import bn
import tg
import datetime
import setting
import db
def check_volume_growing(data):
# 提取收盘价
close_prices = np.array([float(entry[4]) for entry in data])
# 提取交易量
volumes = np.array([float(entry[5]) for entry in data])
# 计算量能指标
obv = talib.OBV(close_prices, volumes)
return obv[-1] > obv[-2]
def run(symbol, interval):
# 获取kline数据
data = bn.klines(symbol, interval)
is_growing= check_volume_growing(data)
if is_growing:
text = f'📶信号预警📶\r\n\r\n品种:【{symbol}\r\n周期:{interval}\r\n信号名称:量能监控\r\n信号:量能上升\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
print(text)
tg.send_message(setting.chat_id, text)
else:
print(f'{symbol} - {interval} 量能上升: {is_growing}')

View File

@ -1,8 +1,14 @@
import monitors.large_transfer as lt
import bn
import signals.ma_arrangement as maa
import signals.ema_arrangement as maa
import signals.volume_growing as vg
# symbols = bn.symbols()
# for s in symbols:
maa.run('LINKUSDT', '1h')
# maa.run('LINKUSDT', '1h')
symbols = bn.symbols()
for s in symbols:
vg.run(s, '1h')

View File

@ -4,9 +4,11 @@ import mplfinance as mpf
import datetime as dt
import monitors.large_transfer as lt
from binance.spot import Spot
import signals.ma_arrangement as maa
import signals.ema_arrangement as maa
from binance.cm_futures import CMFutures
# maa.run('BTCUSD_PERP', '1h')
maa.run('MANAUSD_PERP', '1h')
print(len(bn.symbols()))
# print(len(bn.symbols()))
# print(bn.ticker_price('BTCUSD_PERP'))