By Michael Gable
With sentiment decidedly more fearful now, we thought it would be prudent to provide a chart this week on the S&P/ASX 200 Index. The Australian market hasn’t broken any major support levels, and the uptrend is still in place. However, our chart this week will show you where the major support levels are. Having said that, any stocks linked to China may do some extra damage in the meantime. So, these are the ones of course that investors need to be mindful of when analysing portfolio risk and trying to limit any downside.
Longer term, our market still looks positive. For the short-term though, we are neutral on where it can go. It spent six months last year forming an ascending triangle. This sideways move was to consolidate the big rally that preceded it in early 2019. By spending such a long time consolidating, the breakout seen last month should therefore have much further to run. That is, our market should see further upside this year. The pullback in the last few days though is likely to see our market “retest” that breakout which was around 6,860 (horizontal line). If it can hold there, then it will be ready to resume the uptrend. If that level breaks, then we would be expecting support to come in between 6,700 and 6,800, which will enable our market to form another “higher low”. Only a breach of 6,700 would we have to change our opinion and turn negative.
Content included in this article is not by association the view of FNArena (see our disclaimer).
Michael Gable is managing Director of Fairmont Equities (www.fairmontequities.com)
Fairmont Equities is a share advisory firm assisting Private Clients with the professional management of their share portfolio. We are based in the Sydney CBD but provide services to private clients across Australia. We believe that the concepts of fundamental analysis and technical analysis of stocks are not mutually exclusive. Regardless of whether you are a trader or long term investor, combining both methods is crucial to success. As a result, the unique analysis of Fairmont Equities is featured regularly in the media such as Sky News Business, CNBC, The Australian Financial Review, and the ASX newsletter. Contact us for a free trial of our research and information on our portfolio management services.
Michael is RG146 Accredited and holds the following formal qualifications:
• Bachelor of Engineering, Hons. (University of Sydney)
• Bachelor of Commerce (University of Sydney)
• Diploma of Mortgage Lending (Finsia)
• Diploma of Financial Services [Financial Planning] (Finsia)
• Completion of ASX Accredited Derivatives Adviser Levels 1 & 2
Disclaimer
Fairmont Equities Australia (ACN 615 592 802) is a holder of an Australian Financial Services License (No. 494022). The information contained in this report is general information only and is copy write to Fairmont Equities. Fairmont Equities reserves all intellectual property rights. This report should not be interpreted as one that provides personal financial or investment advice. Any examples presented are for illustration purposes only. Past performance is not a reliable indicator of future performance. No person, persons or organisation should invest monies or take action on the reliance of the material contained in this report, but instead should satisfy themselves independently (whether by expert advice or others) of the appropriateness of any such action. Fairmont Equities, it directors and/or officers accept no responsibility for the accuracy, completeness or timeliness of the information contained in the report.
Find out why FNArena subscribers like the service so much: “Your Feedback (Thank You)” – Warning this story contains unashamedly positive feedback on the service provided.
FNArena is proud about its track record and past achievements: Ten Years On
var fn_do_fb_login; var fn_check_login_state; var fn_get_fb_login_button; var fn_remove_fb_loading_btn; var fn_status_change_callback;
jQuery(document).ready(function(e){
window.fbAsyncInit = function() { FB.init({ appId : '2003222569780759', // dev version: 500318794096450 cookie : true, // Enable cookies to allow the server to access the session. xfbml : true, // Parse social plugins on this webpage. version : 'v4.0' // Use this Graph API version for this call. });
//check if all fb elements done rendering //========== fn_get_fb_login_button();
FB.Event.subscribe('xfbml.render', function(response) { fn_remove_fb_loading_btn(); }); //==========
FB.getLoginStatus(function(response) { // Called after the JS SDK has been initialized.
var fb_r = response;
if (fb_r && fb_r.status === 'connected') {
get_detail_data(fb_r.authResponse.userID); // Returns the login status.
// logout function // FB.logout(function(response) { // console.log('do logout'); // }); } }); };
(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));
//fb functionality //======================================================= fn_check_login_state = function check_login_state() { // Called when a person is finished with the Login Button.
//everytime event login triggered, reset the form fn_reset_form();
FB.getLoginStatus(function(response) {
var status_change_callback = fn_status_change_callback(response);
if (status_change_callback) {
FB.api('/me', function(response) {
console.log(response);
});
}
});
}
//new function to do fb login - since might need a separate function //between checking and login fn_do_fb_login = function do_fb_login() { // Called when a person is finished with the Login Button.
//everytime event login triggered, reset the form fn_reset_form();
FB.getLoginStatus(function(response) {
e('.form_loading').show();
var status_change_callback = fn_status_change_callback(response);
if (status_change_callback) {
FB.api('/me', function(response) {
console.log(response); set_detail_data_to_form_and_submit(response.id);
});
} else {
FB.login(function(fb_l_r) {
if (fb_l_r.authResponse && fb_l_r.status == 'connected') {
console.log(fb_l_r.authResponse.userID); set_detail_data_to_form_and_submit(fb_l_r.authResponse.userID);
} else { e('.form_loading').hide(); }
});
}
});
}
fn_status_change_callback = function status_change_callback(response) { // Called with the results from FB.getLoginStatus().
var check_status;
console.log('status_change_callback'); console.log(response); // The current login status of the person.
if (response.status === 'connected') { // Logged into your webpage and Facebook.
get_detail_data(response.id); check_status = true;
} else { // Not logged into your webpage or we are unable to tell.
console.log('facebook is not logged in'); check_status = false;
}
return check_status;
}
function get_detail_data(fb_id) {
FB.api( '/'+fb_id+'/', {fields: 'id,first_name,last_name,email'}, function (fb_r) {
var fb_data_json = JSON.stringify(fb_r);
if (fb_r && !fb_r.error) {
e('#fb_data').html(fb_data_json);
}
} );
}
//it's kinda silly, but since fb is an async, cannot use passing parameter on a function like jquery //so instead put it on FB.api function set_detail_data_to_form_and_submit(fb_id) {
e('.form_loading').show();
FB.api( '/'+fb_id+'/', {fields: 'id,first_name,last_name,email'}, function (fb_r) {
var fb_data_json = JSON.stringify(fb_r);
if (fb_r && !fb_r.error) {
var fb_id = fb_r.id; var fb_firstname = fb_r.first_name; var fb_lastname = fb_r.last_name; var fb_email = fb_r.email;
e('.sns_facebook').val(1); e('.sns_facebook_id').val(fb_id);
e('#fb_data').html(fb_data_json); do_submit_form();
//no form_loading hide - we gonna lock the form IF it's success
} else {
e('.form_loading').hide();
}
} );
}
fn_get_fb_login_button = function get_fb_login_button() {
var html = '
'+ ' '; e('.fb_button_placeholder').html(html);}
fn_remove_fb_loading_btn = function remove_fb_loading_btn() {
e('.fb_loading_btn').hide(); e('.fb_login_wrapper').show();
}
fn_reset_form = function reset_form() {
e('.sns_facebook').val(''); e('.sns_facebook_id').val(''); e('.form_loading').hide();
}
function do_submit_form() {
var the_form = e('.formLogin:visible');
if (the_form.length) {
var target_form = the_form[0]; target_form.submit();
} else {
console.log('form not exist');
}
} //=======================================================
//initialize fn_reset_form();
});