Page 1 of 1

New IBPlugin Version

Posted: Thu Mar 31, 2022 12:39 pm
by board_admin
Hello community,
there is a new IBPlugin version 1511.
Product Page:
https://trade-commander.com/en/produkt/ibplugin/

Download:
https://drive.google.com/open?id=1-FqWx ... p=drive_fs

Release Notes:
https://trade-commander.com/en/produkt/ ... ase-notes/

Changes:

- IBPlugin is now capable to query contract data and to save a contract from query result along with unique custom symbol
name to database, so you can get conid/uidc from function

Code: Select all

ibgNAME_TO_UID("my_unique_symbol_name")
Similar to position data, the query creates a snapshot list with affected contract and returns the number of contracts.
This is the MetaTrader code snippet, how to use it:

Code: Select all

    // --------------------------------------------
	// [#8] Do a contract query:
	Print("+++ contract query START");
	// create a snapshot of all HE FUT contracts.  Timeout 5 seconds
	total_objects=ibgCONTRACT_QUERY("UDL=HE#SET=FUT",5000);
	Print("##contracts=",total_objects );
	// list all returned contracts with symbol and conid
	for(int idx=0;idx < total_objects;++idx)
    {
        // file:///C:/Program%20Files/trade-commander.com/IBPlugin/documentation/tbl_symbol_info.html
        int uid = ibgCONTRACT_INFO_INT(idx, 7);
        string symbol = ibgCONTRACT_INFO_STR(idx, 8);
        
        // if this is the contract you are looking for, use
        // this function to add it to internal database along
        // with unique symbol name
        // uid = ibgADD_CONTRACT_IDX( idx, "my_unique_symbol_name");
        // so you can access contract 
        // by calling function:
        // ibgNAME_TO_UID("my_unique_symbol_name");
                                    
		PrintFormat("[%d] symbol=%s uidc=%d",idx,symbol,uid);
	}
	Print("--- contract query END");
- Market data request and access extended.
The market data request allows generic ticks argument.
It is now possible to retrieve Option data, like delta,vega,etc. tick EFP, tick generic, tick string.
Market data are stored in circular arrays. So there is a certain tick history store during runtime and can be accessed by index, where
index=0 denotes latest tick.

Example for TradeStation / MultiCharts

Code: Select all

      // subscribe to realtime data
      ticker=    ibgSUBSCRIBE_REALTIME_DATA(connection_id,  conid, "", "");
	ibgSLEEP(2000);

	For idx = 200 to 207 begin
        // subtype identifier (idx)
        // ---------------------------
	  //implied_vola=200
        //delta=201
        //opt_price=202
        //pv_dividend=203
        //gamma=204
        //vega=205
        //theta=206
        //und_price=207
        
	option_value=ibgGET_REALTIME_DATA(connection_id, ticker, 21,   idx, 0);
	Print("option-val[",idx,"]=",option_value);