How to pass additional parameters to csv file for Batch Uploading?

When creating a csv with several hundred tickets for batch processing, I want the file to contain all necessary information to minimize the # of manual modifications required after uploading the csv file into REDI or PT for batch release.

Certain order types require additional parameters:

(e.g. VWAP, TWAP, EDGX <inside limit bid allowance = 0.30>, smart route 'xyz' <urgency: passive/aggressive/normal>, etc..)

The code snippets don't include fields for these additional arguments to passed in:

ptOrder.Symbol = "IBM";
ptOrder.Side = "Sell";
ptOrder.Quantity = 7;
ptOrder.Exchange = "*ticket"; //PT is a bunch of tickets
ptOrder.Price = 143.71
ptOrder.Account = "YourREDIAccount";
ptOrder.SetTFUser("YourREDIUserId");
ptOrder.SetTFList("TestList1");
ptOrder.Warning = false; //Disable the pop-up warning for invalid limit price success = ptOrder.Submit(ref err);

Best Answer

  • qcap17
    Answer ✓

    Found the answer in the REDI API Specification Ver 2.0, which I've included here. Is there a difference between REDI API Specification Ver 2.0 and Ver 1.0 for REDIplus?

    When a ticket is generated with "current date" passed into the Order.Ticket, will all tickets with the same value go to REDI as staged/parked orders? (The goal being to have the option to either batch release all tickets, partial batch release, or individually...)


    h.Order.Ticket = "<current date>"
    ‘ Create a new order object

    Dim hOrder As New Order

    ‘ Set order attributes to the order object
    hOrder.symbol = “ZVZZT”
    hOrder.Side = “Buy”
    hOrder.Quantity = “100”
    hOrder.Exchange = “DEMO ALGO”

    ‘ Set algo strategy
    hOrder.PriceType = “VWAP DEMO”
    hOrder.Price = 0.01
    hOrder.TIF = “Day”
    hOrder.Account = “00999900”
    hOrder.Ticket = “Bypass”

    ‘ Set custom algo fields
    hOrder.SetNewVariable “(MB) Start Time”, “155500”
    hOrder.SetNewVariable “(MB) End Time”, “160000”
    hOrder.SetNewVariable “(MB) Exec Style”, “Aggressive”
    Dim errStr As Variant
    Dim rtnVal As Variant

    ‘ Send order object to REDI
    rtnVal = hOrder.Submit(errStr)

    Debug.Print errStr

Answers

  • Hello,

    Version 2.0 (Dec 2017) is the latest version of the REDI API documentation.

    hOrder.Ticket = "Bypass" will send orders directly from the sheet to REDI as live orders.

    hOrder.Ticket = "Stage" will send staged orders to REDI, which then need to be released manually in REDI. You can release either one by one or as a batch.

    To confirm, do you want the ability to review/release the orders in REDI once they've been created from your program? If so, then "Stage" may be what you need.

    -Brian

  • Yes, thanks.