Skip to content

Releases: zpmsoftware/SchwabApiCS

V7.4.3

25 Feb 01:14
Compare
Choose a tag to compare

Release v7.4.3 2025-02-24 Maintenance release with a few enhancements

• Order() and ChildOrderStrategy() - Optional parameter "stopLimitPrice" added, to support STOP_LIMIT orders

• AccountInfo.SecuritiesAccount.Position new fields added:
o decimal averageShortPrice
o decimal taxLotAverageShortPrice
o decimal shortOpenProfitLoss
o decimal previousSessionShortQuantity

• MarketData Quote.QuotePrice: new field decimal nAV, used for mutual funds, like SWVXX - money market

• MarketData Quote.QuotePrice: int? indQuoteTime changed to long?

• MarketData.Quote() - modified to support symbols starting with "/". Symbols that start with "/" don't work with the Quote API because the symbol is in the URL - and that causes a problem. The modification redirects the request MarketData.Quotes(), then converts the resulting array to a single quote.

• ZpmPriceCharts.PriceChart - several fixes

• ZpmPriceCharts.PriceChart.Draw(): Added DrawCustomChartElements to draw custom controls on the price chart.

• ZpmPriceCharts.Studies: Changed namespace from Studies to ZpmPriceCharts.Studies

• ZpmPriceCharts.Studies.PriceChannel: New study Price Channel.

• ZpmPriceCharts.Studies.Stochastic: New study Stochastic.

V7.4.2 Beta

13 Dec 18:09
Compare
Choose a tag to compare

Price Chart - fix to support futures symbols, those starting with /
OrderExecuteReplace() - was not implemented/tested. Works now for a simple order. Complex orders will need more work.
OrderStopLoss() - fixed quantity, had the wrong sign.

V7.4.1 Beta

02 Dec 22:54
Compare
Choose a tag to compare
V7.4.1 Beta Pre-release
Pre-release

Price Chart Enhancements.
Note "TimeFrame" has been changed to "FrequencyType" to better align with Schwab API terminology.

V7.4.0 Beta

27 Nov 00:35
Compare
Choose a tag to compare
V7.4.0 Beta Pre-release
Pre-release

Added Price Charts (WPF) and Futures Options Streaming.

V 7.3.1

26 Aug 04:22
Compare
Choose a tag to compare

Release number was not correct on previous release, should of been 7.3.0, but was left 7.2.0,
This release is changed to 7.3.1, and is the only change.

V 7.3.0

11 Aug 23:50
Compare
Choose a tag to compare

Release v7.3.0 2024-08-11
• The target framework for SchwabApiCS has been changed from .Net 7.0 to .Net 8.0.
• In SchwabApi.cs, SymbolDisplay() provides an alternate way to format option symbols.
• Renamed file “SchwabApi .cs” to “SchwabApi.cs”
• GetOrders() – added Order.Status and maxResults filter options.
• GetQuote() – discovered and added new fields “fsiCode” and “fsiDesc”.
• PriceHistory – When getting 1-30 minute candles the Schwab API will sometimes not honor the from/to times and return the a full days candles. Added a filter to remove candles not requested.

V7.2.0 LevelOneEquity is “INotifyPropertyChanged” enabled

01 Aug 21:38
Compare
Choose a tag to compare

Release v7.2.0 2024-07-28
• SecuritiesAccount.Instrument – additional fields discovered for option positions.
• OptionChainParameters class – added documentation comments for all properties
• LevelOneEquities streamer – LevelOneEquity class is “INotifyPropertyChanged” enabled.

LevelOneEquitiesService methods Request, Add,Remove now return List, the list of equities streamed. Use LevelOneEquity.PropertyChanged to notify watchers of a value changed.

The new "EquityStreamer" wrapper class utilizes these new features. It supports sharing the streamer within your application. It supports multiple sources in your application to connect using any of the three options. It keeps track of connections, and when the last connection is removed for a symbol, it removes the symbol from streaming.

V 7.1.0

15 Jul 17:57
Compare
Choose a tag to compare

• Added additional fields to the Quote class that were missing for options, futures, and forex.

• Fixed a bug in LevelOneOptions where only the first option for each expiration date was being returned.

• AccountActivity class: added ConvertLoSignScaleToValue() and logic to preprocess json string. A number of numeric fields were represented as “lo” & “signScale” values:

  • "{fieldname}": { "lo": "5265000", "signScale": 12 } is converted to "{fieldname}": 5.265
  • "{fieldname}": { "lo": "1"} is converted to "{fieldname}": 1
  • "{fieldname}": { "signScale": 12 } is converted to "{fieldname}": null
  • "{fieldname}": {} is converted to "{fieldname}": null
  • "{fieldname}": { "lo": "5", "signScale": 4 } is converted to "{fieldname}": 0.05
  • OrderFillCompleted activity class added

• In SchwabApiTest\Mainwindow.xaml.cs added an extra check to reauthorize if refresh token fails. Normally this shouldn’t happen if RefreshTokenExpires is set for 7 days.

V 7.0.0

09 Jul 14:42
Compare
Choose a tag to compare

Release v7.0.0 2024-07-09
Streaming was the focus of this release. All streaming services that Schwab has implemented are working.
• LevelOneEquities
• LevelOneOptions
• LevelOneFutures
• LevelOneFutures -- Not implemented by Schwab yet
• LevelOneForexes
• NasdaqBooks -- level 2 NASDAQ
• NyseBooks -- level 2 NYSE
• OptionsBooks -- level 2 options
• ChartEquities -- minute candles stream
• ChartFutures -- minute candles stream
• ScreenerEquities -- Not implemented by Schwab yet
• ScreenerOptions -- Not implemented by Schwab yet

v6.0.2

05 Jul 13:57
Compare
Choose a tag to compare

I inadvertently left a line of code setting accountNumber to the first “401” account.

To keep this from happening in the future, and to make it easy for others to set an account number for testing, GetAccountNumberForTesting() was added in Mainwindow.xaml.cs. By default it uses the first account number in the list of accounts (as before) or reads an account number from the optional file AccountNumberForTesting.txt