Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(VB.NET) ETrade View PortfolioGets portfolio information for the selected brokerage account. For more information, see https://apisb.etrade.com/docs/api/account/api-portfolio-v1.html
' This requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As New Chilkat.Http http.OAuth1 = True 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 Chilkat.JsonObject Dim success As Boolean = jsonToken.LoadFile("qa_data/tokens/etrade.json") If (success <> True) Then Debug.WriteLine("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 = "https://apisb.etrade.com/v1/accounts/{$accountIdKey}/portfolio" Dim liveUrl As String = "https://api.etrade.com/v1/accounts/{$accountIdKey}/portfolio" http.SetUrlVar("accountIdKey","6_Dpy0rmuQ9cu9IbTfvF2A") Dim resp As Chilkat.HttpResponse = http.QuickGetObj(sandboxUrl) If (http.LastMethodSuccess <> True) Then Debug.WriteLine(http.LastErrorText) Exit Sub End If ' Make sure a successful response was received. If (resp.StatusCode > 200) Then Debug.WriteLine(resp.StatusLine) Debug.WriteLine(resp.Header) Debug.WriteLine(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"?> ' <PortfolioResponse> ' <AccountPortfolio> ' <accountId>83359700</accountId> ' <Position> ' <positionId>27005131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>BR</symbol> ' </Product> ' <symbolDescription>BR</symbolDescription> ' <dateAcquired>-57600000</dateAcquired> ' <pricePaid>0</pricePaid> ' <commissions>0</commissions> ' <otherFees>0</otherFees> ' <quantity>10</quantity> ' <positionIndicator>TYPE2</positionIndicator> ' <positionType>LONG</positionType> ' <daysGain>-2.7999</daysGain> ' <daysGainPct>-1.3346</daysGainPct> ' <marketValue>207</marketValue> ' <totalCost>0</totalCost> ' <totalGain>207</totalGain> ' <totalGainPct>0</totalGainPct> ' <pctOfPortfolio>0.0018</pctOfPortfolio> ' <costPerShare>0</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>-0.28</change> ' <changePct>-1.3346</changePct> ' <lastTrade>20.70</lastTrade> ' <lastTradeTime>1343160240</lastTradeTime> ' <volume>431591</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/27005131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/BR</quoteDetails> ' </Position> ' <Position> ' <positionId>4709131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>GLD</symbol> ' </Product> ' <symbolDescription>GLD</symbolDescription> ' <dateAcquired>1335250800000</dateAcquired> ' <pricePaid>1</pricePaid> ' <commissions>5</commissions> ' <otherFees>0</otherFees> ' <quantity>2</quantity> ' <positionIndicator>TYPE1</positionIndicator> ' <positionType>LONG</positionType> ' <daysGain>0.9799</daysGain> ' <daysGainPct>0.3201</daysGainPct> ' <marketValue>307.04</marketValue> ' <totalCost>7</totalCost> ' <totalGain>300.04</totalGain> ' <totalGainPct>4286.2857</totalGainPct> ' <pctOfPortfolio>0.0028</pctOfPortfolio> ' <costPerShare>3.5</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>0.49</change> ' <changePct>0.3201</changePct> ' <lastTrade>153.52</lastTrade> ' <lastTradeTime>1343160000</lastTradeTime> ' <volume>6510878</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/4709131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/GLD</quoteDetails> ' </Position> ' <Position> ' <positionId>4729131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>MSFT</symbol> ' </Product> ' <symbolDescription>MSFT</symbolDescription> ' <dateAcquired>1335250800000</dateAcquired> ' <pricePaid>1</pricePaid> ' <commissions>5</commissions> ' <otherFees>0</otherFees> ' <quantity>1</quantity> ' <positionIndicator>TYPE2</positionIndicator> ' <positionType>LONG</positionType> ' <daysGain>-0.13</daysGain> ' <daysGainPct>-0.4439</daysGainPct> ' <marketValue>29.1499</marketValue> ' <totalCost>6</totalCost> ' <totalGain>23.1499</totalGain> ' <totalGainPct>385.8333</totalGainPct> ' <pctOfPortfolio>0.0002</pctOfPortfolio> ' <costPerShare>6</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>-0.13</change> ' <changePct>-0.4439</changePct> ' <lastTrade>29.15</lastTrade> ' <lastTradeTime>1343160000</lastTradeTime> ' <volume>47711254</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/4729131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/MSFT</quoteDetails> ' </Position> ' <Position> ' <positionId>23971131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>MSFT</symbol> ' </Product> ' <symbolDescription>MSFT</symbolDescription> ' <dateAcquired>-57600000</dateAcquired> ' <pricePaid>0</pricePaid> ' <commissions>0</commissions> ' <otherFees>0</otherFees> ' <quantity>-10</quantity> ' <positionIndicator>TYPE5</positionIndicator> ' <positionType>SHORT</positionType> ' <daysGain>1.30</daysGain> ' <daysGainPct>-0.4439</daysGainPct> ' <marketValue>-291.5</marketValue> ' <totalCost>0</totalCost> ' <totalGain>-291.5</totalGain> ' <totalGainPct>0</totalGainPct> ' <pctOfPortfolio>-0.0026</pctOfPortfolio> ' <costPerShare>0</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>-0.13</change> ' <changePct>-0.4439</changePct> ' <lastTrade>29.15</lastTrade> ' <lastTradeTime>1343160000</lastTradeTime> ' <volume>47711254</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/23971131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/MSFT</quoteDetails> ' </Position> ' <Position> ' <positionId>4725131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>RBL</symbol> ' </Product> ' <symbolDescription>RBL</symbolDescription> ' <dateAcquired>1335250800000</dateAcquired> ' <pricePaid>1</pricePaid> ' <commissions>5</commissions> ' <otherFees>0</otherFees> ' <quantity>2</quantity> ' <positionIndicator>TYPE2</positionIndicator> ' <positionType>LONG</positionType> ' <daysGain>-0.52</daysGain> ' <daysGainPct>-1.0252</daysGainPct> ' <marketValue>50.20</marketValue> ' <totalCost>7</totalCost> ' <totalGain>43.20</totalGain> ' <totalGainPct>617.1428</totalGainPct> ' <pctOfPortfolio>0.0004</pctOfPortfolio> ' <costPerShare>3.5</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>-0.26</change> ' <changePct>-1.0252</changePct> ' <lastTrade>25.10</lastTrade> ' <lastTradeTime>1343159760</lastTradeTime> ' <volume>11827</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/4725131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/RBL</quoteDetails> ' </Position> ' <Position> ' <positionId>20841131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>RPI</symbol> ' </Product> ' <symbolDescription>RPI</symbolDescription> ' <dateAcquired>1335250800000</dateAcquired> ' <pricePaid>7.5599</pricePaid> ' <commissions>5</commissions> ' <otherFees>45</otherFees> ' <quantity>2</quantity> ' <positionIndicator>TYPE2</positionIndicator> ' <positionType>LONG</positionType> ' <daysGain>0</daysGain> ' <daysGainPct>0</daysGainPct> ' <marketValue>2.8599</marketValue> ' <totalCost>65.12</totalCost> ' <totalGain>-62.2599</totalGain> ' <totalGainPct>-95.6081</totalGainPct> ' <pctOfPortfolio>0.00</pctOfPortfolio> ' <costPerShare>32.56</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>0</change> ' <changePct>0</changePct> ' <lastTrade>1.43</lastTrade> ' <lastTradeTime>1343150700</lastTradeTime> ' <volume>1803</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/20841131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/RPI</quoteDetails> ' </Position> ' <Position> ' <positionId>4732131</positionId> ' <Product> ' <expiryDay>0</expiryDay> ' <expiryMonth>0</expiryMonth> ' <expiryYear>0</expiryYear> ' <securityType>EQ</securityType> ' <strikePrice>0</strikePrice> ' <symbol>RXD</symbol> ' </Product> ' <symbolDescription>RXD</symbolDescription> ' <dateAcquired>1335250800000</dateAcquired> ' <pricePaid>1</pricePaid> ' <commissions>2.99</commissions> ' <otherFees>0.0099</otherFees> ' <quantity>-3</quantity> ' <positionIndicator>TYPE5</positionIndicator> ' <positionType>SHORT</positionType> ' <daysGain>-1.296</daysGain> ' <daysGainPct>2.6799</daysGainPct> ' <marketValue>-49.6559</marketValue> ' <totalCost>0</totalCost> ' <totalGain>-49.6559</totalGain> ' <totalGainPct>-827.60</totalGainPct> ' <pctOfPortfolio>-0.0004</pctOfPortfolio> ' <costPerShare>0</costPerShare> ' <todayCommissions>0</todayCommissions> ' <todayFees>0</todayFees> ' <todayPricePaid>0</todayPricePaid> ' <todayQuantity>0</todayQuantity> ' <Quick> ' <change>0.432</change> ' <changePct>2.6799</changePct> ' <lastTrade>16.552</lastTrade> ' <lastTradeTime>1343157480</lastTradeTime> ' <volume>2200</volume> ' </Quick> ' <lotsDetails>https://apisb.etrade.com/v1/accounts/E5Nd4LJBsEi_UyHm4Vio9g/portfolio/4732131</lotsDetails> ' <quoteDetails>https://apisb.etrade.com/v1/market/quote/RXD</quoteDetails> ' </Position> ' <totalPages>1</totalPages> ' </AccountPortfolio> ' </PortfolioResponse> ' Dim xml As New Chilkat.Xml xml.LoadXml(resp.BodyStr) Debug.WriteLine(xml.GetXml()) Dim accountId As Integer Dim positionId As Integer Dim expiryDay As Integer Dim expiryMonth As Integer Dim expiryYear As Integer Dim securityType As String Dim strikePrice As Integer Dim symbol As String Dim symbolDescription As String Dim dateAcquired As String Dim pricePaid As String Dim commissions As String Dim otherFees As String Dim quantity As Integer Dim positionIndicator As String Dim positionType As String Dim daysGain As String Dim daysGainPct As String Dim marketValue As String Dim totalCost As String Dim totalGain As String Dim totalGainPct As String Dim pctOfPortfolio As String Dim costPerShare As String Dim todayCommissions As Integer Dim todayFees As Integer Dim todayPricePaid As Integer Dim todayQuantity As Integer Dim change As String Dim changePct As String Dim lastTrade As String Dim lastTradeTime As Integer Dim volume As Integer Dim lotsDetails As String Dim quoteDetails As String Dim totalPages As Integer accountId = xml.GetChildIntValue("AccountPortfolio|accountId") Dim i As Integer = 0 Dim count_i As Integer = xml.NumChildrenHavingTag("AccountPortfolio|Position") While i < count_i xml.I = i positionId = xml.GetChildIntValue("AccountPortfolio|Position[i]|positionId") expiryDay = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|expiryDay") expiryMonth = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|expiryMonth") expiryYear = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|expiryYear") securityType = xml.GetChildContent("AccountPortfolio|Position[i]|Product|securityType") strikePrice = xml.GetChildIntValue("AccountPortfolio|Position[i]|Product|strikePrice") symbol = xml.GetChildContent("AccountPortfolio|Position[i]|Product|symbol") symbolDescription = xml.GetChildContent("AccountPortfolio|Position[i]|symbolDescription") dateAcquired = xml.GetChildContent("AccountPortfolio|Position[i]|dateAcquired") pricePaid = xml.GetChildContent("AccountPortfolio|Position[i]|pricePaid") commissions = xml.GetChildContent("AccountPortfolio|Position[i]|commissions") otherFees = xml.GetChildContent("AccountPortfolio|Position[i]|otherFees") quantity = xml.GetChildIntValue("AccountPortfolio|Position[i]|quantity") positionIndicator = xml.GetChildContent("AccountPortfolio|Position[i]|positionIndicator") positionType = xml.GetChildContent("AccountPortfolio|Position[i]|positionType") daysGain = xml.GetChildContent("AccountPortfolio|Position[i]|daysGain") daysGainPct = xml.GetChildContent("AccountPortfolio|Position[i]|daysGainPct") marketValue = xml.GetChildContent("AccountPortfolio|Position[i]|marketValue") totalCost = xml.GetChildContent("AccountPortfolio|Position[i]|totalCost") totalGain = xml.GetChildContent("AccountPortfolio|Position[i]|totalGain") totalGainPct = xml.GetChildContent("AccountPortfolio|Position[i]|totalGainPct") pctOfPortfolio = xml.GetChildContent("AccountPortfolio|Position[i]|pctOfPortfolio") costPerShare = xml.GetChildContent("AccountPortfolio|Position[i]|costPerShare") todayCommissions = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayCommissions") todayFees = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayFees") todayPricePaid = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayPricePaid") todayQuantity = xml.GetChildIntValue("AccountPortfolio|Position[i]|todayQuantity") change = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|change") changePct = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|changePct") lastTrade = xml.GetChildContent("AccountPortfolio|Position[i]|Quick|lastTrade") lastTradeTime = xml.GetChildIntValue("AccountPortfolio|Position[i]|Quick|lastTradeTime") volume = xml.GetChildIntValue("AccountPortfolio|Position[i]|Quick|volume") lotsDetails = xml.GetChildContent("AccountPortfolio|Position[i]|lotsDetails") quoteDetails = xml.GetChildContent("AccountPortfolio|Position[i]|quoteDetails") i = i + 1 End While totalPages = xml.GetChildIntValue("AccountPortfolio|totalPages") Debug.WriteLine("Success.") |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.