Проблема Pyetrade с размещением заказов на покупку (любые заказы на продажу)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема Pyetrade с размещением заказов на покупку (любые заказы на продажу)

Сообщение Anonymous »

Когда я пытаюсь установить заказы, я получаю эту ошибку: < /p>
Failed to place BUY order for JAN, status code:
400, response: {"Error":{"code":101,"message":"For your protection, we have timed out your original order request. If you would like to place this order, please resubmit it now."}}

E*Торговая документация: https://apisb.etrade.com/docs/api/order ... aceобразно Вызывается правильно, и когда он вызван, он должен разместить заказ покупки (или продажи), но в настоящее время каждый раз, когда он пытается, он откидывает эту ошибку, которую я предоставил ранее.def preview_order(etrade, session, ticker, quantity, limit_price, order_action):
preview_url = etrade.base_url + "/v1/accounts/" + ETRADE_ACCOUNT_KEY + "/orders/preview.json"
client_order_id = random.randint(1000000000, 9999999999)

limit_price_rounded = "{:.2f}".format(limit_price)

root = ET.Element("PreviewOrderRequest")
ET.SubElement(root, "orderType").text = "EQ"
ET.SubElement(root, "clientOrderId").text = str(client_order_id)
order = ET.SubElement(root, "Order")
ET.SubElement(order, "allOrNone").text = "false"
ET.SubElement(order, "priceType").text = "LIMIT"
ET.SubElement(order, "orderTerm").text = "GOOD_FOR_DAY"
ET.SubElement(order, "marketSession").text = "REGULAR"
ET.SubElement(order, "limitPrice").text = limit_price_rounded
instrument = ET.SubElement(order, "Instrument")
product = ET.SubElement(instrument, "Product")
ET.SubElement(product, "securityType").text = "EQ"
ET.SubElement(product, "symbol").text = ticker
ET.SubElement(instrument, "orderAction").text = order_action.upper()
ET.SubElement(instrument, "quantityType").text = "QUANTITY"
ET.SubElement(instrument, "quantity").text = str(quantity)

payload = ET.tostring(root, encoding='unicode')
headers = {"Content-Type": "application/xml"}

response = session.post(preview_url, header_auth=True, headers=headers, data=payload)

if response.status_code == 200:
response_data = response.json()
if "PreviewOrderResponse" in response_data and "PreviewIds" in response_data["PreviewOrderResponse"]:
preview_id = response_data["PreviewOrderResponse"]["PreviewIds"][0]["previewId"]
return preview_id
else:
print("Preview order response is not as expected.")
return None
else:
print(f"Failed to preview order, status code: {response.status_code}, response: {response.text}")
return None

def place_order(etrade, session, ticker, quantity, limit_price, order_action, max_attempts=3):
attempt = 1
while attempt

Подробнее здесь: https://stackoverflow.com/questions/776 ... ell-orders
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»