Witajcie.
Pisze bota tradingowego i chciałem zmieniać stop loss wraz z wzrostem lub spadkiem ceny.
W dokumentacji Set Trading-Stop – Bybit API Docs (bybit-exchange.github.io) pisze, aby tak zrobić:
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
endpoint="https://api-testnet.bybit.com",
api_key="cCrMK2P55002rmQh1z",
api_secret="eTXOcGvu6Ue9MA916oO5ymqbj2UzBfSLKcti"
)
print(session_auth.set_trading_stop(
symbol="BTCUSDT",
side="Buy",
take_profit=10
))
Ja zrobiłem coś takiego:
from pybit import usdt_perpetual
session_auth = usdt_perpetual.HTTP(
endpoint=base_url,
api_key=config.bybit_apiKey,
api_secret=config.bybit_secretKey
)
session_auth.set_trading_stop(
symbol=symbol,
side="Sell",
tp_sl_mode="Full",
stop_loss=1545,
)
i wyskakuje mi taki błąd:
Traceback (most recent call last):
File "D:\Python\Trading Bot\ccxt\ccxt_bot_bybit.py", line 177, in <module>
bybitAPI.session_auth.set_trading_stop(
File "C:\Users\kuczy\AppData\Local\Programs\Python\Python310\lib\site-packages\pybit\usdt_perpetual.py", line 475, in set_trading_stop
return self._submit_request(
File "C:\Users\kuczy\AppData\Local\Programs\Python\Python310\lib\site-packages\pybit\_http_manager.py", line 385, in _submit_request
raise InvalidRequestError(
pybit.exceptions.InvalidRequestError: Partialstoploss:15450000 set for sell position should should greater base_price:15466000??lastprice (ErrCode: 130029) (ErrTime: 09:27:29).
Request → POST https://api.bybit.com/private/linear/position/trading-stop: {'api_key': 'iYcb6hFAme9L33acIa', 'recv_window': 5000, 'side': 'Sell', 'stop_loss': 1545, 'symbol': 'ETHUSDT', 'timestamp': 1658309249675, 'tp_sl_mode': 'Full', 'sign': '99f089e50c47cc484fac1988028521dd3ab2dbd903db8734de412cef5f312b36'}.
Cena otwarcia wynosiła 1541, cena mark czyli aktualna 1535, a i tak nie mogłem zmienić stop loss-u.
Co zrobić?
Pozdrawiam