This MultiCharts 7.2 beta has a number of user experience improvements, bug and stability fixes. Notable additions are of a local SIM broker for ZenFire/Rithmic and connection to server-side ZenFire/Rithmic paper trading provided by the broker.
Follow us on Twitter, Facebook, LinkedIn, and Traders’ Blog to get timely updates about important changes. Share opinions on the MultiCharts Discussion Forum – http://www.multicharts.com/discussion.
Report bugs and request features in our Project Management system – http://www.multicharts.com/pm/
NEW FEATURES
Local SIM account for ZenFire and Rithmic
We built a simulator into MultiCharts to allow using real-time ZenFire and Rithmic data and submit orders. The orders are not sent to the broker, they are processed locally. The simulator has many features to make results close to real life – sequential ordering remembers your place in queue so fills are realistic. Partial fills happen once you reach the price, and if price moves away, the order is only partially filled. Live real-time data means trading on the same data that is used for live orders. This is a great tool for practicing trading before using real money in a real account. You can use the local SIM or connect to the server-side SIM that’s now provided by ZenFire and Rithmic.
Server-side paper trading for ZenFire and Rithmic
ZenFire and Rithmic APIs added server-side simulation to allow paper trading before users spend real money. In this environment orders are sent to the servers of the broker, and the server sends back replies. The functionality here is probably more expanded than the local SIM, but you can use the Local SIM account for ZenFire or Rithmic if you wish.
Adjust length of order connecting line
Active orders on your chart are connected to the Price Scale by a connecting line. This line was of a predetermined length, which didn’t suit all users. You can now change the length of this line to make orders appear closer to or further away from the Price Scale, depending on personal preference.
Trading Technologies price multiplier
Trading Technologies symbols can now be multiplied to show “correct” prices. Each symbol can be multiplied with a multiplier at the end of Description *Root* in Symbol Dictionary for TT. For example, Microsoft Corp *10, or Microsoft Corp *0.01 (always insert a period, not a comma). Prices will then be converted for TT symbols in OPT and on the chart. This works only for futures, prices for data already in the database are not corrected.
Drag & Drop workspaces
Workspace tabs can now be dragged and dropped to rearrange the sequence in which they appear.
New PowerLanguage keywords accounts and positions from brokers
New keywords to work with Accounts and Positions through PowerLanguage. More info here – http://www.multicharts.com/pm/viewissue.php?issue_no=MC-510.
ACCOUNTS
_______________________________________
GetNumAccounts
If broker returns a list of accounts, the number of accounts is returned. In all other cases “N/A” (=0) is returned.
___
GetAccount
If GetNumAccounts returned a non-zero value, then for 1 <= sequence number <=
GetNumAccounts function returns the account number. For other sequence numbers an empty line (“”) is returned.
___
GetAccountID
If GetNumAccounts returned a non-zero amount, то then for 1 <= sequence number <=
GetNumAccounts function returns the account number. For other sequence numbers an empty line (“”) is returned.
___
GetAccountLotSize
Will compile but doesn’t do anything. This keyword is TradeStation specific.
___
GetAccountStatus
Compiles, but doesn’t perform any actionsfor most brokers. This statuses returned for this keyword are TradeStation specific. If a valid account is found, then the following statuses will be returned.
1 (asActive), otherwise – 0 (asInvalid)
___
GetAccountType
Compiles, but doesn’t perform any actionsfor most brokers. This statuses returned for this keyword are TradeStation specific. If a valid account is found, then the following statuses will be returned.
1 (asActive), otherwise – 0 (asInvalid)
___
GetBDAccountEquity
GetBDAccountNetWorth
GetBDCashBalance
GetBDDayTradingBuyingPower
GetBDMarginRequirement
GetBDOvernightBuyingPower
Compiles, but doesn’t perform any actions since there is no data for beginning of session. This keyword is TradeStation specific.
___
GetRTAccountEquity
Cannot be realized in the form of Real-time Cash + Real-time Trade Equity + Securities on Deposit. Returns regular Account Equity from broker.
___
GetRTAccountNetWorth
Compiles, but doesn’t perform any actions since there is no data for beginning of session.
___
GetRTCashBalance
Compiles, but doesn’t perform any actions since there is no data for beginning of session.
___
GetRTUnrealizedPL
Realized with logic that Unrealized PL = Open PL.
___
GetTodaysRTTradeEquity
Compiles, but doesn’t perform any actions.
POSITIONS
_____________________________________________
GetNumPositions
Returns the number of positions in MultiCharts (Order and Position Tracker), not the actual amount at the broker.
___
GetPositionQuantity
Will return the size of the position.
___
GetPositionAveragePrice
Will return average price of the position.
___
GetPositionMarketValue
Compiles, but doesn’t perform any actions. Cannot realize since there is no data for best bid best ask for symbols outside of the chart in real-time.
___
GetPositionOpenPL
Will return Open PL in ticks.
___
GetPositionSymbol
Does not return the same value as in TradeStation because positions in MultiCharts are not sequential. Will return symbol from position list for the account that matches the position on the symbol.
___
GetPositionTotalCost
PositionTotalCost = entry_price1 * qty1 + entry_price2 * qty2 + entry_price3+…
Calculated with the following formula: PTC = AEP * TMP.
There will be loss of accuracy because AEP is rounded off in the general case.
Other features
- Inactive trailing stop levels are no longer shown. Now it’s easier to view charts and DOM when multiple levels are applied, as is the case with Master Strategy.
- Spikes would appear on Ask and Bid series in real-time from IB. Ask and Bid quotes with AskSize=0 and BidSize=0 are now filtered.
- PFGBEST PnL is now calculated locally as opposed to requesting it from PFG servers every 5 seconds. This prevents losing access to SIM because of overloading PFG servers.
- New option to “Generate new Ask/Bid tick if Trade changes” for IQFeed data provider
- Feature that shows short vs. full number in DOM and Trade Bar was refined.
- Optimized working with IQFeed when many symbols are requested at once; no errors returned for tsserver.exe.
- Now when brokers don’t support order modification, orders are cancelled and replaced when user attempts to modify. This is needed for Trading Technologies.
- Custom Futures for Interactive Brokers now support symbol format with a letter and expiration date in its name.
- Developers: Now MC only registers new data feeds when it is run with administrator privileges.
- Format XLSX is now used when Excel 2007 or higher is installed. More info here –http://www.multicharts.com/pm/viewissue.php?issue_no=MC-619.
BUGS FIXED
Charting/Data Handling
- Trading Technologies data feed would produce incorrect symbols for TTSIM exchange.
- Trading Technologies data feed would sometimes skip ticks with identical prices during very fast real time.
- Trading Technologies data feed would generate an extra Bid quote each time an Ask quote was received.
- Settings for Futures with root Z (Big Point Value) were incorrectly determined. PnL in MC didn’t match PnL in IB.
- Different volume in MultiCharts and Interactive Brokers’ TWS for certain symbols (Stocks, Italian exchanges). More info here –http://www.multicharts.com/pm/viewissue.php?issue_no=MC-659.
- ASCII Mapping would sometimes lose its settings.
- Requesting symbols from Patsystems would take a very long time.
- It was impossible in some situations to have an open position and receive Ask/Bid quotes from PFGBEST.
Trading
- Orders would show up as Cancelled instead of Filled in Order and Position Tracker when trading through OpenECry.
- Master Strategy would place only one exit level when more were necessary because of early partial fills. More info here –http://www.multicharts.com/discussion/viewtopic.php?f=17&t=8589.
- PriceScale of a symbol would sometimes show incorrectly.
- Doubling up of filled orders on Interactive Brokers after re-establishing a lost connection.
- Symbol Mapping errors when trading mapped symbols with different exchanges.
- Symbol Mapping worked incorrectly when turning on autotrading for Custom Futures symbols.
- Prices of orders and levels would change after a partial position fill, but when AvgEntryPrice didn’t change. More info here –http://www.multicharts.com/discussion/viewtopic.php?f=1&t=9287&sid=f15416d28b47177071e50c28cc17b8fa#p44262.
- Rejection with no error message on FXCM when incorrect account was specified.
Scripts/Calculations
- Text in signals or functions would be lost if signal/function was renamed before opening.
- Errors in calculations on one and two data series when ‘Skip Identical Ticks” option was enabled.
- Portfolio backtesting would stop if there wasn’t enough data for one of the symbols.
- Strategy Performance Report showed incorrect “Longest Flat Period”. More info here –http://www.multicharts.com/pm/viewissue.php?issue_no=MC-649.
Stability
- Deadlock when opening workspaces with many symbols.
- Tradingserver.exe would take up a lot of CPU if many positions were open at once.
- Portfolio Backtester would run out of memory when optimizing on computers with multiple cores.
- Exception in Patsystems API when Patsystems server would restart at night.
- Exceptions and asserts when calculating certain signals.
- Assert if network connection was lost.
- Deadlock when exporting all symbols from QuoteManager on some databases.
- Exception during optimization.
- Deadlock when opening optimization settings dialog window.
- Deadlock in MultiCharts under certain conditions.
- Deadlock in TradingServer process under certain conditions.
Usability/Visual
- Invalid symbols in “Base Study On” field of Format Study dialog. More info here – http://www.multicharts.com/pm/viewissue.php?issue_no=MC-630 andhttp://www.multicharts.com/discussion/viewtopic.php?f=1&t=9299.
- Interface would constantly blink after opening a workspace with attached and detached windows.
- DOM windows for Trading Technologies symbols would blink constantly. More info here –http://www.multicharts.com/pm/viewissue.php?issue_no=MC-640.
- Sorting by name in Import Studies dialog wouldn’t work. More info here – http://www.multicharts.com/pm/viewissue.php?issue_no=MC-668.
- “Format Status Line” menu item through right-click context menu was unavailable.
- Settings “real-time history matching” and “skip identical ticks” would not save even if “Use as Default” was chosen.
- “Field” and “TimeZone” wouldn’t match up when requesting details from ASCII Mapping dialog window.
- QuoteManager would sometimes show incorrect status of Collect Data when it was turned on.
- Maximized inactive detached windows would open in incorrect size after opening a workspace with such window.
- Workspaces with names in Chinese wouldn’t open on starting MultiCharts.
Pingback: MultiCharts Automation with IB - TradeStation/MultiCharts EasyLanguage Programming - Page 2