add builder

This commit is contained in:
aazhou 2023-07-02 22:50:31 +08:00
parent 53f1dcef4b
commit 4efcbb95e9
5 changed files with 14 additions and 43 deletions

View File

@ -5,7 +5,7 @@ import tg
import datetime
import setting
import db
import signal_builder
flags = {}
def check_ema_arrange(data):
@ -37,12 +37,14 @@ def run(symbol, interval):
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当前价格:{ticker_price}\r\n周期:{interval}\r\n信号类型EMA排列\r\n信号:多头\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
text = signal_builder.signal_text(symbol, interval, "EMA排列","【多】")
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当前价格:{ticker_price}\r\n周期:{interval}\r\n信号类型EMA排列\r\n信号:空头\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
text = signal_builder.signal_text(symbol, interval, "EMA排列","【空】")
data = {"type" : 1, "symbol": symbol, "interval" : interval, "signal": 3}
if text != "":
signals = db.get_list('signals', f'symbol="{symbol}" and `interval`="{interval}"')

View File

@ -5,6 +5,7 @@ import tg
import datetime
import setting
import db
import signal_builder
def check_macd(data):
close_prices = np.array([float(entry[4]) for entry in data])
@ -57,11 +58,12 @@ def run(symbol, interval):
text = ""
data = {}
if signal == 1 or signal == 2:
text = f'📶信号预警📶\r\n\r\n品种:【${symbol}\r\n周期:{interval}\r\n信号【多头】MACD\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
text = signal_builder.signal_text(symbol, interval, "MACD","【多】")
data = {"type": 2, "symbol": symbol, "interval": interval, "signal": signal}
if signal == 3 or signal == 4:
text = f'📶信号预警📶\r\n\r\n品种:【${symbol}\r\n周期:{interval}\r\n信号【空头】MACD\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'
text = signal_builder.signal_text(symbol, interval, "MACD","【空】")
data = {"type": 2, "symbol": symbol, "interval": interval, "signal": signal}
if text != "":
signals = db.get_list('signals', f'symbol="{symbol}" and `interval`="{interval}"')

View File

@ -0,0 +1,5 @@
import datetime
def signal_text(symbol, interval, signal_type ,signal):
return f'📶信号预警📶\r\n\r\n品种:【${symbol}\r\n周期:{interval}\r\n信号类型:{signal_type}\r\n信号:{signal}\r\n\r\n{datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}'

View File

@ -1,37 +0,0 @@
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,7 +1,6 @@
import monitors.large_transfer as lt
import bn
import signals.ema_arrangement as maa
import signals.volume_growing as vg
import signals.macd as macd