updated signals - MACD message

This commit is contained in:
JayRen 2023-07-03 22:56:24 +08:00
parent 4efcbb95e9
commit d356bf86c0

View File

@ -5,7 +5,8 @@ import tg
import datetime import datetime
import setting import setting
import db import db
import signal_builder import signals.signal_builder as signal_builder
def check_macd(data): def check_macd(data):
close_prices = np.array([float(entry[4]) for entry in data]) close_prices = np.array([float(entry[4]) for entry in data])
@ -15,18 +16,18 @@ def check_macd(data):
slow_period = 26 slow_period = 26
signal_period = 9 signal_period = 9
print(close_prices[-1], close_prices[-2], close_prices[-3], close_prices[-4]) # print(close_prices[-1], close_prices[-2], close_prices[-3], close_prices[-4])
# 计算MACD指标 macd - DIF; macdsignal - DEA; macdhist- 柱状线 # 计算MACD指标 macd - DIF; macdsignal - DEA; macdhist- 柱状线
macd, macd_signal, macd_hist = talib.MACD(close_prices, fastperiod=fast_period, slowperiod=slow_period, macd, macd_signal, macd_hist = talib.MACD(close_prices, fastperiod=fast_period, slowperiod=slow_period,
signalperiod=signal_period) signalperiod=signal_period)
print("MACD:", round(macd[-1], 2)) # print("MACD:", round(macd[-1], 2))
print("Signal:", round(macd_signal[-1], 2)) # print("Signal:", round(macd_signal[-1], 2))
print("Histogram:", round(macd_hist[-1], 2)) # print("Histogram:", round(macd_hist[-1], 2))
print("----------") # print("----------")
print("MACD:", round(macd[-2], 2)) # print("MACD:", round(macd[-2], 2))
print("Signal:", round(macd_signal[-2], 2)) # print("Signal:", round(macd_signal[-2], 2))
print("Histogram:", round(macd_hist[-2], 2)) # print("Histogram:", round(macd_hist[-2], 2))
return macd, macd_signal, macd_hist return macd, macd_signal, macd_hist
@ -58,19 +59,18 @@ def run(symbol, interval):
text = "" text = ""
data = {} data = {}
if signal == 1 or signal == 2: if signal == 1 or signal == 2:
text = signal_builder.signal_text(symbol, interval, "MACD","【多】") text = signal_builder.signal_text(symbol, interval, "MACD", "【多】" if signal == 1 else "【强多】")
data = {"type": 2, "symbol": symbol, "interval": interval, "signal": signal} data = {"type": 2, "symbol": symbol, "interval": interval, "signal": signal}
if signal == 3 or signal == 4: if signal == 3 or signal == 4:
text = signal_builder.signal_text(symbol, interval, "MACD","空】") text = signal_builder.signal_text(symbol, interval, "MACD", "空】" if signal == 3 else "【强空】")
data = {"type": 2, "symbol": symbol, "interval": interval, "signal": signal} data = {"type": 2, "symbol": symbol, "interval": interval, "signal": signal}
if text != "": if text != "":
signals = db.get_list('signals', f'symbol="{symbol}" and `interval`="{interval}"') signals = db.get_list('signals', f'symbol="{symbol}" and `interval`="{interval}"')
for s in signals: for s in signals:
print(s) print(s)
db.execute_sql(f'delete from signals where `id`={s["id"]}') if s["signal"] != data["signal"]:
db.execute_sql(f'delete from signals where `id`={s["id"]}')
db.insert(data, 'signals') db.insert(data, 'signals')
print(text) print(text)
tg.send_message(setting.chat_id, text) tg.send_message(setting.chat_id, text)