Send a Redi Excel VBA "Stop Limit" order with Goldman Sachs.

I'm trying to send "Stop Limit" Order with Excel VBA to Goldman Smart Order Routing platform.

While debugging the certain fields are either "Invalid" or not populated.

The current examples are inadequate, and are not real world function examples.


Using the Redi Montage the field that work set by hand:

Side = Buy

Symbol = any

Price = 10.2

Quantity = 100

PriceType = "SOR"

Account = *********

Destination = "GSCO NA Eq algo" // note: RediLib uses Exchange, but fails when setting this value

TIF = Day

Stop = 10.2 // note: trying to set StopPrice in VBA, yields nothing

OrderType = Stop Limit // note: RediLib does not have an equivalent.


In short, RediLib may not be able to handle advance Routing or Limit Orders based on brokers selected.


Please provide a working example with Goldman Sachs.


Thanks,







Tagged:

Best Answer

  • zoya faberov
    Answer ✓

    Hello @robertpalmer and all,

    Updating the community with the answer that was provided by the product team:

        horder.symbol = "AAPL"
    horder.Exchange = "GSDE ALGO"
    horder.PriceType = "SOR GSDE"
    horder.Price = 543.21
    vRes = horder.SetNewVariable("(MB) Order Type", "Stop Limit")
    vRes = horder.SetNewVariable("(MB) Stop", "123.45

Answers

  • Hello @robertpalmer ,

    I would like to suggest to test order submission with VBA Excel using one of REDI VBA Excel Examples on GitHub I would pick Order Entry Single - US Options, as the example is simple, but is very helpful in selecting valid field values.

    The example allows to select valid Dates and Strikes using buttons on the right, for example "Load Expiration" and Load Strike". Consequently, you can test-submit the order created to a Demo venue that you are permissioned for by "Load Destination" button and then hitting Submit. The below selections work on my side at the time.

    redi1.gif

    If you experience issues, by placing breakpoints into VBA code in sub SendOptionsOrder() you should be able to narrow down the cause.

    This same example testing approach, if you are submitting equities, can be used with example "Order Entry - Singles Batch Load (Global Equities & Futures)", I would test with this example, leaving only one or two of the order rows, resulting in only one or two attempted order submissions at a time.

    Once a test order submits to Demo venue as expected, next, can adjust the symbol and the numbers and change to Goldman Sachs venue per your requirement.

    Let us know how this works on your side?

  • Hello @robertpalmer ,

    I have consequently done some testing with Trading Tool - BracketOrder example from REDI starter example deck on GitHub

    Modifications:

    • I have updated Exchange(Venue) on sheet REDISettings to "DEMO DMA" as I am not permissioned to test against Goldman Sachs.
    • I have in:

    Sub SendMasterOrder()

    Sub SendProfitOrder()

    Sub SendStopLossOrder()

    Updated o.Account = "MYVALIDACCOUNT"

    • I have short-circuited MasterOrder to send all three on a click of Submit button, for testing purposes:
    ...
    Dim errVal As Variant
    Dim rtnVal As Boolean
    rtnVal = o.Submit(errVal)
    Debug.Print "Sent Master Order | " & rtnVal & " | " & errVal
    SendProfitOrder
     SendStopLossOrder


    End Sub

    I am able to send all three orders, including StopLossOrder, to DEMO DMA.

    This tells me that interface implementation to submit the order is present and the example code works for the purpose.

    Do you have permissions for any demo venue? Can you try the same with the latest example?

    It is possible, that your user id is not permissioned to interact with Goldman Sachs programmatically. Your Refinitiv account team will be able to verify the permissions on your behalf