update
This commit is contained in:
parent
192454d476
commit
c619cf3275
@ -67,7 +67,6 @@ def get_symbols():
|
||||
|
||||
def get_future_symbols():
|
||||
data = future_client.exchange_info()["symbols"]
|
||||
print(data)
|
||||
|
||||
# 创建DataFrame
|
||||
columns = ['symbol', 'status','contractType', 'baseAsset', 'quoteAsset']
|
||||
|
||||
@ -2,7 +2,7 @@ import requests
|
||||
import setting
|
||||
import urllib3
|
||||
|
||||
url = 'https://oapi.dingtalk.com/robot/send?access_token=c197bfacc77010e92804ecdbb6a6e0f95f86d9e7e4968fb35ec68720eeec8fa8'
|
||||
url = 'https://oapi.dingtalk.com/robot/send?access_token=2278b723cd363bb6f85592c743b59b166e70b9e02a275bb5cedbc33b53a5cbdc'
|
||||
|
||||
# 发送消息
|
||||
def send_message(text, isAtAll = False):
|
||||
|
||||
32
main.py
32
main.py
@ -1,21 +1,27 @@
|
||||
import schedule
|
||||
import time
|
||||
|
||||
import dingding
|
||||
import monitors.jin10_cal as jin10
|
||||
|
||||
from monitors import vegas, vegas_cross, macd_boll
|
||||
from monitors import macd_boll,vol_up
|
||||
|
||||
#vegas
|
||||
schedule.every().hour.at(":00").do(vegas.run_crypto, interval = '1h')
|
||||
times = ["00:00", "04:00", "08:00", "12:00", "16:00", "20:00"]
|
||||
for t in times:
|
||||
schedule.every().day.at(t).do(vegas.run_crypto, interval = '4h')
|
||||
# schedule.every().hour.at(":00").do(vegas.run_crypto, interval = '1h')
|
||||
# times = ["00:00", "04:00", "08:00", "12:00", "16:00", "20:00"]
|
||||
# for t in times:
|
||||
# schedule.every().day.at(t).do(vegas.run_crypto, interval = '4h')
|
||||
|
||||
#vegas_cross
|
||||
schedule.every().hour.at(":00").do(vegas_cross.run_crypto, interval = '1h')
|
||||
times = ["00:00", "04:00", "08:00", "12:00", "16:00", "20:00"]
|
||||
for t in times:
|
||||
schedule.every().day.at(t).do(vegas_cross.run_crypto, interval = '4h')
|
||||
# schedule.every().hour.at(":00").do(vegas_cross.run_crypto, interval = '1h')
|
||||
# times = ["00:00", "04:00", "08:00", "12:00", "16:00", "20:00"]
|
||||
# for t in times:
|
||||
# schedule.every().day.at(t).do(vegas_cross.run_crypto, interval = '4h')
|
||||
|
||||
|
||||
#vol
|
||||
schedule.every(5).minutes.do(vol_up.run_crypto, interval = '5m')
|
||||
schedule.every().hour.at(":00").do(vol_up.run_crypto, interval = '1h')
|
||||
|
||||
|
||||
#macd_boll
|
||||
schedule.every().hour.at(":00").do(macd_boll.run_crypto, interval = '15m')
|
||||
@ -31,8 +37,10 @@ for t in times:
|
||||
#jin10
|
||||
schedule.every().day.at("00:00").do(jin10.run)
|
||||
|
||||
version = 'V1.23'
|
||||
print(f'Running... {version}')
|
||||
version = 'V1.3'
|
||||
text = f'☕️ Signals running... {version} !'
|
||||
print(text)
|
||||
dingding.send_message(text)
|
||||
while True:
|
||||
schedule.run_pending()
|
||||
time.sleep(1)
|
||||
34
monitors/vol_up.py
Normal file
34
monitors/vol_up.py
Normal file
@ -0,0 +1,34 @@
|
||||
# 突然放量策略
|
||||
import numpy as np
|
||||
import datasource,time, dingding
|
||||
|
||||
def stratergy_run(symbol, interval, df, debug):
|
||||
# 计算过去 30 根 K 线的平均交易量
|
||||
average_volume = df["volume"].iloc[-31:-1].mean() # 倒数第 31 到倒数第 2 根的平均
|
||||
|
||||
# 获取当前(最后一根,即第 500 根)交易量
|
||||
current_volume = df["volume"].iloc[-1]
|
||||
|
||||
timestamp = df['timestamp'].iloc[-1]
|
||||
|
||||
rate = current_volume / average_volume
|
||||
print(f"【{timestamp}】【{symbol}】当前交易量: {current_volume} , 平均交易量: {average_volume} , 倍数: {rate}")
|
||||
|
||||
if rate > 3:
|
||||
message = "📢信号提醒📢\r\n\r\n"
|
||||
message += f"{symbol} 在 {interval} 出现放量!\r\n\r\n"
|
||||
message += timestamp
|
||||
|
||||
if debug == False:
|
||||
dingding.send_message(message, True)
|
||||
print(f"【{symbol} - {interval}】 is singal fired!")
|
||||
else:
|
||||
print(message)
|
||||
|
||||
def run_crypto(interval, debug=False):
|
||||
symbols = datasource.crypto.get_future_symbols()
|
||||
for s in symbols:
|
||||
df = datasource.crypto.get_klines(s, interval, True,limit=50)
|
||||
stratergy_run(s,interval, df, debug)
|
||||
|
||||
time.sleep(1)
|
||||
@ -8,3 +8,7 @@ chat_id = os.getenv("TQ_CHAT_ID", "@cyber4trading")
|
||||
|
||||
|
||||
symbols = ['BTCUSDT',"ETHUSDT",'LTCUSDT','DOGEUSDT','FTMUSDT','FILUSDT','OPUSDT','SOLUSDT','BNBUSDT','BCHUSDT','ETCUSDT','ARUSDT',"REEFUSDT","BONDUSDT","VIDTUSDT","UNFIUSDT"]
|
||||
|
||||
|
||||
#dingding bot
|
||||
singal_bot_url = 'https://oapi.dingtalk.com/robot/send?access_token=2278b723cd363bb6f85592c743b59b166e70b9e02a275bb5cedbc33b53a5cbdc'
|
||||
15
test.py
15
test.py
@ -4,7 +4,7 @@ from monitors import move
|
||||
from datasource import crypto
|
||||
import talib
|
||||
import discord_sender
|
||||
from monitors import vegas_cross, jin10_cal
|
||||
from monitors import vegas_cross, jin10_cal,vol_up
|
||||
from datasource import crypto
|
||||
from monitors import macd_boll
|
||||
import datasource
|
||||
@ -12,6 +12,7 @@ from binance.um_futures import UMFutures
|
||||
import redis
|
||||
|
||||
|
||||
vol_up.run_crypto('1h')
|
||||
|
||||
|
||||
|
||||
@ -31,14 +32,14 @@ import redis
|
||||
|
||||
|
||||
|
||||
key = 'QSZvYevTytwi8CJEkiUqqlZRQBOjIa23BoB8wFwTSY26GBAFkViTExex2mFNJ0ij'
|
||||
secret = '1eGO4aeICAxPRXQzw2lQBc0QAkIKn6WiCV4cRLnUwnJulzixYFkoBeho5ZzsKTbn'
|
||||
# key = 'QSZvYevTytwi8CJEkiUqqlZRQBOjIa23BoB8wFwTSY26GBAFkViTExex2mFNJ0ij'
|
||||
# secret = '1eGO4aeICAxPRXQzw2lQBc0QAkIKn6WiCV4cRLnUwnJulzixYFkoBeho5ZzsKTbn'
|
||||
|
||||
client = UMFutures(key=key, secret=secret)
|
||||
# print(client.exchange_info())
|
||||
# data = client.funding_rate('BTCUSD_PERP', limit=1)
|
||||
# client = UMFutures(key=key, secret=secret)
|
||||
# # print(client.exchange_info())
|
||||
# # data = client.funding_rate('BTCUSD_PERP', limit=1)
|
||||
|
||||
print(client.balance())
|
||||
# print(client.balance())
|
||||
|
||||
# fundingRate = float(data[0]['fundingRate']) * 100
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user