Graphical Trading

Graphical Trading

The graphical trading feature enables the entry and management of orders, either simulated or real directly from a chart. This functions in simulated (paper trading) mode with any quote source, and supports real trading when IB TWS is the quote source. Graphical trading offers a number of advantages over other methods of order entry.

Graphical trading advantages:

  • Quicker order placement
  • Quicker comprehension of current order placement and status
  • Fewer order entry errors for complex orders
  • No need to divert your attention from the chart
  • No need to change your mode of thinking from visual to numerical
  • Easier entry and adjustment of complex order types

Trading errors (we've made) that are less likely with graphical trade interface

  • Adjusting the cents amount of a stock order and not noticing the dollars were off buy one until transmitting, when to your surprise the order is immediately filled.
  • Wrong market side for a stop order. (Graphical interface automatically selects market side base on where you place the stop).
  • Wrong market side for an order to close a short position (avoided by using bracket orders).

Trading errors (we've made) with graphical trade interface

  • Placing a buy order (BLUE for buy) while thinking sell or visa-versa. This has not been a case of confusing which symbol to use but rather thinking one thing and doing another. This can be mostly avoided by developing the habit of checking the order status line to confirm the order type after you pick the symbol and before you place it.

Recommended Procedures

Before attempting real trading with this interface read this entire section carefully. Practice all types of orders in Paper mode (simulation) using IB as the quote source. After you are comfortable with this, place a few orders with the IB demo account.

To use the demo account, start TWS and login as "edemo" with a password of "demouser". Configuration settings for the demo need to be the same as for connecting to a real account. (Run only the demo TWS and not a real account while doing this). The demo account does not give realistic price action, it is only useful for testing order entry and execution, and sometimes does not seem to behave exactly as the real TWS.

When first using your real account for trading, start by placing orders away from the market that won't be executed. At the time of this writing the Paper version simulation behaves like real trading, except that some status indication are not sent by TWS when you move a child order. Always look at TWS to get the correct status if in doubt.

Future releases of TWS may make changes in the API functions that will require changes in SSChart.

 Enabling Graphical Trading

Graphical trading is enabled on a chart-by-chart basis. In each chart you wish to trade from, select the chart, then { Trading  | Show Graphical Trading } from the main menu.This will show the trading status line at the top of the chart, and open up space near the price scale for the trading symbols to be placed. Note in the example chart shown, the first chart header line will only appear if Show Symbol & Date Header is checked under the { File | Preferences } Display tab.

Real trading is supported through an individual IB TWS account. First in order to do real trading, you must be using "IB TWS Socket Interface" as the quote source setting, and secondly, Enable Trading must be checked under { File | Preferences } Misc., IB TWS Options. To properly get the status of orders you enter on the TWS console, you must be connected as Client ID zero. Furthermore in TWS make the following menu settings: { Configure | API | Download Open Orders on Connection } and { Configure | API | Fire openOrder on status change }. Refer to complete setup instructions on our website.

Trading Status Line

The trading status line (second from top in example above), shows the current Position (contracts or shares), the AVerage cost of the position, the realized P&L, and the UNrealizedP&L. For paper (simulated) trading, we calculate this information. For real trading this information comes from IB TWS. We have found the TWS API only updates the position for futures and the other values remain zero. To see the correct unrealized PNL enable the display of this column in TWS and view it there.

Betweem pick and place of and order the left portion of the trading status line will display the parameters for the order being placed (side, order type, size) instead of the current position information. Verify the parameters before placing the order.

On the right side of the status line are 2 or 3 characters indicating the order and trading modes (see Order Setup Dialog).

The rightmost letter indicates the trading mode P = Paper, R = Real

In P mode all trades are simulated only using the quote source you have selected, no real trading occurs, there is no risk of real loss.

In R mode, real orders are sent to TWS and transmitted to the exchange immediately when you place the order symbol(s) on the chart. You are risking loss from the account you have connected SSChart to. (If you connect to the demo account, you are not risking real money. To login to the demo TWS account user a username = edemo and password = demouser). Note SSChart only connects to one account at a time, so either you will connect to the demo or a real account.

The letter(s) just to the left of the trading mode indicate the current opening order mode. You can toggle through the various modes with the F2 hot-key or select them from the order setup dialog.

The various opening order modes are indicated as follows: L = Limit order, AS = Limit order with auto-stop, AT = limit order with auto trailing stop, AB = Bracket order, BT = Bracket order with trailing stop (instead of fixed stop).

Order placement symbols

On the far right of the trading status line are the five order placement symbols. They are blue for buy, red for sell, and yellow for stop. The plain yellow square is a stop market order, the yellow square with the "T" in it is a trailing stop, and the yellow square with the "L" in it is a stop limit. A stop order will be made a buy stop if it is placed above the market, and a sell stop if placed below by comparing the price you place it at with the last trade. If you place it exactly at the last trade it becomes an immediately active buy (so avoid doing this). Once placed the stop symbols have a blue band through the middle if it is a buy and a red band if it is a sell. It stays on the same side of the market when you move it, even if you cross the current market price.

The exact order type placed by the red and blue symbols depends upon the current opening order mode setting, and whether the order will be opening (or adding to) a current position, or closing a current position. When the opening order mode is set to L (limit), then the buy and sell symbols always place a limit buy or sell order regardless of whether the order will be opening or closing a position. For any of the other modes (auto-stop, auto-trail, auto-bracket, trailing-bracket), if it is an opening order it will be of the type set by the opening order mode otherwise if it is a closing order it will be a simple limit order rather than the auto-type).

Determination of whether you are opening or closing a position depends upon the current position value shown on the status line.

(Note: In real trading this position is reported back by IB TWS and may lag your actual position, be alert to this, and always look at the trading status line when you pick an order before placing it to confirm the order type, size, and side are what you expect, if not use <esc> key to deselect the order without placing it).

Entering Trades

Before you can trade you must select the chart you intend to trade in, and complete the Order Setup dialog by selecting { Trading | Order Setup... }. Practice entering trades in paper (practice) mode until you are completely comfortable with all aspects of the graphical trading interface, before proceeding to real mode trading.

To place an order:

  • <click> on one of the order symbols on the trading status line, notice the cursor tail has a small box attached, showing the order has been picked, also the left side of the status line will indicate the order parameters rather than the position until it has been placed.
  • Move the mouse so the cursor is at the price level where you want to place the order. (If you decide you don't want to place the order, at this point, you can type <esc> to unpick it).
  • Press down and hold the left mouse button. While you hold the mouse button down, a price box appears by the cursor displaying the limit price for the order. Move the cursor up or down to adjust the price then release the mouse button to place the order. (Note if you are in Real Trading mode for the symbol, the order is transmitted through IB TWS immediately when you release the mouse button. You will be entering real orders to trade your account and risking real money. Make sure you understand what you are doing before using this mode. )

Note: Order symbol placement works exactly the same way as placing the quick alerts. (bell symbols). For real trading, we recommend you keep the TWS API page (or other page with the traded symbol) visible and double check status indication there to confirm they match what is showing on the chart. You can always modify or cancel orders sent from the chart directly in TWS.

During the time between "pick" and "place" of an order, the rescaling of the chart is inhibited, so the chart scale will not move (which might cause the price to move out from under you while placing the order resulting in placing it at an unattended price). The price bars will still update during this time, but if they move off the top or button of the chart they will be out of view. For this reason you don't want to leave and order in limbo (between pick and place) for a long time. Either place it and move it again later, or use <esc> to cancel the place or move.

If you need to place an order (or alert) above or below the current price range in view you can scroll the chart up or down by one half the current visible range using the cursor up/down (arrow) keys. This works one step in each direction. Use the opposite key to return to the normal range. (We also <double-click) to toggle the chart to full screen and/or change the time-unit to make a wider range visible).

Order Status

Once the order is placed on the chart, a horizontal line is drawn to the left of the order symbol. The color of this line indicates the status of the order. Status colors are the same as used by IB TWS.

  • Light Blue indicates the order is pending submission (not yet sent to the exchange)
  • Green indicates the order has been submitted and is working.
  • Dark Blue indicates a stop order in the PreSubmitted state (the order is held in IB's computer until the activation condition is met)
  • Pink indicates the order is PendingCancel
  • Red indicates the order is confirmed canceled.
  • Maroon is used for the auto-stop and bracket orders to indicate the leg of the order is currently inactive (once the opening parent order is filled they become active).

There are some conditions where the status color shown on the chart may not be what TWS is showing. TWS has the correct status, but in some cases does not send any status update to programs using the API (SSChart). There are some cases where the chart might show light blue, or maroon, when TWS has a different color. This can happen for instance if you enter an order from the chart and it gets executed while TWS is disconnected from SSChart (or not running). In this case SSChart will not get the execution report and will not no the order has been filled. You will either need to remove the order manually, or restart SSChart and it will sort it out.

Order size and OCA group settings

To the right of the order symbol after it is placed will be a letter (or blank) indicating the OCA group the order is a part of, and a number indicating the number of lots the order is for. The size of one lot is as indicated in the order setup dialog. For example if lot size is set to 200, then 1 lot = 200 shares (or contracts) and 2 lots = 400 shares, etc.

To change the order size, after you pick the order, before you have placed it you can type one of the number digits on the keyboard to set the size to that number of lots. If you type more than one digit only the last one typed will take effect. You may also use the "+" and "-" keys before you place the order to modify the size by the Increment size specified in the order setup dialog.

To make the order part have an OCA group name, type one of the alphabetic keys {A...Z} during order placement. The OCA name is generated using the symbol with this letter as a prefix. Only the letter prefix is shown on the chart. (If you type more that one letter, only the first letter typed is used. Either use <backspace> to change the letter, or <esc> to quit and start over.)

When you place an auto order (for example a bracket order) the OCA group is assigned automatically, and the parent order is tagged with the same OCA letter in lower case so you can easily identify what orders are grouped together. An Order tagged with a lowercase letter is not actually part of the OCA group, but is the parent order that must be filled before the dependent orders are activated.

If you place an auto-stop or auto-trail order, the stop is automatically assigned an OCA letter. After the opening order is filled you can add a target order to the same OCA group effectively turning it into a bracket.

Hot Keys

The following hot keys are active when a chart with graphical trading enabled is selected. Note selected means the chart is the current active window (as indicated by the color of the window title bar). These keys are only active for the symbol of the currently selected chart if and only if, it has graphic trading shown.

  • F2 toggles the order mode
  • <ctrl B> places an IOC order to buy 1 lot at the last trade price + the hot key buy offset specified in the order setup dialog.
  • <ctrl C> places an IOC order to buy or sell as needed to close the current position (this in effect does either the ^B or ^S action)
  • <ctrl R> places an IOC order the reverse the current position (this in effect does the ^C action with twice the size needed to close the position).
  • <ctrl S> places an IOC order to sell 1 lot at the last trade price - the hot key sell offset specified in the order setup dialog.
  • <ctrl><del> cancels all orders for the symbol
  • <esc> unpicks a selected order, or cancels keyboard typed characters when no order is picked.

Note these keys are active in any chart with Graphical Trading enabled. If you are in real trading mode and don't want to accidentally use ^B, ^C, ^R, and ^S keys, you can set the hot key buy and hot key sell offsets to negative values. Orders will still be submitted in this case, but will be away from the market by the offset amount. IB does not support IOC for all exchanges, on the ones they don't the order will stay active until you delete it. (You can test this by entering an away from the market IOC order in TWS).

Modifying and canceling your orders

Canceling an order

Point the mouse cursor directly on the symbol of the order you wish to cancel and type the <delete> key.

The chart must be the current selected window, if not <click> anywhere in the chart first or on the symbol to select the chart. You can also cancel all orders for the symbol with the <ctrl><del> hot key combination.

Note if the order you cancel is part of an OCA group (an uppercase letter shows after the symbol), then all other orders showing the same uppercase letter are automatically canceled also. If you cancel the parent order of an auto-order group (the parent shows a lowercase letter), then all of the dependent orders are also canceled automatically.

Changing an order

Select the order you wish to change by <click>ing on the symbol, then place it at the new price level on the chart in the same manner you placed a new order.

After you pick (select) the symbol, you can also modify the size using the number, or + and - keys like you did for placing a new order.

If you pick the symbol then decide not to change it, type the <esc> to release it without changing.

If you move the parent (opening order) of an auto-stop, auto-trail, auto-bracket, or trailing-bracket order, the dependent legs are moved in the same direction by the same amount. If you move one of the dependent legs, only that leg is moved. The same applies to changing the size of one of these orders.

Removing canceled and filled order symbols from the chart

Canceled and filled order symbols normally are removed from the chart after about 3 seconds, however the time is only checked when a trade occurs for the symbol, so if trading is very slow then the symbols can linger much longer. If you <click> on the symbol of a filled or canceled order, the symbol will be removed immediately.

Important Notes:

When line drawing mode is on ( { Tools | Draw Lines } is checked), the graphical trading functions pick and place of orders will not function. The trading hot keys will still be functional. Toggle off line drawing to enable order pick and place.

Always know whether you are in Real or Paper mode before placing orders. (Check the chart order status line).

Always know what account the program is connected to before trading. TWS API currently lacks any way to determine the account until a trade is actually made. It then reports the account number as part of the execution record.

Check the {Trading | Order Setup} dialog for the symbol before trading.

All testing has been done using the installed version of TWS, we are not testing with the browser version. All testing is done using client id 0 to connect to TWS. This enables orders to be entered from the TWS console and modified in SSChart, and visa versa, other client id numbers will not (according to IB documentation, but again we are not testing this).

This program acts only as an interface to TWS for sending orders in your account. The orders are actually transmitted by TWS back to their computers and forwarded to the exchange the same as if you enter the order directly in TWS. In the case where SSChart malfunctions or crashes, you can always modify, transmit, or cancel your orders directly on the TWS console.

Real Trading Anomalies

If you place an order graphically, then then it gets filled or deleted during a time when TWS is not running, or not connected to SSChart, SSChart will not get the filled status message. In this situation, the order no longer exists (in TWS) but is still shown on the screen and you will need to remove it manually. To do this <right-click> on the order symbol and select {Remove Order} from the pop-up menu. This action will remove the order from the chart, but does not send a cancel for the order. If you remove an existing order from the chart this way, you can get it back by selecting {Trading | Refresh Portfolio} which re-requests all the open orders and status from TWS.

Caveats

While this interface may eliminate many types of trading errors, nothing will ever eliminate them all. Its a good idea to develop a habit of check the left side of the order status line to confirm the order type when you pick a new order symbol before you place it. If you picked the wrong order type, hit the <esc> key to cancel the selection without placing the order.

Be especially cautious when placing stop orders near the market. If a trade crosses where you place the order right as you place it, you can find the stop on the other side of the market than you intended. Either place it well away from the market, then move it closer, or use one of the auto stop or bracket orders so it is placed with the opening order. If the stop is part of an auto opening order it will always be placed on the correct side of the market and furthermore it will not be activated until the opening order is filled.

[Back To Contents]
SSChart is a trademark of Simian Savants LLC
Copyright (c) 1999-2004 Simian Savants LLC. All rights reserved
.