0 beğenilme 0 beğenilmeme
573 kez görüntülendi
Dışarıdan Emir Gönderim Api'si ile çalışma yapıyorum. limit emirde herhangi bir problemim yok. Ancak piyasa emri gönderdiğimde,emir aracı kurumuma iletiliyor ve direkt olarak iptal ediliyor. Aracı kurum üzerinde mesajları kontrol ettiğimde "İptal edildi (0|REJ- <-420027> : Market-price orders must be of type Fill or Kill or Fill and Kill in this trading state.)" şeklinde bir hata alıyorum. Emir gönderimi sırasında TimeInForce parametresi için 0 ve 4 parametrelerini göndermeyi denedim. 0 gönderdiğimde socket bağlantısı donuyor, cevap alamıyorum. 4 gönderdiğimde ise yine emir iptal ediliyor.Aracı kurum olarak Osmanlı Yatırım kullanıyorum. yardımınızı rica ederim
Diğer kategorisinde (12 puan) tarafından | 573 kez görüntülendi

1 cevap

0 beğenilme 0 beğenilmeme

Merhaba,

Geçerlilik tipini gönderdiğiniz emre uygun girmelisiniz. LMT emir için geçerlilik tipi Day, PYS emir içinde ImmediateOrCancel parametresini kullanmalısınız.

(15,632 puan) tarafından
tarafından düzenlendi
0 0

LİMİT EMİR İÇİN:

import socket

clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM);

clientSocket.connect(("127.0.0.1", 18890));

data = "{" \
       "\"AccountId\":\"5938\"," \
       "\"BrokageId\":\"80\"," \
       "\"ClientOrderId\":\"Kripex\"," \
       "\"Symbol\":\"ASELS\"," \
       "\"Price\":45," \
       "\"Quantity\":1," \
       "\"OrderSide\":1," \
       "\"OrderType\":\"2\"," \
       "\"IncludeAfterSession\":false," \
       "\"TimeInForce\":\"0\"," \
       "\"TransactionType\":\"1\"," \
       "\"ApiCommands\":3}"+ chr(11);
clientSocket.send(data.encode());

dataFromServer = clientSocket.recv(5001);
print(dataFromServer.decode());

PİYASA EMRİ İÇİN:

import socket

clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM);

clientSocket.connect(("127.0.0.1", 18890));

data = "{" \
       "\"AccountId\":\"5938\"," \
       "\"BrokageId\":\"80\"," \
       "\"ClientOrderId\":\"Kripex\"," \
       "\"Symbol\":\"ASELS\"," \
       "\"Price\":45," \
       "\"Quantity\":1," \
       "\"OrderSide\":1," \
       "\"OrderType\":\"1\"," \
       "\"IncludeAfterSession\":false," \
       "\"TimeInForce\":\"0\"," \
       "\"TransactionType\":\"1\"," \
       "\"ApiCommands\":3}"+ chr(11);
clientSocket.send(data.encode());

dataFromServer = clientSocket.recv(5001);
print(dataFromServer.decode());

İki kod arasındaki tek fark OrderType parametresin değeri. Limit emir için olan kod çalışıyor ve alım yapıyor.

Piyasa emri için olan kod hata veriyor ve alım yapmıyor.

hata: (0|REJ- <-420027> : Market-price orders must be of type Fill or Kill or Fill and Kill in this trading state.) 

7,632 soru
7,636 cevap
4,448 yorum
10,800 kullanıcı