پورٹ بتا کر TWS API کنکشن کی خرابی درست کریں
خلاصہ
دستاویز Interactive Brokers Trader Workstation کنکشن بیان کرتی ہے جو ibPy کے ذریعے آرڈر بھیج سکتا تھا، مگر اکاؤنٹ اپ ڈیٹس کی درخواست پر کنکشن کی خرابی دیتا تھا۔ خرابی کے پیغام نے socket client کی ترتیب کی طرف اشارہ کیا، جسے صارف پہلے ہی فعال کر چکا تھا، اس لیے وجہ واضح نہیں تھی۔
جواب میں کنکشن سیٹ اپ میں غائب پورٹ آرگیومنٹ کی نشاندہی کی گئی ہے اور اس صارف کے معاملے میں کارآمد قدر کے طور پر پورٹ 7497 دی گئی ہے۔ یہ مسئلے کی محدود نوعیت کی رہنمائی ہے، اکاؤنٹ اپ ڈیٹس یا API کی ترتیب کی عمومی وضاحت نہیں۔ پورٹ کا انحصار TWS یا پیپر ٹریڈنگ کے سیٹ اپ پر ہو سکتا ہے، اور دستاویز میں جواب دینے والے کے اس بیان کے سوا کہ یہ طریقہ کارآمد رہا، مزید جانچ کے مراحل یا شواہد نہیں دیے گئے۔
اہم خیالات
- اکاؤنٹ اپ ڈیٹس کے دوران TWS API کی خرابی socket clients فعال ہونے کے باوجود برقرار رہ سکتی ہے۔
- تجویز کردہ حل ibPy کنکشن بناتے وقت کنکشن پورٹ بتانا ہے۔
- مثال میں پورٹ 7497 استعمال ہوتی ہے، مگر دستاویز ثابت نہیں کرتی کہ یہ قدر ہر ترتیب پر لاگو ہوتی ہے۔
- جواب یہ نہیں بتاتا کہ پہلے آرڈر بھیجنا کیوں کامیاب ہوا تھا۔
ٹیگز
مکمل متن
# Trader Workstation on Ubuntu cannot be connected to via the API
# Trader Workstation on Ubuntu cannot be connected to via the API
I am using ibPy to connect to TWS on a fairly fresh ubuntu machine. I have been successful in logging into the paper trading account and submitting buy and sell orders programatically via the ibPy interface.
However, I am now trying to do more than simply submit orders. Namely, I am trying to obtain position updated from TWS. I am interested in successfully running the following code:
```
from time import sleep
from ib.opt import ibConnection, message
def error_handler(msg):
print(msg)
def acct_update(msg):
print(msg)
con = ibConnection(clientId=100)
con.register(acct_update,
message.updateAccountValue,
message.updateAccountTime,
message.updatePortfolio)
con.register(error_handler, "Error")
con.connect()
con.reqAccountUpdates(True, 'DU000000')
sleep(1)
con.disconnect()
```
When executed however I obtain the following error:
```
<error id=-1, errorCode=502, errorMsg=Couldn't connect to TWS.
Confirm that "Enable ActiveX and Socket Clients" is enabled on
the TWS "Configure->API" menu.>
```
I have ensured that indeed ActiveX and socket clients are enabled in the TWS preferences, so that is not the issue. It surprises me that I would be able to submit orders successfully but not obtain account updates from TWS. Does anyone know why this could be happening?
## Answer by Clebson Derivan (score 0)
https://quant.stackexchange.com/a/27473
you forgot the parameter port:
> con = ibConnection(port=7497, clientId=100)
works for meماخذ کا حوالہ دیتے ہوئے مکمل متن دکھایا گیا ہے، ماخذ کے لائسنس کے تحت۔ لائسنس: CC BY-SA 4.0 (Stack Exchange)
یہ خلاصہ اصل ماخذ سے Stratmill کے تحقیقی ایجنٹ نے لکھا ہے؛ یہ ماخذ کی نقل نہیں۔