This commit is contained in:
aaron 2024-07-27 10:22:00 +08:00
parent 3552dd8918
commit c1f2b1727a
3 changed files with 33 additions and 18 deletions

View File

@ -9,7 +9,6 @@ import monitors.move as move
#move #move
schedule.every(5).minutes.do(move.run_crypto, interval = '5m') 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(":00").do(move.run_crypto, interval = '15m')
schedule.every().hour.at(":30").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') schedule.every().hour.at(":15").do(move.run_crypto, interval = '15m')

View File

@ -28,27 +28,20 @@ def stratergy_run(symbol, interval, df, debug):
df['ema30'] = talib.EMA(df['close'], timeperiod=30) df['ema30'] = talib.EMA(df['close'], timeperiod=30)
df['ema144'] = talib.EMA(df['close'], timeperiod=144) df['ema144'] = talib.EMA(df['close'], timeperiod=144)
shortDiff = abs(df['ema5'] - df['ema10']) / df['ema10'] df['shortDiff'] = abs(df['ema5'] - df['ema10']) / df['ema10']
midDiff = abs(df['ema10'] - df['ema30']) / df['ema30'] df['midDiff'] = abs(df['ema10'] - df['ema30']) / df['ema30']
longDiff = abs(df['ema30'] - df['ema144']) / df['ema144'] df['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['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] d1 = df.iloc[-1]
d2 = df.iloc[-2] d2 = df.iloc[-2]
d3 = df.iloc[-3] d3 = df.iloc[-3]
d1['isLongArrangement'] = (d1['ema5'] > d1['ema10']) and (d1['ema10'] > d1['ema30']) and (d1['ema30'] > d1['ema144']) isbullish = d1['isLongArrangement'] == True and d2['isLongArrangement'] == True and d3['isLongArrangement'] == False
d2['isLongArrangement'] = (d2['ema5'] > d2['ema10']) and (d2['ema10'] > d2['ema30']) and (d2['ema30'] > d2['ema144']) isBear = d1['isShortArrangement'] == True and d2['isShortArrangement'] == True and d3['isShortArrangement'] == False
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
print(f"{symbol} - {interval} bullish: {isbullish} | bear : {isBear} | LongArrangement: {d1['isLongArrangement']} | ShortArrangement: {d1['isShortArrangement']}") print(f"{symbol} - {interval} bullish: {isbullish} | bear : {isBear} | LongArrangement: {d1['isLongArrangement']} | ShortArrangement: {d1['isShortArrangement']}")
if(isbullish | isBear): if(isbullish | isBear):

25
test.py
View File

@ -1,4 +1,27 @@
import requests import requests
from monitors import move from monitors import move
from datasource import crypto
import talib
move.run_crypto('5m') # 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)