6.21.0 BETA READ ME<\/a><\/p>\nHere is a sample formula that shows basic usage of Gui* functions:<\/p>\n
GuiButton<\/span>( <\/span>"Custom button"<\/span>, <\/span>1<\/span>, <\/span>10<\/span>, <\/span>40<\/span>, <\/span>100<\/span>, <\/span>30<\/span>, <\/span>7 <\/span>);\r
<\/span>GuiButton<\/span>( <\/span>"Dynamic "<\/span>+<\/span>Date<\/span>(), <\/span>2<\/span>, <\/span>120<\/span>, <\/span>40<\/span>, <\/span>150<\/span>, <\/span>30<\/span>, <\/span>7 <\/span>);\r
<\/span>GuiButton<\/span>( <\/span>"System button"<\/span>, <\/span>3<\/span>, <\/span>320<\/span>, <\/span>40<\/span>, <\/span>100<\/span>, <\/span>30<\/span>, <\/span>7 <\/span>);\r
<\/span>GuiEdit<\/span>( <\/span>5<\/span>, <\/span>450<\/span>, <\/span>40<\/span>, <\/span>100<\/span>, <\/span>20<\/span>, <\/span>31 <\/span>);\r
\r
<\/span>GuiSetColors<\/span>( <\/span>1<\/span>, <\/span>3<\/span>, <\/span>2<\/span>, <\/span>colorRed<\/span>, <\/span>colorBlack<\/span>, <\/span>colorRed<\/span>, <\/span>colorWhite<\/span>, <\/span>colorBlue<\/span>, <\/span>colorYellow<\/span>, \r
<\/span>colorRed<\/span>, <\/span>colorBlack<\/span>, <\/span>colorYellow <\/span>);\r
\r
<\/span>GuiSetColors<\/span>( <\/span>3<\/span>, <\/span>3<\/span>, <\/span>0 <\/span>); <\/span>\/\/ default (system) look\r
\r
<\/span>editText <\/span>= <\/span>GuiGetText<\/span>( <\/span>5 <\/span>);\r
\r
<\/span>Title <\/span>= <\/span>"Text entered: " <\/span>+ <\/span>editText <\/span>+ <\/span>"\\nLast event: " <\/span>+ <\/span>GuiGetEvent<\/span>( <\/span>0<\/span>, <\/span>2 <\/span>);\r
\r
<\/span>id <\/span>= <\/span>GuiGetEvent<\/span>( <\/span>0<\/span>, <\/span>0 <\/span>);\r
<\/span>event <\/span>= <\/span>GuiGetEvent<\/span>( <\/span>0<\/span>, <\/span>1 <\/span>);\r
\r
if( <\/span>id <\/span>== <\/span>3 <\/span>&& <\/span>event <\/span>== <\/span>1 <\/span>) <\/span>GuiSetText<\/span>(<\/span>"Button clicked"<\/span>,<\/span>5<\/span>);<\/code><\/pre>\nCHANGES FOR VERSION 6.25.0<\/strong> (as compared to 6.22.0)<\/p>\n\n- 64-bit: In 6.22 the array division could produce 1ulp (units at least place) rounding errors due to too excessive new VC++2017 compiler optimizations. Workaround implemented to avoid that.\n
- Added support for formatDateTimeISON (ISO format NO dashes: YYYYMMDD for end of day and YYYYMMDD HHMMSS for intraday)\n
- AFL Editor: added one-time message \"In the Debug mode number of bars is limited to 200 bars. You can change it in Tools->Preferences, Debugger tab\" because users don't read docs\n
- AFL: ApplyStop now has 8th argument: ActivationFloor that defines the amount of profit (in dollars or percents, according to stopmode) that must be exceeded before stop is activated\n
- AFL: Gui* - controls are created in the order of occurence in AFL formula (instead shuffled or reverse as in previous version)\n
- AFL: Gui* - keyboard navigation is now enabled (you can tab between controls and use arrows to navigate control groups such as radio boxes)\n
- AFL: IsNull() accepts matrix input and returns 0 (False), i.e. \"variable is not null\" if variable is of matrix type\n
- AFL: math functions such as sin(), sqrt(), etc can now be applied to matrices (element-wise operation) (previously such attempt resulted in access violation)\n
- AFL: New feature: Passing arguments as reference (allows modification of arguments passed - easy way to return multiple values), to pass by reference use & (address-of) operator before variable identifier\n
- AFL: new function GuiCheckBox - creates check box\n
- AFL: new function GuiGetCheck( id ) - gets 'checked' or \"ON\" state of toggle, checkbox and radio buttons\n
- AFL: new function GuiRadio - creates radio button\n
- AFL: new function GuiSetCheck( id, checked ) - sets 'checked' or 'ON' state of toggle, checkbox and radio buttons\n
- AFL: new function GuiSetFont( \"fontface\", size )\n
- AFL: new function GuiToggle - creates toggle button (like normal button but it toggles between \"on\" and \"off\" state with each click)\n
- AFL: SetOption(\"OptimizeSaveParams\", True ); - turns on generation of AFL file that contains values of optimization parameters producing best result. The generated file has the same name as formula run but has .opt.afl extension\n
- AFL: When using TimeFrame functions, QuickAFL now uses ratio of requested_interval\/current_interval multipled by 30 to better estimate required bars\n
- Analysis: Detailed log displays information about ignored ScaleIn\/Outs because of insufficient funds or trade size constraints\n
- Analysis: Detailed log now displays all warnings about skipped\/ignored signals in RED color so they are easier to spot\n
- Data: when performing X:Y split and X or Y exceeded 255 the factor was incorrectly displayed (negative) in the Symbol window. Fixed.\n
- formatDateTimeISO and formatDateTimeISON added to syntax highlighter definitions\n
- Scheduler: Repeat \"Daily\" mode repeated batch run every day even if some days were unchecked. Fixed.\n
- UI: Place Order dialog - allows typing stop distances smaller than 0.1 now\n
- UI: Prefs\/Charting: Turning on \"Collapse parameter sections\" option causes all sections in Parameter window to be collapsed (NOT good idea for newbies as they wont see the controls !)\n
- Web Research: many HTML5 pages did not display properly because of the fact that web browser used old IE7 mode. Now browser uses IE11 mode at minimum for proper HTML5 rendering\n<\/ol>\n
CHANGES FOR VERSION 6.22.0<\/strong> (as compared to 6.21.0)<\/p>\n\n- 64-bit: migrated all code to new compiler VC++2017 which seems to produce better code for x64 resulting in 30...50% speed improvements for many AFL functions. The only negative seems to be much bigger runtime libs\n
- 64-bit: AFL: Sum() function 2x faster\n
- 64-bit: AFL: Max() and Min() functions 8x faster\n
- 64-bit: AFL: Ref() funciton 2x faster\n
- 64-bit: AFL: MACD(), ROC(), StDev(), LinearReg() and many other functions faster by 30-50%\n
- AFL: GetExtraData does not trigger code check and profile warning about referencing future quotes if plugin implements new GetExtraDataEx function\n
- AFL: GuiEdit complained about 2nd parameter instead of 1st (being less than zero)\n<\/ol>\n
CHANGES FOR VERSION 6.21.0<\/strong> (as compared to 6.20.1)<\/p>\n\n- AFL: decreased memory fragmentation when user changes type of variable from array to scalar and back thousands of times\n
- AFL: GuiButton( \"Text\", id, x, y, width , height , notifyflags ) - creates a button\n
- AFL: GuiEdit( id, x, y, width, height, notifyflags ); - creates an edit field\n
- AFL: GuiGetEvent( num, what = 0 )\n
- AFL: GuiGetText( id ) - get text from control\n
- AFL: GuiSetColors( idFrom, idTo, border , clrText = -1, clrBack = -1, clrBorder = -1, clrSelText = -1, clrSelBack = -1, clrSelBorder = -1, clrHoverText = -1, clrHoverBack = -1, clrHoverBorder = -1, clrDisText = -1, clrDisBack = -1, clrDisBorder = -1\n
- AFL: GuiSetText( \"text\", id ) - set text of the control\n
- AFL: RequestMouseMoveRefresh() - request formula execution \/ refresh when mouse is moved INSIDE given chart pane (so it only triggers for ONE window under the cursor)\n
- If Quote.exe is missing and AmiBroker can't do auto-update of quotes, a detailed information is displayed of where it expects Quote.exe file to be present\n
- Plugin loading changed: first AmiBroker attempts to load plugins for \"Plugins\" subfolder from where Broker.EXE file is located (new behavior) and if subfolder is NOT found, it then defaults to old behavior (using \"Plugins\" subfolder under current working\n<\/ol>\n
KNOWN ISSUES:<\/strong><\/p>\n\n- None\n<\/ol>\n
For more details, instructions and examples how to use new features see the 6.25.0 BETA READ ME<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"Stability: – regular BETA should work fine in most environments This is a BETA version. Make a backup first A new beta version (6.25.0) of AmiBroker, with lots of new AFL functionality has been released. 32-bit version: http:\/\/www.amibroker.com\/members\/bin\/ab6250beta.exe (2 259 152 bytes) 64-bit version: http:\/\/www.amibroker.com\/members\/bin\/AmiBroker6250x64.exe (10 690 248 bytes) If you can not log in […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[10,9],"tags":[],"_links":{"self":[{"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/posts\/1299"}],"collection":[{"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/comments?post=1299"}],"version-history":[{"count":0,"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/posts\/1299\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/media?parent=1299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/categories?post=1299"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.amibroker.com\/wordpress\/devlog\/wp-json\/wp\/v2\/tags?post=1299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}