From e93ec6516c091d7009e11848cd623b35d1fe4be2 Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 6 Oct 2024 00:00:34 +0800 Subject: [PATCH] up --- datasource/crypto.py | 1 + main.py | 2 +- monitors/macd_boll.py | 10 ++++++---- monitors/move.py | 5 ++--- monitors/vegas.py | 2 -- monitors/vegas_cross.py | 2 -- test.py | 4 ++-- 7 files changed, 12 insertions(+), 14 deletions(-) diff --git a/datasource/crypto.py b/datasource/crypto.py index a221d2f..73f2a1a 100644 --- a/datasource/crypto.py +++ b/datasource/crypto.py @@ -67,6 +67,7 @@ def get_symbols(): def get_future_symbols(): data = future_client.exchange_info()["symbols"] + print(data) # 创建DataFrame columns = ['symbol', 'status','contractType', 'baseAsset', 'quoteAsset'] diff --git a/main.py b/main.py index 7a3fc77..6f21c0f 100644 --- a/main.py +++ b/main.py @@ -31,7 +31,7 @@ for t in times: #jin10 schedule.every().day.at("00:00").do(jin10.run) -version = 'V1.22' +version = 'V1.23' print(f'Running... {version}') while True: schedule.run_pending() diff --git a/monitors/macd_boll.py b/monitors/macd_boll.py index 6e81093..b062886 100644 --- a/monitors/macd_boll.py +++ b/monitors/macd_boll.py @@ -25,6 +25,9 @@ def stratergy_run(symbol, interval, df, debug): bollinger_length = 20 bollinger_mult = 2.0 + # 计算EMA 144, 200 + fast_ema = talib.EMA(df['close'], timeperiod=144) + slow_ema = talib.EMA(df['close'], timeperiod=200) # 计算 MACD macd, macd_signal, macd_hist = talib.MACD(df['close'], fastperiod=macd_fast_length, slowperiod=macd_slow_length, signalperiod=macd_signal_length) @@ -32,10 +35,9 @@ def stratergy_run(symbol, interval, df, debug): # 计算布林带 upperband, middleband, lowerband = talib.BBANDS(df['close'], timeperiod=bollinger_length, nbdevup=bollinger_mult, nbdevdn=bollinger_mult, matype=0) - # 生成交易信号 - long_condition = (macd.shift(1) <= 0) & (macd > 0) & (df['high'] < upperband) - short_condition = (macd.shift(1) >= 0) & (macd < 0) & (df['low'] > lowerband) + long_condition = (macd.shift(1) <= 0) & (macd > 0) & (df['high'] < upperband) & (df['close'] > fast_ema | df['close'] > slow_ema) + short_condition = (macd.shift(1) >= 0) & (macd < 0) & (df['low'] > lowerband) & (df['close'] < fast_ema | df['close'] < slow_ema) df['Long_Signal'] = np.where(long_condition, True, False) @@ -50,7 +52,7 @@ def stratergy_run(symbol, interval, df, debug): if latest['Long_Signal'] == True: direction = '多' if direction != "": - message = f"策略:【MACD+BOLL价格策略】\r\n" + message = f"策略:【MACD+BOLL策略V1.1】\r\n" message += f"品种: {symbol}\r\n" message += f"周期: {interval}\r\n" message += f"信号: 【{direction}】\r\n" diff --git a/monitors/move.py b/monitors/move.py index 9b5022a..4a0a57d 100644 --- a/monitors/move.py +++ b/monitors/move.py @@ -4,6 +4,7 @@ import telegram_sender from datasource import crypto import dingding import discord_sender +import setting # crossover 函数:检测上穿信号 @@ -55,9 +56,7 @@ def stratergy_run(symbol, interval, df, debug): def run_crypto(interval, debug=False): - - symbols = ['BTCUSDT','ETHUSDT','BNBUSDT','SOLUSDT','DOGEUSDT','LINKUSDT','NEARUSDT','WIFUSDT','ARBUSDT','ARUSDT','JASMYUSDT','FTMUSDT','EGLDUSDT','ENSUSDT','GALAUSDT','ORDIUSDT','TRUUSDT','LPTUSDT','JUPUSDT','WIFUSDT','AVAXUSDT','GALUSDT','BONKUSDT','UNFIUSDT','CHZUSDT'] - for s in symbols: + for s in setting.symbols: df = crypto.get_klines(s, interval) stratergy_run(s,interval, df, debug) diff --git a/monitors/vegas.py b/monitors/vegas.py index fc81b99..e927679 100644 --- a/monitors/vegas.py +++ b/monitors/vegas.py @@ -66,8 +66,6 @@ def stratergy_run(symbol, interval, df, debug): def run_crypto(interval, debug=False): - print('Vegas策略运行.') - for s in setting.symbols: df = crypto.get_klines(s, interval) stratergy_run(s,interval, df, debug) diff --git a/monitors/vegas_cross.py b/monitors/vegas_cross.py index 4707fc7..d0945a4 100644 --- a/monitors/vegas_cross.py +++ b/monitors/vegas_cross.py @@ -58,8 +58,6 @@ def stratergy_run(symbol, interval, df, debug): def run_crypto(interval, debug=False): - print('Vegas策略运行.') - for s in setting.symbols: df = crypto.get_klines(s, interval,True) stratergy_run(s,interval, df, debug) diff --git a/test.py b/test.py index 6471b55..e02f098 100644 --- a/test.py +++ b/test.py @@ -16,9 +16,9 @@ import redis # print(r.get('r_symbols')) -# print(datasource.crypto.get_future_symbols()) +print(datasource.crypto.get_future_symbols()) -macd_boll.run_crypto('15m', debug=True) +# macd_boll.run_crypto('15m', debug=True) # jin10_cal.run()