I have forwarded your suggestions to the developers. Could you please give us an example of such custom buttons?
My pleasure. What I mean by custom buttons is to allow a programmer to act upon the status of the button to perform something in the study. This frees up the programmer to add other functions to the "control panel" containing the other buttons. For example, I might like to have a button to tell the study to double the number of contracts on the next new buy or sell signal. Another example might be to tell the study that I want to print some debug statements. I could think of a few more example but I think you get the idea. I'm sure others can think up some of their own.
The buttons will need to send a signal to the study somehow. The buttons would behave like the CapsLock key on the keyboard. The first time the button is clicked it will look like it's depressed down. The next time it will be released. Alternatively, the two states can be shown as two different colors.
The GetAppInfo function may be the best way to retrieve the status of a button. When a user clicks on say custom button 1 for the first time to depress it, GetAppInfo(Button1Value) would return a value of 1. The next time the user clicks on the button to release it, the same function will return a value of 0. It's up to the programmer to act on these status values in the appropriate manner.
If possible, it would be nice for the user to label the buttons as well. This could be done via some configuration tool or menu in the MC window. It would be even better if they could be labelled by the study so they can be changed dynamically. It's not absolutely essential - they can be permanently labelled as Button 1, Button 2, Button 3.