From 25e19e068131c94985af155616a4eb96c313724c Mon Sep 17 00:00:00 2001 From: wangzhe3224 Date: Sat, 21 Jan 2017 17:06:07 +0000 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0vn.ib=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E7=AE=80=E4=BB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vn.ib/README_en.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 vn.ib/README_en.md diff --git a/vn.ib/README_en.md b/vn.ib/README_en.md new file mode 100644 index 00000000..a3c85bf0 --- /dev/null +++ b/vn.ib/README_en.md @@ -0,0 +1,51 @@ +# vn.ib + +`vn.ib` is still under developing, encapsulation is partially done, further +contributions are warmly welcome : ) + +### Introduction + +`vn.ib` is a Python encapsulation of IB POSIX C++ API with full functionality of +the original C++ API. The name of functions and classes is consistent with original +C++ API. + +### Difference between vn.py and IbPy + +1. `vn.ib` is a Python encapsulation of POSIX C++ API based on Boost.Python, which +provides higher efficiency than IbPy. +2. `vn.ib` integrates exception handling function inside the encapsulation, which +avoids the disconnection to the IB server when exception is triggered. +3. `vn.ib` needs to be compiled before calling (by default, .pyd file is compiled +under Windows 7 32bit environment), while IbPy is a pure Python library. +4. `vn.ib` is based on 9.72 beta API, while IbPy is based on old 9.70 stable API. + +### Changes from original API + +Object comparison functions are added into `shared_ptr.h` and `SoftDollerTier.h` +in order to automaticall encapsulate `vector` object to Python. + +### Linux version + +Currently, revision is needed to deploy `vn.ib` in Linux environment: + +1. Object comparison functions are added into `shared_ptr.h` and `SoftDollerTier.h` +in order to automaticall encapsulate `vector` object to Python. +2. `EReader.cpp`: EReader::bufferedRead, change `min` to `std::min` (No revision +needed in Windows environment) +3. `EClient.cpp`: Add `EncodeField` in order to partially characterize +`EncodeField` (If you use GCC to compile, you need to do this, otherwise you +will get `underfined symbol` error. MSVC is free from the error). + +We suspect that IB development team is developing and testing the API under Windows +environment, here is the compiling process: + +1. cd `vn.ib/ibapi/linux`, run `bash build.sh` to generate twsapi.so +2. cd `vn.ib/`, run `bash build.sh` to generate vnib.so + +### API version + +Version: IB API for Windows beta 9.72.18 + +Date: 2016-09-14 + +Link: [http://interactivebrokers.github.io/](http://interactivebrokers.github.io/)