[英]How to count HL2 source in python Binance trading bot?
:))
我在 python 中创建了一个连接到我的币安账户的加密货币交易机器人。 我的问题是计算 HL2 源 ((High+Low)/2)。 我想做一个 sma(hl2, 17) 但我不知道该怎么做。 如果我简单地使用关闭(或打开、低、高)它工作正常。
我的脚本:
import websocket, json, pprint, talib, numpy
from binance.client import Client
from binance.enums import *
import config
SOCKET = "wss://stream.binance.com:9443/ws/xrpusdt@kline_1m"
#sma-data
SLOWSMA_PERIOD = 6 #source hl2
#trade-data
TRADE_SYMBOL = 'XRPUSDT'
TRADE_QUANTITY = 1
closes = []
lows = []
highs = []
in_positon = False
client = Client(config.API_KEY, config.API_SECRET)
def order(side, quantity, symbol, order_type=ORDER_TYPE_MARKET):
try:
print("sending order")
order = client.create_order(symbol=symbol, side=side, type=order_type, quantity=quantity)
print(order)
except Exception as e:
return False
return True
def on_open(ws):
print('opened connection')
def on_close(ws):
print('closed connection')
def on_message(ws, message):
global closes; global lows; global highs
print('received message')
json_message = json.loads(message)
pprint.pprint(json_message)
candle = json_message['k']
is_candle_closed = candle['x']
close = candle['c']
low = candle['l']
high = candle['h']
if is_candle_closed:
print("candle closed at {}".format(close))
closes.append(float(close))
print("closes")
print(closes)
lows.append(float(low))
print("lows")
print(lows)
highs.append(float(high))
print("highs")
print(highs)
if len(closes) > SLOWSMA_PERIOD:
np_hl2 = numpy.array((closes+highs)/2)
slowSma = talib.SMA(np_hl2, SLOWSMA_PERIOD)
print("slowSma")
print(slowSma)
last_slowSma = slowSma[-1]
print("the currect slowSma is {}".format(last_slowSma))
ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_close=on_close, on_message=on_message)
ws.run_forever()
-> 重要部分:
if len(closes) > SLOWSMA_PERIOD:
np_hl2 = numpy.array((closes+highs)/2)
slowSma = talib.SMA(np_hl2, SLOWSMA_PERIOD)
print("slowSma")
print(slowSma)
last_slowSma = slowSma[-1]
print("the currect slowSma is {}".format(last_slowSma))
脚本正在运行但未列出“slowSma”。
- - - - - - - - - - - 有谁能够帮我? :)) ----------------------
我尝试了一些方法并搜索 soultion 以获得 HL2 源代码,但我没有找到任何东西。
我终于找到了方法::))
HL2的计算方法:
hl2s.append(numpy.mean([float(high),float(low)]))
print("hl2s")
print(hl2s)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.