From c1f2b1727a68081d2b9ec9a711bac0653cd9dddb Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sat, 27 Jul 2024 10:22:00 +0800 Subject: [PATCH] 1 --- main.py | 1 - monitors/move.py | 25 +++++++++---------------- test.py | 25 ++++++++++++++++++++++++- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/main.py b/main.py index 4576cd1..d60ce16 100644 --- a/main.py +++ b/main.py @@ -9,7 +9,6 @@ import monitors.move as move #move schedule.every(5).minutes.do(move.run_crypto, interval = '5m') - schedule.every().hour.at(":00").do(move.run_crypto, interval = '15m') schedule.every().hour.at(":30").do(move.run_crypto, interval = '15m') schedule.every().hour.at(":15").do(move.run_crypto, interval = '15m') diff --git a/monitors/move.py b/monitors/move.py index 95a48a4..59d7188 100644 --- a/monitors/move.py +++ b/monitors/move.py @@ -28,27 +28,20 @@ def stratergy_run(symbol, interval, df, debug): df['ema30'] = talib.EMA(df['close'], timeperiod=30) df['ema144'] = talib.EMA(df['close'], timeperiod=144) - shortDiff = abs(df['ema5'] - df['ema10']) / df['ema10'] - midDiff = abs(df['ema10'] - df['ema30']) / df['ema30'] - longDiff = abs(df['ema30'] - df['ema144']) / df['ema144'] - - # df['priceCheck'] = (longDiff <= maxDifference) and (midDiff <= maxDifference) and (shortDiff <= maxDifference) - # df['isLongArrangement'] = (df['ema5'] > df['ema10']) and (df['ema10'] > df['ema30']) and (df['ema30'] > df['ema144']) - # df['isShortArrangement'] = (df['ema5'] < df['ema10']) and (df['ema10'] < df['ema30']) and (df['ema30'] < df['ema144']) + df['shortDiff'] = abs(df['ema5'] - df['ema10']) / df['ema10'] + df['midDiff'] = abs(df['ema10'] - df['ema30']) / df['ema30'] + df['longDiff'] = abs(df['ema30'] - df['ema144']) / df['ema144'] + df['priceCheck'] = ((df['longDiff'] <= maxDifference) and (df['midDiff'] <= maxDifference) and (df['shortDiff'] <= maxDifference)) + df['isLongArrangement'] = ((df['ema5'] > df['ema10']) & (df['ema10'] > df['ema30']) & (df['ema30'] > df['ema144'])) + df['isShortArrangement'] = ((df['ema5'] < df['ema10']) & (df['ema10'] < df['ema30']) & (df['ema30'] < df['ema144'])) + d1 = df.iloc[-1] d2 = df.iloc[-2] d3 = df.iloc[-3] - d1['isLongArrangement'] = (d1['ema5'] > d1['ema10']) and (d1['ema10'] > d1['ema30']) and (d1['ema30'] > d1['ema144']) - d2['isLongArrangement'] = (d2['ema5'] > d2['ema10']) and (d2['ema10'] > d2['ema30']) and (d2['ema30'] > d2['ema144']) - - d1['isShortArrangement'] = (d1['ema5'] < d1['ema10']) and (d1['ema10'] < d1['ema30']) and (d1['ema30'] < d1['ema144']) - d2['isShortArrangement'] = (d2['ema5'] < d2['ema10']) and (d2['ema10'] < d2['ema30']) and (d2['ema30'] < d2['ema144']) - - - isbullish = d1['isLongArrangement'] == True and d2['isLongArrangement'] == False - isBear = d1['isShortArrangement'] == True and d2['isShortArrangement'] == False + isbullish = d1['isLongArrangement'] == True and d2['isLongArrangement'] == True and d3['isLongArrangement'] == False + isBear = d1['isShortArrangement'] == True and d2['isShortArrangement'] == True and d3['isShortArrangement'] == False print(f"{symbol} - {interval} bullish: {isbullish} | bear : {isBear} | LongArrangement: {d1['isLongArrangement']} | ShortArrangement: {d1['isShortArrangement']}") if(isbullish | isBear): diff --git a/test.py b/test.py index 2175224..39fa03a 100644 --- a/test.py +++ b/test.py @@ -1,4 +1,27 @@ import requests from monitors import move +from datasource import crypto +import talib -move.run_crypto('5m') \ No newline at end of file +# move.run_crypto('5m') + +df = crypto.get_klines('PEOPLEUSDT', '5m') + + +## 计算 ema +df['ema5'] = talib.EMA(df['close'], timeperiod=5) +df['ema10'] = talib.EMA(df['close'], timeperiod=10) +df['ema30'] = talib.EMA(df['close'], timeperiod=30) +df['ema144'] = talib.EMA(df['close'], timeperiod=144) + +df['isLongArrangement'] = ((df['ema5'] > df['ema10']) & (df['ema10'] > df['ema30']) & (df['ema30'] > df['ema144'])) +df['isShortArrangement'] = ((df['ema5'] < df['ema10']) & (df['ema10'] < df['ema30']) & (df['ema30'] < df['ema144'])) + +d1 = df.iloc[-1] +d2 = df.iloc[-2] +d3 = df.iloc[-3] + +isBear = d1['isShortArrangement'] == True and d2['isShortArrangement'] == True and d3['isShortArrangement'] == False + +print(df) +print(isBear) \ No newline at end of file