簡體   English   中英

如何向幣安發送OCO訂單

[英]How to send OCO order to binance

我想請你幫忙。 我正在嘗試將 python 代碼從通過 api 發送限價/市場訂單到 OCO 訂單更改為 binance。 我可以做限價單、市價單、止損限價單。 我不知道如何下 OCO 訂單...

當我使用限價單時,我發送了 order_type=ORDER_TYPE_LIMIT 然后我使用了 order = client.create_order() 並且它正在工作。 當我想發送市場訂單時,我使用了 order_type=ORDER_TYPE_MARKET 但是當我想下 OCO 訂單時,我發現應該工作的唯一選項是: order = client.create_oco_order() without order_type 但在這里我收到錯誤 1013 止損不支持此符號...

我檢查了https://api.binance.com/api/v1/exchangeInfo

還有這個 "orderTypes":["LIMIT","LIMIT_MAKER","MARKET","STOP_LOSS_LIMIT","TAKE_PROFIT_LIMIT"],"icebergAllowed":true,"ocoAllowed":true,

所以我不能使用 order_type。 沒有 ORDER_TYPE_OCO 並且 ocoAllowed 是真的,所以我應該能夠發送 oco 訂單。 但我收到“錯誤 1013:此交易品種不支持止損訂單。訂單失敗”。

我想要的是將“價格”設置為限價賣單,以便在價格到達那里時獲得更高的利潤,並在價格將 go 立即下跌時將止損“stopPrice”設置得更低。 這就是 OCO 的工作方式。

有人可以給我一個建議嗎? 我不是 python 大師我只是更改我找到的一個代碼,我的理解是如果允許 oco 也應該允許止損。 謝謝

為了讓所有感興趣的人都能對這個問題的解決方案有一個准確的答案,我在注釋中包含了代碼。

我將以 BTCUSDT 中的OCO 賣單為例。

想象一下我有 1 個比特幣。 當前價格為 30157.85,我想以 32000.07 高得多的價格賣出 1 BTC

但是價格沒有上漲並開始下跌,所以我將 stopPrice 設置在 29283.03,限價賣單將以 29000.00 的價格開倉

這意味着我將以 32000.07 或 29000.00 USDT 的價格賣出。 順序寫如下:

order= client.order_oco_sell(
    symbol= 'BTCUSDT',                                            
    quantity= 1.00000,                                            
    price= '32000.07',                                            
    stopPrice= '29283.03',                                            
    stopLimitPrice= '29000.00',                                            
    stopLimitTimeInForce= 'FOK')

請注意,OCO 訂單需要 stopLimitTimeInForce 參數。 我使用了值“FOK”,但我在這里留下了您可以使用的不同值的描述: https://help.bybit.com/hc/en-us/articles/360039749233-What-are-time-有效-TIF-GTC-IOC-FOK-

請注意,price、stopPrice、stopLimitPrice 和 stopLimitTimeInForce 參數是字符串,而不是浮點數或小數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM