Australian (ASX) Stock Market Forum

How is ASX data imported into Amibroker?

Joined
26 December 2013
Posts
25
Reactions
0
Just got the Amibroker trial, been having a look around and I like it a lot. Just wondering how I add Australian stocks? Because it comes with US stocks. Can't seem to find an option for this.
 
Just got the Amibroker trial, been having a look around and I like it a lot. Just wondering how I add Australian stocks? Because it comes with US stocks. Can't seem to find an option for this.

Try looking here..
 
Alright, I'm fine with having to import it every time I open the program, for the duration of my trail. Thanks for the links guys
 
Alright, thanks for the links guys. I'll get it sorted tomorrow morning

Hi, bear in mind AB is a programmers toolkit.

Its relatively low cost, very powerful, but only of real value if you can drive it.

There are many gotcha's on the way and the devil is in the detail.

It's also very easy to become a programmer first and a trader second - that might not be what you want.

And it not just programming, your an end user/systems architect/designer/developer/tester/release mgr/ops manager - this is the life cycle that you need to follow in order to produce a meaningful end result - that you can trust.

Also, it's not event driven, so for example there are no 'on session open do this', 'on new 5 min bar do this', on new 5 tick bar do this' and there is no concept of different order types, just buy and sell.

It's a great EOD tool, if that's what your looking for - but that's the key:

- do you know what your looking for
- do you understand your limitations / capability
- does the tool match these needs

That said, for the cost it's great, even amazing, value and I would recommend you suck it and see and then ask yourself these questions.
 
Also, it's not event driven, so for example there are no 'on session open do this', 'on new 5 min bar do this', on new 5 tick bar do this' and there is no concept of different order types, just buy and sell.

Nonsense. Where did you get that from? Backed up by Amibroker? Probably not.
 

Thanks for the plug. You might also find my book "Introduction to AmiBroker" helpful. It describes setting up the program and setting up the data, including Norgate. Chapter 3 has a series of ten exercises you can work through to help you become familiar with the program. The book is free for personal use. Download a copy in pdf format from the book's website:
http://www.introductiontoamibroker.com/

For more of my thoughts related to trading system development and trading management, visit my websites and read articles:
http://www.blueowlpress.com/WordPress/

I have written three other books related to trading system development -- with a new one in preparation now. You can read sample chapters of each on their websites. Begin here and follow the links to the books:
http://www.blueowlpress.com/

The newest book should be of interest to every trading system developer and trader. It discusses some topics critical to success but seldom mentioned -- for example, the importance of keeping position sizing outside the model. It introduces machine learning to trading system development. And Bayesian analysis of recent trading performance to determine system health.
http://www.quantitativetechnicalanalysis.com/
I am scheduled to be one of the keynote speakers at the ATAA Conference in Melbourne, May, 2014. Much of my speech will be new material, some of which will also be in the new book.

And here is a list of links to videos featuring me:

The first is a short bio of me
http://www.youtube.com/watch?v=rcjyDeJKskk

This is a webinar I presented for the TSAASF earlier this year
http://www.youtube.com/watch?v=a_cy5sUv0qI

This is a recording of a presentation I made at the IFTA in San Francisco October, 2013
http://www.youtube.com/watch?v=oN10-9oIsDY

When you order a copy of any of my books, I include a DVD with a copy of the speech I gave at the ATAA Conference, held in Melbourne, October, 2009. It is two parts, each over an hour. I would post it, but in its current form it is too big.

Best regards,
Howard
 
Nonsense. Where did you get that from? Backed up by Amibroker? Probably not.

OK, fair enough.

Perhaps you could point me too some event driven examples in the documentation.

Maybe there in the IB interface manual - I don't use this.

I only trade futures using NT7 these days, which does have a raft of event driven features - and that's where my comparison comes from.
 
OK, fair enough.

Perhaps you could point me too some event driven examples in the documentation.

Maybe there in the IB interface manual - I don't use this.

I only trade futures using NT7 these days, which does have a raft of event driven features - and that's where my comparison comes from.

So since there is no confirmation by AmiBroker I guess it just was not well informed claims again.

As for order types or anything else take a look at AB's IB controller read me file. Or get in touch with support.

As for 'events'

'event on new time bar' example

Code:
barleft =  Status( "lastbartimeleft" ); //alternatively use Status( "lastbartimeleftrt" ) to use datetime of last update sent by data source instead of current local time.
/*
Note that "lastbartimeleft" counts from current computer time, 
it means that if you have delayed data (15-Minute) it will show 900 seconds (15 Minute) offset that your data are delayed.
*/

if ( Interval() - barleft == 0 ) // at bar start
{
    //do something
    Say( "nonsense" );
}

Title = StrFormat( "Time left: %g", barleft );

/*
from the help file:

"lastbartimeleft" - returns number of seconds to the completion of current last bar. 
Works for time-based bars only. Note that for proper operation this requires database 
timeshift to be set properly (so dates displayed on chart match your local computer time zone). (v5.60)
 
"lastbartimeleftrt" - it works like "lastbartimeleft" but uses the most recent RT stream update time instead of Now(). 
Also added Status("lastrtupdate") - time of last RT stream update Depends on RT plugin to deliver correct DateUpdate / TimeUpdate data. 
If plugin or date source sends incorrect datetimestamps or does not send DateUpdate/TimeUpdate correctly this function will not operate properly. 
Note that most data sources send weird (not current) datetime stamps on weekends. 
Also IQFeed plugin sends DateUpdate/TimeUpdate only inside regular trading hours. (v5.60)
*/

Code:
Current = Now ( 4 );
Hours = int ( Current / 10000 );
Minutes = int ( ( Current - Hours * 10000 ) / 100 );
Seconds = Current - Hours * 10000 - Minutes * 100;
totalSeconds = Hours * 60 ^ 2 + Minutes * 60 + Seconds;
Left =  Interval() - totalseconds % Interval() ;//or use Status( "lastbartimeleft" );  or Status( "lastbartimeleftrt" ); if you have newer AB version 5.60+

execute = StaticVarGet( "execute" );

if ( Interval() - Left == 0 )
{
    if ( execute )
    {
        ShellExecute( "notepad.exe", "", "" );
        SetChartBkColor ( colorYellow );
        StaticVarSet ( "execute", 0 );
    }
}
else
    StaticVarSet ( "execute", 1 );

Title = StrFormat( "Time left: %g", left );

etc.
 
Hi, bear in mind AB is a programmers toolkit.

Its relatively low cost, very powerful, but only of real value if you can drive it.

There are many gotcha's on the way and the devil is in the detail.

It's also very easy to become a programmer first and a trader second - that might not be what you want.

And it not just programming, your an end user/systems architect/designer/developer/tester/release mgr/ops manager - this is the life cycle that you need to follow in order to produce a meaningful end result - that you can trust.

Also, it's not event driven, so for example there are no 'on session open do this', 'on new 5 min bar do this', on new 5 tick bar do this' and there is no concept of different order types, just buy and sell.

It's a great EOD tool, if that's what your looking for - but that's the key:

- do you know what your looking for
- do you understand your limitations / capability
- does the tool match these needs

That said, for the cost it's great, even amazing, value and I would recommend you suck it and see and then ask yourself these questions.

You don't have to be a programmer to have Amibroker be cost effective. You can use other peoples' code, there is a lot on their website in the member's area. If you purchase the AFL Wizard you can do your own basic codes with the drag and drop GUI. Since you can set up as many scans as you want, back test it as long as you want and run it any time of the day then it's a cheaper alternative to stock scanner websites.

It's also a decent charting package to use the inbuilt tools like trend lines, Fib/Gann if you think it's not a load of BS, and other technical analysis tools. The standard indicators that are built in work reasonably well too. For other simple indicators, you can easily download them. It also beats using your brokers' charts!

I think therefore it's reasonable and cost effective for scans/charting/simple tools even if you can't program yourself.
 
So since there is no confirmation by AmiBroker I guess it just was not well informed claims again.

As for order types or anything else take a look at AB's IB controller read me file. Or get in touch with support.

As for 'events'

'event on new time bar' example

Code:
barleft =  Status( "lastbartimeleft" ); //alternatively use Status( "lastbartimeleftrt" ) to use datetime of last update sent by data source instead of current local time.
/*
Note that "lastbartimeleft" counts from current computer time, 
it means that if you have delayed data (15-Minute) it will show 900 seconds (15 Minute) offset that your data are delayed.
*/

if ( Interval() - barleft == 0 ) // at bar start
{
    //do something
    Say( "nonsense" );
}

Title = StrFormat( "Time left: %g", barleft );

/*
from the help file:

"lastbartimeleft" - returns number of seconds to the completion of current last bar. 
Works for time-based bars only. Note that for proper operation this requires database 
timeshift to be set properly (so dates displayed on chart match your local computer time zone). (v5.60)
 
"lastbartimeleftrt" - it works like "lastbartimeleft" but uses the most recent RT stream update time instead of Now(). 
Also added Status("lastrtupdate") - time of last RT stream update Depends on RT plugin to deliver correct DateUpdate / TimeUpdate data. 
If plugin or date source sends incorrect datetimestamps or does not send DateUpdate/TimeUpdate correctly this function will not operate properly. 
Note that most data sources send weird (not current) datetime stamps on weekends. 
Also IQFeed plugin sends DateUpdate/TimeUpdate only inside regular trading hours. (v5.60)
*/

Code:
Current = Now ( 4 );
Hours = int ( Current / 10000 );
Minutes = int ( ( Current - Hours * 10000 ) / 100 );
Seconds = Current - Hours * 10000 - Minutes * 100;
totalSeconds = Hours * 60 ^ 2 + Minutes * 60 + Seconds;
Left =  Interval() - totalseconds % Interval() ;//or use Status( "lastbartimeleft" );  or Status( "lastbartimeleftrt" ); if you have newer AB version 5.60+

execute = StaticVarGet( "execute" );

if ( Interval() - Left == 0 )
{
    if ( execute )
    {
        ShellExecute( "notepad.exe", "", "" );
        SetChartBkColor ( colorYellow );
        StaticVarSet ( "execute", 0 );
    }
}
else
    StaticVarSet ( "execute", 1 );

Title = StrFormat( "Time left: %g", left );

etc.

I read the IB controller manual.

You do have control over order types via the IB controller - agreed.

Timeleftinbar is NOT an event per se - you can measure this off your pc clock.

Events are, for example :

On_first_tick_of_session
On_order_execution
On_first_tick_of_new_bar

These are not there.

You could program them yourself - but were traders here are we not ?

And only seasoned programmer are going to go anywhere near this stuff in AB - it's just too hard.
 
I read the IB controller manual.
Timeleftinbar is NOT an event per se - you can measure this off your pc clock.

This is wrong! Do you read the code? Lastbartimeleftrt is not based on pc clock!
"Status( "lastbartimeleftrt" ) to use datetime of last update sent by data source instead of current local time."

And interval() - lastbartimeleftrt == 0 starts event at new bar.

This is one part of one of YOUR quotes: 'on new 5 min bar do this'.
And that's what the example is doing.
 
You don't have to be a programmer to have Amibroker be cost effective. You can use other peoples' code, there is a lot on their website in the member's area. If you purchase the AFL Wizard you can do your own basic codes with the drag and drop GUI. Since you can set up as many scans as you want, back test it as long as you want and run it any time of the day then it's a cheaper alternative to stock scanner websites.

It's also a decent charting package to use the inbuilt tools like trend lines, Fib/Gann if you think it's not a load of BS, and other technical analysis tools. The standard indicators that are built in work reasonably well too. For other simple indicators, you can easily download them. It also beats using your brokers' charts!

I think therefore it's reasonable and cost effective for scans/charting/simple tools even if you can't program yourself.

No arguments from me - as I said it has some very powerful features - scans / charting etc that represent value in themselves.

To get the FULL value though you need some technical smarts - and that comes with commensurate effort and time.

AB is a great tool, don't get me wrong.

- - - Updated - - -

How do you wanna auto trade YOUR system if you cant program??
So you are discreationary trader.

No i use NT, a tool more suited to this particular task.
 
Top