KeyTrader is built to be simple to use and minimal in action, it's purpose is to provide fast access to a limited number of market functions via the numeric keypad. It's intent is to reduce stop fiddling (there is none) and encourage with-trend trading behaviour. :)
It is currently restricted to one-lot trading until I have more time to implement part-fill functionality - don't hold your breath but it is on the list. I will happily receive all feedback, good and bad, and improve it where possible. In return I guarantee absolutely nothing other than best efforts and a big heart, use is strictly at your own risk. I will be using it heavily myself and it is working well but please treat as an Alpha release for now, I'll fix whatever I can that gets found.
I am happy if anybody else just wants to crib bits of code and do their own thing, that's fine too, but it ain't easy, trust me, I'm half a doctor. I have thrown out lots of my own ideas and stuff along the way, simply because reliable/simple/fast will have to be the main requirement for me and less really is more in these sort of areas.
It is implemented as an NT strategy so you can easily measure your results with it separately from other mechanisms and interfaces.
The basic idea is to provide breakout and/or fade functionality from either the current bar or a user defined range comprising two or more bars.
By default the display shows the current bar, if the window has focus and the mouse:
Pressing the Plus key exits any open position, closes any active orders and places a buy stop order above the bar:
Pressing the Minus key exits any open position, closes any active orders and places a sell stop order under the bar:
A repeat press of either key immediately pulls the order in case of change of mind. It's actually a bug that works well so I decided to make into a feature. :)
Pressing the Return/Enter key exits any market position and closes any open orders.
Pressing the Insert (0) key starts a leftward range definition, each press adds another bar:
Pressing the Delete (.) key removes the leftmost bar each time it is pressed, pressing the center '5' key clears the range completely.
With a range defined, pressing the Plus key exits any open position, closes any active orders and places a buy stop order above the range:
And no surprise, pressing the Minus key exits any open position, closes any active orders and places a sell stop order below it:
If the order is filled the display changes to the open position:
Instead of the Plus or Minus key, pressing the Multiply (*) key starts the auto-range Break mode that will place sell or buy stop orders above or below the range depending on whether current price is moving in one of the upper or lower range quartiles. Moving back above or below the halfway line pulls the order until the next one is placed and it's amazing how long it can sit there in August, even at 50X.
Or, pressing the Divide (/) key starts an auto-range Fade (sells the top or buys the bottom) instead:
In each case the number of TriggerTicks is taken from the user strategy parameters dialog section as for normal single bar or range trades. For range breakout trades the stop is set to the range size and the target to the same. For range fade trades the stop is set to one quarter of the range size and the target to the opposite side less one sixth (number of balls in a cricket over). I will explore auto reload and break with limit on fade fail as possibilities in a later release, if this one also gets past opening night. I will explore trails and will also make stops and targets more configurable. The only other method supported at the moment is fixed stop and target sizes with the single bar trades.
:) Good trade. Still forgot to switch on MarkersAndText, need to sort that default in ChartMinder out..
Holding down the Control key while pressing Plus or Minus places a single fade (instead of breakout) range top sell or (in this case) bottom buy limit order: