RE: ABKeyState plugin
I've never tried using it with AA, but you can try it and then put in _Trace
statements to see if it is working. I don't have any vision on how it would be
useful in AA, but I don't use AA a whole lot either.
I primarily use the key capture to assist me in entering information about
orders quickly. For instance I have one function that selects the type of enty
I want right now - here are a couple of lines from that function:
function CheckSystemSelect()
{
if (CheckKeys2("X", "1"))
{
Setup_BuyAtStopAtMouse();
}
else if (CheckKeys2("X", "3"))
{
Setup_SellAtStopAtMouse();
}
...more types
}
The two called functions setup a values in my order management object that was
written in .Net - nothing to complex...just state mangement, position sizing,
and order validation stuff. There are a number of other setups I use as well.
Anyhow, with a press of 2 keys and a mouse click, I able to select how I want
to trade right now and at what price. I can keep pressing keys and the mouse
until the entry price is exactly where I want on the chart. After selection
the entry type, I have more key combos to change the placement of the entry
value, target value, and stop loss. Yet other keys transmit orders, clear the
current order type, flatten a position, etc. Some of these things could be
done in the parameter window, but I do not like having a parameter window up
all the time. The most useful aspect of this plugin is being able to have your
mouse clicks on the chart have different meanings depending on the current keys
you have pressed.
You can also use the key combos for changing the display like this AFL for
zooming +/- the specified number of bars:
function ZoomPlusMinusBars(barChangeAmount)
{
local notExit, MinViewSize, CurrentViewSize, BeginDateTime,
EndDateTime, lastBar, newFirstBar,
barsBackToShow, AB, AW;
MinViewSize = 30;
notExit = True;
CurrentViewSize = Status("lastvisiblebarindex") -
Status("firstvisiblebarindex");
if (CurrentViewSize <= barChangeAmount AND barChangeAmount < 0)
notExit = False;
else
{
if (barChangeAmount < 0 AND CurrentViewSize + barChangeAmount <
MinViewSize)
barChangeAmount = 0;
newFirstBar = Status("firstvisiblebar") - barChangeAmount;
newFirstBar = IIf(newFirstBar < 0, 0, newFirstBar);
lastBar = IIf(Status("lastvisiblebar") > BarCount -1,
BarCount-1, Status("lastvisiblebar"));
BeginDateTime = DT[newFirstBar];
EndDateTime = DT[lastBar ];
AB = CreateObject( "Broker.Application" );
AW = AB.ActiveWindow;
AW.ZoomToRange(DateTimeToStr(BeginDateTime), DateTimeToStr(EndDateTime)
);
//_TRACE("new view size = " + NumToStr( Status
("lastvisiblebar") - Status("firstvisiblebar") + 1));
}
}
if (CheckKeys2("G", "6"))
ZoomPlusMinusBars(50);
if (CheckKeys2("G", "7"))
ZoomPlusMinusBars(-50);
These are some of the ways I use the key capture, but I am sure there are many
other ways to use ability.
--- In [email protected], "Paolo Cavatore" <pcavat...@...> wrote:
>
> Can you please provide some examples of what this plug-in could be useful at?
>
> For instance can it register keystrokes made on the Automatic Analysis
> Settings?
>
> Regards,
>
> Paolo
>