Visual Basic 6.0
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
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."