IMPORTANT UPDATE:
Due to huge changes in MQL4 coming up with build 600 of MT4, the old code ceased to work.. reason: passing strings from/to DLLs doesn't work the old quick and dirty way anymore. I have modified the InputResizer to work with the current build, but I had to drop the infinite loop within the EA. The loop helped the IR to run smoothly, independent of incoming price feed ticks, but there were freeze issues.. MT4 sometimes locked up when calling a DLL from within a loop, and this became even worse with newer builds.
So if you want to use IR with recent builds, just download the recently posted InputResizer_600.mq4 to your MQL4\Indicators folder and attach the indi to a chart that receives frequent ticks (some JPY cross).. or even better, use a tick generator all the time, as I do.
For convenience I also attached the EA, but it doesn't have any advantage anymore since it depends on ticks just as the indi does.
For those still using builds 509 or older, please use the original versions. The _600 ones won't work because of unicode DLL calls.
Hi everybody
I'm starting this thread for a small utility I made upon request in this thread to be able to post fixes/updates in one place, if anybody finds it useful.
InputResizer is a workaround for one of many MT4 annoyances. Today's EAs are overloaded with settings. Blessing 3 has 118 lines of input, The Beast has 155. Some more advanced pivot indicators have dozens of them. Yet all our beloved MT4 offers is a tiny, non-resizable dialog box with a 8.5 line peephole. Majority of traders won't mind it, they set their settings once for ever and forget. But if you are one of them who test, optimize, evaluate or just play around with different settings on daily basis, perhaps you know how annoying the game with the micro-scrollbar really is.
InputResizer is a set-and-forget utility. Once you set it up, you've done with it. Attach it to one single chart and all those peephole windows you open, in all MT4 instances on your PC/VPS, become resizable.
There are two variants - indicator and EA, both doing the same thing. The advantage of using EA is clear; it runs in loop mode and doesn't depend on ticks. The indy does, so if you choose it for whatever reason, you will have to wait for a tick until the indy spots the window you have opened and manages it, so it's good to attach it to a chart (pair) that receives ticks frequently - EURJPY and GBPJPY are good choices.
The EA runs 24/7 and checks for windows every 300 msec so you will never have to wait. However, if you start your MT4 when the market is closed, you have to switch on the WeekendMode (see below).
There's one little disadvantage in using the EA. I recommend using this variant, but it occupies a chart you can't use for another EA. It's good if you place it on a dedicated chart (M1-W1, pair doesn't matter), minimize this chart and leave it there for good.
Note: If you open a window, it won't resize until you select the input tab!
Setup (if you use the EA version and want to change its settings while running (F7), switch to Monthly timeframe, change what you need and switch back to any lower TF):
RememberSize, Individual ... ... etc ... initHeight:
Per default (set as above), InputResizer will place and resize every input window on its first appearance to coordinates (in pixels) specified. Then, if the input window (distinguished by EA/indicator name) re-appears (on any chart/platform), position/size at last window close will be applied.
If RememberSize = false, all windows will be opened with InitCustom (if true) coordinates, maximized if InitMaximized =true (InitMaximized overrides InitCustom), or at default position with peephole size if both InitCustom and InitMaximized are false.
If RememberSize = true, the above is applied only for the first time a window appears. Then, coordinates are stored at each window close and re-applied next time. Stored coordinates override InitCustom and InitMaximized.
If Individual = true, coordinates will be stored for every EA/indicator name separately. So your monster EA settings will always appear vertically stretched from top to bottom on the right side but your pivot indy inputs will fit into a 20-line box somewhere in the upper left corner. Obviously this setting is relevant only if RememberSize = true.
Note: Coordinates are stored in global variables; they are persistent until you delete them. You can do this anytime by pressing F3 and deleting all global variables starting with 'iRes'.
SleepTime: (EA only) time between scans in milliseconds; use a higher number if you're convinced it does eat your resources. Btw: it doesn't.
WeekendMode: (EA only) if set to true, no need to use a ticker to get it running. Better set it back to false during normal trading hours to prevent unexpected behavior.
Thanks to SteveHopwood for encouragement (Cheers ), Xaphod (his code told me there's something weird called Windows API in this world), and finally to faze for the original request.
-----------------------------------------------------------------------------
Alternatively, google 'ResizeEnable' - it's a windows freeware utility (dated 2003) resizing everything - including the buttons. Some screen estate gets wasted by larger-than-life controls but otherwise it works like charm! Thanks to Erebus for reminding
Due to huge changes in MQL4 coming up with build 600 of MT4, the old code ceased to work.. reason: passing strings from/to DLLs doesn't work the old quick and dirty way anymore. I have modified the InputResizer to work with the current build, but I had to drop the infinite loop within the EA. The loop helped the IR to run smoothly, independent of incoming price feed ticks, but there were freeze issues.. MT4 sometimes locked up when calling a DLL from within a loop, and this became even worse with newer builds.
So if you want to use IR with recent builds, just download the recently posted InputResizer_600.mq4 to your MQL4\Indicators folder and attach the indi to a chart that receives frequent ticks (some JPY cross).. or even better, use a tick generator all the time, as I do.
For convenience I also attached the EA, but it doesn't have any advantage anymore since it depends on ticks just as the indi does.
For those still using builds 509 or older, please use the original versions. The _600 ones won't work because of unicode DLL calls.
Hi everybody
I'm starting this thread for a small utility I made upon request in this thread to be able to post fixes/updates in one place, if anybody finds it useful.
InputResizer is a workaround for one of many MT4 annoyances. Today's EAs are overloaded with settings. Blessing 3 has 118 lines of input, The Beast has 155. Some more advanced pivot indicators have dozens of them. Yet all our beloved MT4 offers is a tiny, non-resizable dialog box with a 8.5 line peephole. Majority of traders won't mind it, they set their settings once for ever and forget. But if you are one of them who test, optimize, evaluate or just play around with different settings on daily basis, perhaps you know how annoying the game with the micro-scrollbar really is.
InputResizer is a set-and-forget utility. Once you set it up, you've done with it. Attach it to one single chart and all those peephole windows you open, in all MT4 instances on your PC/VPS, become resizable.
There are two variants - indicator and EA, both doing the same thing. The advantage of using EA is clear; it runs in loop mode and doesn't depend on ticks. The indy does, so if you choose it for whatever reason, you will have to wait for a tick until the indy spots the window you have opened and manages it, so it's good to attach it to a chart (pair) that receives ticks frequently - EURJPY and GBPJPY are good choices.
The EA runs 24/7 and checks for windows every 300 msec so you will never have to wait. However, if you start your MT4 when the market is closed, you have to switch on the WeekendMode (see below).
There's one little disadvantage in using the EA. I recommend using this variant, but it occupies a chart you can't use for another EA. It's good if you place it on a dedicated chart (M1-W1, pair doesn't matter), minimize this chart and leave it there for good.
Note: If you open a window, it won't resize until you select the input tab!
Setup (if you use the EA version and want to change its settings while running (F7), switch to Monthly timeframe, change what you need and switch back to any lower TF):
http://i53.tinypic.com/mwdv82.gif
RememberSize, Individual ... ... etc ... initHeight:
Per default (set as above), InputResizer will place and resize every input window on its first appearance to coordinates (in pixels) specified. Then, if the input window (distinguished by EA/indicator name) re-appears (on any chart/platform), position/size at last window close will be applied.
If RememberSize = false, all windows will be opened with InitCustom (if true) coordinates, maximized if InitMaximized =true (InitMaximized overrides InitCustom), or at default position with peephole size if both InitCustom and InitMaximized are false.
If RememberSize = true, the above is applied only for the first time a window appears. Then, coordinates are stored at each window close and re-applied next time. Stored coordinates override InitCustom and InitMaximized.
If Individual = true, coordinates will be stored for every EA/indicator name separately. So your monster EA settings will always appear vertically stretched from top to bottom on the right side but your pivot indy inputs will fit into a 20-line box somewhere in the upper left corner. Obviously this setting is relevant only if RememberSize = true.
Note: Coordinates are stored in global variables; they are persistent until you delete them. You can do this anytime by pressing F3 and deleting all global variables starting with 'iRes'.
SleepTime: (EA only) time between scans in milliseconds; use a higher number if you're convinced it does eat your resources. Btw: it doesn't.
WeekendMode: (EA only) if set to true, no need to use a ticker to get it running. Better set it back to false during normal trading hours to prevent unexpected behavior.
Thanks to SteveHopwood for encouragement (Cheers ), Xaphod (his code told me there's something weird called Windows API in this world), and finally to faze for the original request.
-----------------------------------------------------------------------------
Alternatively, google 'ResizeEnable' - it's a windows freeware utility (dated 2003) resizing everything - including the buttons. Some screen estate gets wasted by larger-than-life controls but otherwise it works like charm! Thanks to Erebus for reminding
Attached File(s)
InputResizer.mq4
11 KB
|
3,056 downloads
|
Uploaded Jul 10, 2011 4:06pm
InputResizerEA.mq4
12 KB
|
3,100 downloads
|
Uploaded Jul 10, 2011 4:06pm
InputResizer_600.mq4
11 KB
|
1,366 downloads
|
Uploaded Feb 8, 2014 4:00pm
InputResizerEA_600.mq4
11 KB
|
1,507 downloads
|
Uploaded Feb 8, 2014 4:21pm
MarginTrader All Time Return:
na