Merhaba arkadaşlar: Binance Websocket kullanarak al sat yapan bot yapmaya çalışıyorum. netten bulduğum kodlarda rsi değeri çok dengesiz çektiğini gördüm. elinizde basitte olsa düzenli çalışan rsi li bot'unuzu paylaşabilir misiniz. RSİ değerleri çok oynak çıkıyor. piyasada rsi 61 63 arasında değerler gidip geliyorsa uygulamada 58 47 65 değerleri gösteriyor. forumda Binance Websocket uygulaması bulamadım yada gözümden kaçmış olabilir. yardımcı olursanız sevinirim. sadece rsi değeri sağlam çeken kod kısmıda işime yarar geri kalanları ben halletmeye çalışırım. saygılar.
config.py
API_KEY = 'keygirin'
API_SECRET = 'secretgirin'
index.py
import websocket, json, pprint, talib, numpy
import config
from binance.client import Client
from binance.enums import *
SOCKET = "wss://stream.binance.com:9443/ws/ethusdt@kline_1m"
RSI_PERIOD = 14
RSI_OVERBOUGHT = 70
RSI_OVERSOLD = 30
TRADE_SYMBOL = 'ETHUSDT'
TRADE_QUANTITY = 0.05
closes = []
in_position = False
client = Client(config.API_KEY, config.API_SECRET, tld='us')
def on_open(ws):
print('opened connection')
def on_close(ws):
print('closed connection')
def on_message(ws, message):
global closes, in_position
json_message = json.loads(message)
#pprint.pprint(json_message)
candle = json_message['k']
is_candle_closed = candle['x']
close = candle['c']
closes.append(float(close))
np_closes = numpy.array(closes)
rsi = talib.RSI(np_closes, RSI_PERIOD)
last_rsi = rsi[-1]
print(last_rsi)
ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_close=on_close, on_message=on_message)
ws.run_forever()