1
This commit is contained in:
parent
2e1f709fd0
commit
ee7d8f6a58
@ -1,12 +1,15 @@
|
|||||||
import requests
|
import requests
|
||||||
from binance.spot import Spot
|
from binance.spot import Spot
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
|
from binance.cm_futures import CMFutures
|
||||||
|
|
||||||
import urllib3
|
import urllib3
|
||||||
|
|
||||||
api_key = "HCpeel8g6fsTK2630b7BvGBcS09Z3qfXkLVcAY2JkpaiMm1J6DWRvoQZBQlElDJg"
|
api_key = "HCpeel8g6fsTK2630b7BvGBcS09Z3qfXkLVcAY2JkpaiMm1J6DWRvoQZBQlElDJg"
|
||||||
api_secret= "TySs6onlHOTrGzV8fMdDxLKTWWYnQ4rCHVAmjrcHby17acKflmo7xVTWVsbqtxe7"
|
api_secret= "TySs6onlHOTrGzV8fMdDxLKTWWYnQ4rCHVAmjrcHby17acKflmo7xVTWVsbqtxe7"
|
||||||
|
|
||||||
client = Spot(api_key, api_secret)
|
client = Spot(api_key, api_secret)
|
||||||
|
future_client = CMFutures(api_key, api_secret)
|
||||||
|
|
||||||
# 获取市值前top的币种
|
# 获取市值前top的币种
|
||||||
def _get_top_coins_by_market_cap(top):
|
def _get_top_coins_by_market_cap(top):
|
||||||
@ -58,17 +61,29 @@ def get_symbols():
|
|||||||
# 创建DataFrame
|
# 创建DataFrame
|
||||||
columns = ['symbol', 'status', 'baseAsset', 'quoteAsset']
|
columns = ['symbol', 'status', 'baseAsset', 'quoteAsset']
|
||||||
df = pd.DataFrame(data, columns=columns)
|
df = pd.DataFrame(data, columns=columns)
|
||||||
|
df = df[(df['status'] == 'TRADING') & (df['quoteAsset'] == 'USDT')]
|
||||||
|
|
||||||
# 过滤出在架交易对
|
return df['symbol']
|
||||||
df_in_trade = df[df['status'] == 'TRADING']
|
|
||||||
df_in_USDT = df_in_trade[df_in_trade['quoteAsset'] == 'USDT']
|
|
||||||
|
|
||||||
return df_in_USDT['symbol']
|
def get_future_symbols():
|
||||||
|
data = future_client.exchange_info()["symbols"]
|
||||||
|
|
||||||
|
# 创建DataFrame
|
||||||
|
columns = ['symbol', 'contractStatus','contractType', 'baseAsset', 'quoteAsset']
|
||||||
|
df = pd.DataFrame(data, columns=columns)
|
||||||
|
# 过滤出交易对
|
||||||
|
df = df[(df['contractStatus'] == 'TRADING') & (df['quoteAsset'] == 'USD') & (df['contractType'] == 'PERPETUAL')]
|
||||||
|
|
||||||
|
return df['symbol']
|
||||||
|
|
||||||
## 根据交易对和周期获取数据集
|
## 根据交易对和周期获取数据集
|
||||||
def get_klines(symbol,interval , limit=1000):
|
def get_klines(symbol,interval, future = False,limit=1000):
|
||||||
# 获取 k 线数据
|
# 获取 k 线数据
|
||||||
data = client.klines(symbol, interval,limit=limit)
|
data = {}
|
||||||
|
if future == True:
|
||||||
|
data = future_client.klines(symbol, interval, limit=limit)
|
||||||
|
else:
|
||||||
|
data = client.klines(symbol, interval,limit=limit)
|
||||||
|
|
||||||
# 将数据转换为DataFrame
|
# 将数据转换为DataFrame
|
||||||
columns = ['timestamp', 'open', 'high', 'low', 'close', 'volume',
|
columns = ['timestamp', 'open', 'high', 'low', 'close', 'volume',
|
||||||
|
|||||||
@ -68,8 +68,8 @@ def stratergy_run(symbol, interval, df, debug):
|
|||||||
def run_crypto(interval, debug=False):
|
def run_crypto(interval, debug=False):
|
||||||
print('Vegas策略运行.')
|
print('Vegas策略运行.')
|
||||||
|
|
||||||
for s in setting.symbols:
|
for s in crypto.get_future_symbols():
|
||||||
df = crypto.get_klines(s, interval)
|
df = crypto.get_klines(s, interval, True)
|
||||||
stratergy_run(s,interval, df, debug)
|
stratergy_run(s,interval, df, debug)
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
@ -58,12 +58,11 @@ def stratergy_run(symbol, interval, df, debug):
|
|||||||
print(message)
|
print(message)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def run_crypto(interval, debug=False):
|
def run_crypto(interval, debug=False):
|
||||||
print('Vegas策略运行.')
|
print('Vegas策略运行.')
|
||||||
|
|
||||||
for s in setting.symbols:
|
for s in crypto.get_future_symbols():
|
||||||
df = crypto.get_klines(s, interval)
|
df = crypto.get_klines(s, interval,True)
|
||||||
stratergy_run(s,interval, df, debug)
|
stratergy_run(s,interval, df, debug)
|
||||||
|
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
8
test.py
8
test.py
@ -1,4 +1,5 @@
|
|||||||
import requests
|
import requests
|
||||||
|
import datasource.crypto
|
||||||
from monitors import move
|
from monitors import move
|
||||||
from datasource import crypto
|
from datasource import crypto
|
||||||
import talib
|
import talib
|
||||||
@ -7,6 +8,13 @@ from binance.cm_futures import CMFutures
|
|||||||
from monitors import vegas_cross
|
from monitors import vegas_cross
|
||||||
from datasource import crypto
|
from datasource import crypto
|
||||||
from monitors import macd_boll
|
from monitors import macd_boll
|
||||||
|
import datasource
|
||||||
|
from binance.cm_futures import CMFutures
|
||||||
|
|
||||||
|
# client = CMFutures()
|
||||||
|
# print(client.exchange_info()['symbols'])
|
||||||
|
|
||||||
|
# print(datasource.crypto.get_future_symbols())
|
||||||
|
|
||||||
macd_boll.run_crypto('15m', debug=True)
|
macd_boll.run_crypto('15m', debug=True)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user