PureBytes Links
Trading Reference Links
|
Hello,
Isn't
Ctrl+H key shortcut working?
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "Phsst" <phsst@xxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Tuesday, February 12, 2008 4:44 PM
Subject: [amibroker] Re: AmiBroker 5.05.1 BETA
> Any idea when is the "Cross Hairs On/Off" feature will be implemented?
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@xxx> wrote:
>>
>> Hello,
>> A new beta version (5.05.1) of AmiBroker has just been released.
>>
>> http://www.amibroker.com/devlog/2008/02/12/amibroker-5051-beta-released/
>>
>> HIGHLIGHTS of this version:
>>
>> 1.. automatic Walk-Forward Optimization, with IS and OOS equity
> charts
>> 2.. new functionality in GetCursor* AFL functions allowing
> interactive control (see sample in the read me)
>> 3.. automatic formula formatting - "Code Prettify" in the AFL
> Editor: Edit->Prettify selection
>> 4.. Improved scaling of semi-log charts
>> This version includes also features introduced earlier (in 5.03)
> such as new interval and symbol linking.
>>
>> BELOW you will find some additional information about walk-forward
> optimization introduced in this beta.
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>>
>> WALK FORWARD OPTIMIZATION
>>
>> The automatic Walk forward optimization is a system design and
> validation technique in which
>> you optimize the parameter values on a past segment of market data
> ("in-sample"), then test the system forward in time on data following
> the optimization segment ("out-of-sample"). You evaluate the system
> based on how well it performs on the test data ("out-of-sample"), not
> the data it was optimized on.
>>
>> To use Walk-Forward optimization please:
>> 1. Go to Tools->Automatic Analysis
>> 2. Click Settings button, then switch to "Walk-Forward tab"
>> 3. Here you can see Walk forward settings for In-sample
> optimization, out-of-sample backtest
>> "Start" and "End" dates mark initial period begin / end
>> This period will be moved forward by "Step" until the "End" reaches
> the "Last" date.
>> The "Start" date can move forward by "step" too, or can be anchored
> (constant) if "Anchored" check is on.
>> If you mark "Use today" then "Last" date entered will be ignored and
> TODAY (current date) will be used instead
>>
>> By default an "EASY MODE" is selected which simplifies the process
> of setting up WF parameters.
>> It assumes that:
>> a) Out-of-sample segment immediatelly follows in-sample segment
>> b) the length of out-of-sample segment equals to the walk-forward step
>>
>> Based on these two assumptions the "EASY" mode takes in-sample END
> date and sets
>> out-of-sample START date to the following day. Then adds in-sample
> STEP and this becomes out-of-sample END date.
>> In-sample and Out-of-sample step values are set to the same values.
>>
>> The "EASY" mode guarantees correctness of WF procedure settings.
>>
>> In the "ADVANCED" mode, the user has complete control over all
> values, to the extent that
>> they may not constitute valid WF procedure.
>> The interface allows to selectivelly disable in-sample and
> out-of-sample phases using checkboxes at top
>> (for special things like runnign sequential backtests without
> optimization).
>>
>> All settings are immediatelly reflected in the PREVIEW list that
> shows all generated IS/OOS segments
>> and their dates.
>>
>> The "Optimization target" field defines the optimization raport
> COLUMN NAME that
>> will be used for sorting results and finding the BEST one. Any
> built-in column can be used
>> (as appears in the optimization output), or you can use any custom
> metric that you define
>> in custom backtester. The default is CAR/MDD, you can however select
> any other built-in metric from the combo.
>> You can also TYPE-IN any custom metric that you have added via
> custom backtester interface.
>>
>> 4. Once you defined Walk-Forward settings, please go to Automatic
> Analysis and
>> 5. press the dropdown ARROW on the Optimize button and select "Walk
> Forward Optimization"
>> This will run sequence of optimizaitons and backtest and the
> results will be displayed in
>> the "Walk Forward" document that is open in the main application frame.
>> When optimization is running you can click "MINIMIZE" button on the
> Progress dialog
>> to minimize it - this allows to see the Walk Forward output during
> the optimization steps.
>>
>> IN-SAMPLE and OUT-OF-SAMPLE combined equity
>>
>> Combined in-sample and out-sample equities are available by
>> ~~~ISEQUITY and ~~~OSEQUITY composite tickers
>> (consecutive periods of IS and OOS are concatenated and scaled to
>> maintain continuity of equity line - this approach assumes that you
>> generally speaking are compounding profits)
>> To display IS and OOS equity you may use for example this:
>>
>> PlotForeign("~~~ISEQUITY","In-Sample Equity", colorRed, styleLine);
>> PlotForeign("~~~OSEQUITY","Out-Of-Sample Equity", colorGreen,
> styleLine);
>> Title = "{{NAME}} - {{INTERVAL}} {{DATE}} {{VALUES}}";
>>
>>
>>
>> INTERACTIVE "BUTTONS" SAMPLE
>>
>> New functionality in GetCursor* functions:
>> GetCursorXPosition( mode = 0 )
>> GetCursorYPosition( mode = 0 )
>>
>> mode = -1 - (old compatibility mode) - x - value gives X-coordinate
> in DateTime format. y - value gives PRICE. Values are reported no
> matter where is the mouse (i.e. may refer to window different than
> current if mouse is outside current window).
>> mode = 0 - (default) x - value gives X-coordinate in DateTime
> format. y - value gives PRICE. Returns NULL if mouse is outside
> current window
>> mode = 1 - x, y - are mouse coordinates expressed in screen PIXELS.
> Returns NULL if mouse is outside current window
>>
>> GetCursorMouseButtons new output flag = 8 - means that current chart
> just received mouse click
>>
>> Code sample:
>>
>> /////////////////////////////////////////////////
>> // Low-level graphic + Interactive GUI control sample
>> // This example shows:
>> // 1. how to draw "buttons"
>> // 2. how to handle mouse clicks
>> // 3. how to implement event call-backs
>> ///////////////////////////////////////////////////
>>
>> Version( 5.04 ); // requires 5.04 or higher
>>
>> ////////////////////////////////////////////////////
>> // Part 1: DRAWING TABLE OF BUTTONS
>> //////////////////////////////////////////////////
>> GfxSetOverlayMode( 2 );
>> // formatted text output sample via low-level gfx functions
>>
>> CellHeight = 20;
>> CellWidth = 100;
>> GfxSelectFont( "Tahoma", CellHeight/2 );
>>
>> GfxSetBkMode( 1 );
>>
>> function PrintInCell( string, row, Col )
>> {
>> GfxDrawText( string, Col * CellWidth, row * CellHeight, (Col + 1 ) *
> CellWidth, (row + 1 ) * CellHeight, 0 );
>> }
>>
>> GfxSelectPen( colorBlue );
>> for( i = 0; i < 10 && i < BarCount; i++ )
>> {
>> for( k = 0; k < 5; k++ )
>> {
>> PrintInCell( "Button " + i + "," + k, i, k );
>> }
>> GfxMoveTo( 0, i * CellHeight );
>> GfxLineTo( 5 * CellWidth, i * CellHeight );
>> }
>> GfxMoveTo( 0, i * CellHeight );
>> GfxLineTo( 5 * CellWidth, i * CellHeight );
>>
>> for( Col = 1; Col < 6; Col++ )
>> {
>> GfxMoveTo( Col * CellWidth, 0);
>> GfxLineTo( Col * CellWidth, 10 * CellHeight );
>> }
>>
>>
>> /////////////////////////////////////////////////////////
>> // Part 2: MOUSE BUTTON CALL BACKS
>> //////////////////////////////////////////////////////////
>> Title="";
>>
>> function DrawButton( px, py, Clr1, Clr2, text )
>> {
>> Col = floor( px / CellWidth );
>> Row = floor( py / CellHeight );
>>
>>
>> GfxGradientRect( Col * CellWidth, row * CellHeight, (Col + 1 ) *
> CellWidth, (row + 1 ) * CellHeight,
>> Clr1, Clr2 );
>>
>> PrintInCell( text + " " + row + "," + Col, row, Col );
>>
>> }
>>
>> function OnLMouseButton(x, y, px, py)
>> {
>> _TRACE("LButton x = " + DateTimeToStr( x ) + " y = " + y );
>>
>> DrawButton( px, py, ColorHSB( 50, 255, 255 ), ColorHSB( 90, 255,
> 255 ), "just clicked" );
>> }
>>
>> function OnRMouseButton(x, y, px, py)
>> {
>> _TRACE("RButton x = " + DateTimeToStr( x ) + " y = " + y );
>> }
>>
>> function OnMMouseButton(x, y, px, py)
>> {
>> _TRACE("MButton x = " + DateTimeToStr( x ) + " y = " + y );
>> }
>>
>> function OnHoverMouse(x, y, px, py)
>> {
>> _TRACE("LButton x = " + DateTimeToStr( x ) + " y = " + y );
>>
>> DrawButton( px, py, ColorRGB( 230, 230, 230 ), ColorRGB( 255,
> 255, 255 ), "mouse over" );
>> }
>>
>> function OnLButtonIsDown(x, y, px, py)
>> {
>> _TRACE("LButton x = " + DateTimeToStr( x ) + " y = " + y );
>>
>> DrawButton( px, py, ColorHSB( 190, 255, 255 ), ColorHSB( 210,
> 255, 255 ), "down" );
>> }
>>
>> /////////////////////////////////////////////////////////
>> // Part 3: GENERAL PURPOSE EVENT HANDLER (reusable! - may be put
> into "include" file)
>> ////////////////////////////////////////////////////////
>>
>> function EventHandler()
>> {
>> local b, x, y, px, py;
>> b = GetCursorMouseButtons();
>>
>> // retrieve co-ordinates in date/value units
>> x = GetCursorXPosition(0);
>> y = GetCursorYPosition(0);
>>
>> // retrieve co-ordinates in pixel units
>> px = GetCursorXPosition(1);
>> py = GetCursorYPosition(1);
>>
>> if( b & 8 ) // flag = 8 is set when window just received mouse click
>> {
>> // not-null means clicked in THIS (current) window
>> if( b & 1 ) OnLMouseButton( x, y, px, py );
>> if( b & 2 ) OnRMouseButton( x, y, px, py );
>> if( b & 4 ) OnMMouseButton( x, y, px, py );
>> }
>> else
>> {
>> if( b == 0 ) OnHoverMouse( x, y, px, py ); // no button pressed
>> if( b == 1 ) OnLButtonIsDown( x, y, px, py ); // button pressed
>> }
>> }
>>
>> EventHandler();
>> RequestTimedRefresh( 1 );
>>
>
>
>
>
> Please note that this group is for discussion between users only.
>
> To get support from AmiBroker please send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
>
> For other support material please check also:
> http://www.amibroker.com/support.html
>
> Yahoo! Groups Links
>
>
>
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|