Но я не могу правильно установить трейлинг-стоп
Я пытался разместить ордер, а затем использовать его идентификатор для установки трейлинга, но получил ошибку< /p>
Потом попробовал установить трейлингстоп \сразу с ордером (этот вариант предпочтительнее)
Получаю следующую ошибку
{'code': 100400, 'msg' : 'аргументы недействительны', 'метка времени': 1732693212045
Пример трейлинг-стопа функции установки
def set_trailing_stop(order_id, symbol, trailing_callback_rate, activation_price, side, positionSide):
try:
if not all([order_id, symbol, trailing_callback_rate, activation_price, side, positionSide]):
raise ValueError("Невалидные параметры для трейлинг-стопа.")
# Преобразование и проверка параметров
activation_price = round(float(activation_price), 2) # Округляем до двух знаков
trailing_callback_rate = str(round(float(trailing_callback_rate), 2)) # Преобразуем в строку
paramsMap = {
"symbol": symbol.replace("/", "-"),
"orderId": str(order_id),
"callbackRate": trailing_callback_rate,
"activationPrice": str(activation_price),
"side": side,
"positionSide": positionSide,
"type": "TRAILING_STOP_MARKET", # Тип ордера
"workingType": "CONTRACT_PRICE", # Дополнительный параметр для контракта
"reduceOnly": "false" # Установить в false, если не нужно ограничивать ордер
}
logger.info(f"Setting trailing stop with: {paramsMap}")
# Отправка запроса
response = send_request("POST", "/openApi/swap/v2/trade/order/trailingStop", paramsMap)
response_data = json.loads(response)
if response_data.get('code') == 0:
logger.info(f"Trailing stop успешно установлен для ордера {order_id} ({symbol}).")
else:
logger.error(f"Ошибка при установке trailing stop: {response_data}")
send_telegram_message(f"
except Exception as e:
logger.error(f"Ошибка при установке trailing stop: {str(e)}")
send_telegram_message(f"
Подробнее здесь: https://stackoverflow.com/questions/792 ... ailingstop
Мобильная версия