Sample code for 30+ languages & platforms
Visual Basic 6.0

ETrade List Orders

See more ETrade Examples

Gets the order details for a selected brokerage account based on the search criteria provided.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim http As New ChilkatHttp

http.OAuth1 = 1
http.OAuthVerifier = ""
http.OAuthConsumerKey = "ETRADE_CONSUMER_KEY"
http.OAuthConsumerSecret = "ETRADE_CONSUMER_SECRET"

' Load the access token previously obtained via the OAuth1 Authorization
Dim jsonToken As New ChilkatJsonObject
success = jsonToken.LoadFile("qa_data/tokens/etrade.json")
If (success <> 1) Then
    Debug.Print "Failed to load OAuth1 token"
    Exit Sub
End If

http.OAuthToken = jsonToken.StringOf("oauth_token")
http.OAuthTokenSecret = jsonToken.StringOf("oauth_token_secret")

Dim sandboxUrl As String
sandboxUrl = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/orders"
Dim liveUrl As String
liveUrl = "https://api.etrade.com/v1/accounts/{$accountIdKey}/orders"

success = http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A")

Dim resp As New ChilkatHttpResponse
success = http.HttpNoBody("GET",sandboxUrl,resp)
If (success = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

' Make sure a successful response was received.
If (resp.StatusCode > 200) Then
    Debug.Print resp.StatusLine
    Debug.Print resp.Header
    Debug.Print resp.BodyStr
    Exit Sub
End If

' Sample XML response:

' Use this online tool to generate parsing code from sample XML: 
' Generate Parsing Code from XML

' <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
' <OrdersResponse>
'     <marker>12345678999</marker>
'     <next>https://api.sit.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders?marker=12345678999</next>
'     <Order>
'         <orderId>479</orderId>
'         <details>https://api.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders/479</details>
'         <orderType>OPTN</orderType>
'         <OrderDetail>
'             <placedTime>123453456</placedTime>
'             <orderValue>123.0000</orderValue>
'             <status>OPEN</status>
'             <orderTerm>GOOD_FOR_DAY</orderTerm>
'             <priceType>LIMIT</priceType>
'             <limitPrice>1.5</limitPrice>
'             <stopPrice>0</stopPrice>
'             <marketSession>REGULAR</marketSession>
'             <allOrNone>false</allOrNone>
'             <Instrument>
'                 <Product>
'                     <symbol>RIMM</symbol>
'                     <securityType>OPTN</securityType>
'                     <callPut>CALL</callPut>
'                     <expiryYear>2012</expiryYear>
'                     <expiryMonth>3</expiryMonth>
'                     <expiryDay>9</expiryDay>
'                     <strikePrice>12</strikePrice>
'                 </Product>
'                 <symbolDescription>RESEARCH IN MOTION LTD COM</symbolDescription>
'                 <orderAction>BUY_OPEN</orderAction>
'                 <quantityType>QUANTITY</quantityType>
'                 <orderedQuantity>5</orderedQuantity>
'                 <filledQuantity>5</filledQuantity>
'                 <averageExecutionPrice>0</averageExecutionPrice>
'                 <estimatedCommission>9.99</estimatedCommission>
'                 <estimatedFees>0</estimatedFees>
'             </Instrument>
'             <netPrice>0</netPrice>
'             <netBid>0</netBid>
'             <netAsk>0</netAsk>
'             <gcd>0</gcd>
'             <ratio/>
'         </OrderDetail>
'     </Order>
'     <Order>
'         <orderId>477</orderId>
'         <details>https://api.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders/477</details>
'         <orderType>ONE_CANCELS_ALL</orderType>
'         <totalOrderValue>209.99</totalOrderValue>
'         <totalCommission>10.74</totalCommission>
'         <OrderDetail>
'             <orderNumber>1</orderNumber>
'             <placedTime>1331699203122</placedTime>
'             <orderValue>123.0000</orderValue>
'             <status>OPEN</status>
'             <orderTerm>GOOD_FOR_DAY</orderTerm>
'             <priceType>LIMIT</priceType>
'             <limitPrice>2</limitPrice>
'             <stopPrice>0</stopPrice>
'             <marketSession>REGULAR</marketSession>
'             <bracketedLimitPrice>2</bracketedLimitPrice>
'             <initialStopPrice>2</initialStopPrice>
'             <allOrNone>false</allOrNone>
'             <Instrument>
'                 <Product>
'                     <symbol>ETFC</symbol>
'                     <securityType>EQ</securityType>
'                 </Product>
'                 <symbolDescription>ETRADE Financials</symbolDescription>
'                 <orderAction>BUY</orderAction>
'                 <quantityType>QUANTITY</quantityType>
'                 <orderedQuantity>100</orderedQuantity>
'                 <filledQuantity>0</filledQuantity>
'                 <averageExecutionPrice>0</averageExecutionPrice>
'                 <estimatedCommission>9.99</estimatedCommission>
'                 <estimatedFees>0</estimatedFees>
'             </Instrument>
'             <netPrice>0</netPrice>
'             <netBid>0</netBid>
'             <netAsk>0</netAsk>
'             <gcd>0</gcd>
'             <ratio/>
'         </OrderDetail>
'         <OrderDetail>
'             <orderNumber>2</orderNumber>
'             <placedTime>1331699203</placedTime>
'             <orderValue>231.0000</orderValue>
'             <status>OPEN</status>
'             <orderTerm>GOOD_FOR_DAY</orderTerm>
'             <priceType>LIMIT</priceType>
'             <limitPrice>0.5</limitPrice>
'             <stopPrice>0</stopPrice>
'             <marketSession>REGULAR</marketSession>
'             <initialStopPrice>0.5</initialStopPrice>
'             <allOrNone>false</allOrNone>
'             <Instrument>
'                 <Product>
'                     <symbol>MON</symbol>
'                     <securityType>OPTN</securityType>
'                     <callPut>CALL</callPut>
'                     <expiryYear>2012</expiryYear>
'                     <expiryMonth>4</expiryMonth>
'                     <expiryDay>21</expiryDay>
'                     <strikePrice>85</strikePrice>
'                 </Product>
'                 <symbolDescription>MON Mar 9 '12 $85 Call</symbolDescription>
'                 <orderAction>BUY_OPEN</orderAction>
'                 <quantityType>QUANTITY</quantityType>
'                 <orderedQuantity>1</orderedQuantity>
'                 <filledQuantity>0</filledQuantity>
'                 <averageExecutionPrice>0</averageExecutionPrice>
'                 <estimatedCommission>9.99</estimatedCommission>
'                 <estimatedFees>0</estimatedFees>
'             </Instrument>
'             <netPrice>0</netPrice>
'             <netBid>0</netBid>
'             <netAsk>0</netAsk>
'             <gcd>0</gcd>
'             <ratio/>
'         </OrderDetail>
'     </Order>
'     <Order>
'         <orderId>475</orderId>
'         <details>https://api.etrade.com/accounts/E5Nd4LJBsEi_UyHm4Vio9g/orders/475</details>
'         <orderType>SPREADS</orderType>
'         <OrderDetail>
'             <placedTime>1331742953</placedTime>
'             <executedTime>1331742955432</executedTime>
'             <orderValue>4445.99</orderValue>
'             <status>EXECUTED</status>
'             <orderTerm>GOOD_FOR_DAY</orderTerm>
'             <priceType>NET_DEBIT</priceType>
'             <limitPrice>1.5</limitPrice>
'             <stopPrice>0</stopPrice>
'             <marketSession>REGULAR</marketSession>
'             <allOrNone>false</allOrNone>
'             <Instrument>
'                 <Product>
'                     <symbol>REE</symbol>
'                     <securityType>OPTN</securityType>
'                     <callPut>CALL</callPut>
'                     <expiryYear>2012</expiryYear>
'                     <expiryMonth>7</expiryMonth>
'                     <expiryDay>21</expiryDay>
'                     <strikePrice>7</strikePrice>
'                 </Product>
'                 <symbolDescription>REE Jul 21 '12 $7 Call</symbolDescription>
'                 <orderAction>BUY_OPEN</orderAction>
'                 <quantityType>QUANTITY</quantityType>
'                 <orderedQuantity>2</orderedQuantity>
'                 <filledQuantity>2</filledQuantity>
'                 <averageExecutionPrice>1.5</averageExecutionPrice>
'                 <estimatedCommission>7.24</estimatedCommission>
'                 <estimatedFees>0</estimatedFees>
'             </Instrument>
'             <Instrument>
'                 <Product>
'                     <symbol>REE</symbol>
'                     <securityType>OPTN</securityType>
'                     <callPut>PUT</callPut>
'                     <expiryYear>2013</expiryYear>
'                     <expiryMonth>1</expiryMonth>
'                     <expiryDay>19</expiryDay>
'                     <strikePrice>12.50</strikePrice>
'                 </Product>
'                 <symbolDescription>REE Jan 19 '13 $12.50 Put</symbolDescription>
'                 <orderAction>BUY_OPEN</orderAction>
'                 <quantityType>QUANTITY</quantityType>
'                 <orderedQuantity>2</orderedQuantity>
'                 <filledQuantity>2</filledQuantity>
'                 <averageExecutionPrice>1.5</averageExecutionPrice>
'                 <estimatedCommission>7.24</estimatedCommission>
'                 <estimatedFees>0</estimatedFees>
'             </Instrument>
'             <netPrice>0</netPrice>
'             <netBid>0</netBid>
'             <netAsk>0</netAsk>
'             <gcd>0</gcd>
'             <ratio/>
'         </OrderDetail>
'     </Order>
' </OrdersResponse>
' 

Dim xml As New ChilkatXml
success = xml.LoadXml(resp.BodyStr)
Debug.Print xml.GetXml()

Dim orderId As Long
Dim details As String
Dim orderType As String
Dim j As Long
Dim count_j As Long
Dim placedTime As String
Dim orderValue As String
Dim status As String
Dim orderTerm As String
Dim priceType As String
Dim limitPrice As String
Dim stopPrice As Long
Dim marketSession As String
Dim allOrNone As String
Dim k As Long
Dim count_k As Long
Dim symbol As String
Dim securityType As String
Dim callPut As String
Dim expiryYear As Long
Dim expiryMonth As Long
Dim expiryDay As Long
Dim strikePrice As String
Dim symbolDescription As String
Dim orderAction As String
Dim quantityType As String
Dim orderedQuantity As Long
Dim filledQuantity As Long
Dim averageExecutionPrice As String
Dim estimatedCommission As String
Dim estimatedFees As Long
Dim netPrice As Long
Dim netBid As Long
Dim netAsk As Long
Dim gcd As Long
Dim orderNumber As Long
Dim bracketedLimitPrice As Long
Dim initialStopPrice As String
Dim executedTime As String
Dim totalOrderValue As String
Dim totalCommission As String

Dim marker As String
marker = xml.GetChildContent("marker")
Dim next As String
next = xml.GetChildContent("next")
Dim i As Long
i = 0
Dim count_i As Long
count_i = xml.NumChildrenHavingTag("Order")
Do While i < count_i
    xml.I = i
    orderId = xml.GetChildIntValue("Order[i]|orderId")
    details = xml.GetChildContent("Order[i]|details")
    orderType = xml.GetChildContent("Order[i]|orderType")
    j = 0
    count_j = xml.NumChildrenHavingTag("Order[i]|OrderDetail")
    Do While j < count_j
        xml.J = j
        placedTime = xml.GetChildContent("Order[i]|OrderDetail[j]|placedTime")
        orderValue = xml.GetChildContent("Order[i]|OrderDetail[j]|orderValue")
        status = xml.GetChildContent("Order[i]|OrderDetail[j]|status")
        orderTerm = xml.GetChildContent("Order[i]|OrderDetail[j]|orderTerm")
        priceType = xml.GetChildContent("Order[i]|OrderDetail[j]|priceType")
        limitPrice = xml.GetChildContent("Order[i]|OrderDetail[j]|limitPrice")
        stopPrice = xml.GetChildIntValue("Order[i]|OrderDetail[j]|stopPrice")
        marketSession = xml.GetChildContent("Order[i]|OrderDetail[j]|marketSession")
        allOrNone = xml.GetChildContent("Order[i]|OrderDetail[j]|allOrNone")
        k = 0
        count_k = xml.NumChildrenHavingTag("Order[i]|OrderDetail[j]|Instrument")
        Do While k < count_k
            xml.K = k
            symbol = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|symbol")
            securityType = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|securityType")
            callPut = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|callPut")
            expiryYear = xml.GetChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|Product|expiryYear")
            expiryMonth = xml.GetChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|Product|expiryMonth")
            expiryDay = xml.GetChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|Product|expiryDay")
            strikePrice = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|Product|strikePrice")
            symbolDescription = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|symbolDescription")
            orderAction = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|orderAction")
            quantityType = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|quantityType")
            orderedQuantity = xml.GetChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|orderedQuantity")
            filledQuantity = xml.GetChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|filledQuantity")
            averageExecutionPrice = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|averageExecutionPrice")
            estimatedCommission = xml.GetChildContent("Order[i]|OrderDetail[j]|Instrument[k]|estimatedCommission")
            estimatedFees = xml.GetChildIntValue("Order[i]|OrderDetail[j]|Instrument[k]|estimatedFees")
            k = k + 1
        Loop
        netPrice = xml.GetChildIntValue("Order[i]|OrderDetail[j]|netPrice")
        netBid = xml.GetChildIntValue("Order[i]|OrderDetail[j]|netBid")
        netAsk = xml.GetChildIntValue("Order[i]|OrderDetail[j]|netAsk")
        gcd = xml.GetChildIntValue("Order[i]|OrderDetail[j]|gcd")
        orderNumber = xml.GetChildIntValue("Order[i]|OrderDetail[j]|orderNumber")
        bracketedLimitPrice = xml.GetChildIntValue("Order[i]|OrderDetail[j]|bracketedLimitPrice")
        initialStopPrice = xml.GetChildContent("Order[i]|OrderDetail[j]|initialStopPrice")
        executedTime = xml.GetChildContent("Order[i]|OrderDetail[j]|executedTime")
        j = j + 1
    Loop
    totalOrderValue = xml.GetChildContent("Order[i]|totalOrderValue")
    totalCommission = xml.GetChildContent("Order[i]|totalCommission")
    i = i + 1
Loop

Debug.Print "Success."