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
>


Reply via email to