"; return html; }, source: function(term, response){ $.getJSON(url, { q: term }, function(data){ var json = JSON.parse(data); response(json); }); }, onSelect: function(e, term, item){ if (typeof onSelectStockFn === "function") { var code = item.getAttribute('data-code'); var name = item.getAttribute('data-name'); onSelectStockFn(code, name); } }, }); } function onSelectStockFn(code){ var url = stock_overview_url.replace("12345", code); location.href = url; }
- Australia
- Canada
- Malaysia
- Singapore
- United Kingdom
- United States
New Portfolio
You should check in on some of those fields below.
PORTFOLIO: maintain record of your purchases, sales and cash transactions.
WATCHLIST: track a list of stocks to "watch" or follow.
Name
Description
Tag
Confirmation
Click Confirm to delete this list.
Ragnar Metals Limited
ASX (AUD): Ragnar Metals Limited (RAG)
Share this:
Last Price
0.021
Today's Change
+0.002 (10.52%)
Day's Change
0.019 - 0.022
Trading Volume
5,891,925
- Overview
- Prices
- Latest Prices
- Price Target
- Discussions
- Market Buzz
- Historical Data
- Financials
- Summary
- Last 10 FY
- Quarter
- Annual
- Annual Report
- Profile
- Key Executives
Create Alert
You are setting up a price and signal alert with 15 minutes delay. Click here to enjoy real-time price and signal alerts.
Stock
Alert Type
Current Price
Value (AUD)
Signal
Signal Duration
Signal Type
Frequency
Expiration Date
Alert Actions
Last Trigger Date:
-
Alert Name
Note
"; return html; }, source: function(term, response){ $.getJSON(url, { q: term }, function(data){ var json = JSON.parse(data); response(json); }); }, onSelect: function(e, term, item){ var code = item.getAttribute('data-code'); var name = item.getAttribute('data-name'); var alertName = name + " (" + code + ")"; alertName = code + " (" + name + ")"; $(inputElem).closest("div").find("#stock-alert-name").val(alertName); $(inputElem).closest("div").find("#stock-alert-code").val(code); retrieveCurrentPrice(code, $(inputElem).closest(".card-body")); setAlertName(); } }); $(inputElem).on("input", function() { $("#stock-alert-code").val(""); $("#stock-alert-name").val(""); $("#curr-price-message").html(""); }); $(inputElem).blur(function() { var td = $(this).closest("div"); var value = td.find("#stock-alert-code").val(); if(!value){ $(inputElem).val(""); $("#stock-alert-code").val(""); $("#stock-alert-name").val(""); $("#curr-price-message").html(""); } }); } function retrieveCurrentPrice(stockCode, elem){ if(!elem || elem.length == 0){ elem = $("#price-alert-modal"); } elem.find("#curr-price-loading").show(); elem.find("#curr-price-message").html("Retrieving Current Price."); if(stockCode){ $.ajax({ type: "POST", url: apiRoot + "/pricetarget/ret-curr-price", async: true, contentType: "application/json;charset=UTF-8", data: JSON.stringify({ "stockCode": stockCode, "showPricePercentage": true, "showColor": true }), success: function(data, textStatus, xhr) { if("E" == data){ elem.find("#curr-price-message").html("Error: Current Price not found."); }else{ elem.find("#curr-price-message").html(data); } elem.find("#curr-price-loading").hide(); }, error: function(xhr, status, error) { var msg = getHttpErrorMsg(xhr); if (msg != "") { elem.find("#curr-price-message").html("Error: " + msg); } $("#curr-price-loading").hide(); } }); } } function setAlertName(){ var selected = $("#price-alert-modal").is(":visible") ? $("#price-alert-modal") : $(".detail-div:visible"); var display_name = selected.find("#price-alert-type-select").find("option:selected").attr("data-name"); if(display_name){ var signal = selected.find("#signal-select").find("option:selected").attr("data-name"); signal = isEmptyString(signal) ? "" : signal; var duration = selected.find("#duration-select").find("option:selected").attr("data-name"); duration = isEmptyString(duration) ? "" : duration; var signal_type = selected.find("#signal-type-select").find("option:selected").attr("data-name"); signal_type = isEmptyString(signal_type) ? "" : signal_type; display_name = display_name.replace("$\{stock\}", selected.find("#stock-alert-name").val()); display_name = display_name.replace("$\{price\}", selected.find("#price-alert-value-input").val()); display_name = display_name.replace("$\{signal\}", signal); display_name = display_name.replace("$\{duration\}", duration); display_name = display_name.replace("$\{signal_type\}", signal_type); } selected.find("#price-alert-name-input").val(display_name); checkEnteredValue(); } function checkEnteredValue(elem){ var selected = $("#price-alert-modal").is(":visible") ? $("#price-alert-modal") : $(".detail-div:visible"); var selected_field = selected.find("#price-alert-value-input"); var valid = true; var entered_value = Number(selected_field.val()); var stock_price = Number(selected.find("#curr-price-label").html()); var type_field = selected.find("#price-alert-type-select"); var selected_type = selected.find("#price-alert-type-select").find("option:selected").val(); var selected_signal = selected.find("#signal-select"); var signal = selected.find("#signal-select").find("option:selected").attr("data-sysname"); var duration_field = selected.find("#duration-select"); var selected_duration = selected.find("#duration-select").find("option:selected").html(); var duration = selected.find("#duration-select").find("option:selected").attr("data-sysname"); if(elem){ selected_field = elem.find("#price-alert-value-input"); entered_value = Number(elem.find("#price-alert-value-input").val()); stock_price = Number(elem.find("#curr-price-label").html()); type_field = elem.find("#price-alert-type-select"); selected_type = elem.find("#price-alert-type-select").find("option:selected").val(); selected_signal = elem.find("#signal-select"); signal = elem.find("#signal-select").find("option:selected").attr("data-sysname"); duration_field = elem.find("#duration-select"); selected_duration = elem.find("#duration-select").find("option:selected").html(); duration = elem.find("#duration-select").find("option:selected").attr("data-sysname"); } if(cd_above_id == selected_type){ if(entered_value < stock_price){ valid = false; showErrorOnField(selected_field, "Value must greater than " + stock_price); } if(activePriceCount == 0) { valid = false; var reachedLimitMsg = "Oops, your account is not eligible for Price Alert."; showErrorOnField(type_field, reachedLimitMsg); } if(usedPriceCount >= activePriceCount) { valid = false; var reachedLimitMsg = "Oops, your account have reached the limit of active Price Alert."; showErrorOnField(type_field, reachedLimitMsg); } } else if(cd_below_id == selected_type){ if(entered_value > stock_price){ valid = false; showErrorOnField(selected_field, "Value must lower than " + stock_price); } if(activePriceCount == 0) { valid = false; var reachedLimitMsg = "Oops, your account is not eligible for Price Alert."; showErrorOnField(type_field, reachedLimitMsg); } else if(usedPriceCount >= activePriceCount) { valid = false; var reachedLimitMsg = "Oops, your account have reached the limit of active Price Alert."; showErrorOnField(type_field, reachedLimitMsg); } } else if(cd_signal_id == selected_type){ var notEligibleForStrategyMsg = "Oops, your account is not eligible for this strategy."; if(signal == "OBV") { showErrorOnField(selected_signal, notEligibleForStrategyMsg); valid = false; } if(signal == "VOLUME BREAKOUT") { showErrorOnField(selected_signal, notEligibleForStrategyMsg); valid = false; } if(signal == "TURTLE SYSTEM 20" || signal == "TURTLE SYSTEM 55") { showErrorOnField(selected_signal, notEligibleForStrategyMsg); valid = false; } if(activeMqSignalCount == 0) { valid = false; var reachedLimitMsg = "Oops, your account is not eligible for MQ Signal Alert."; showErrorOnField(type_field, reachedLimitMsg); if (typeof showSignalModal === "function") { showSignalModal(); } } else if(usedMqSignalCount >= activeMqSignalCount) { valid = false; var reachedLimitMsg = "Oops, your account have reached the limit of active MQ Signal Alert."; showErrorOnField(type_field, reachedLimitMsg); if (typeof showSignalModal === "function") { showSignalModal(); } } var validDuration = true; if(chartDuration == "Weekly" && duration != "Weekly") { validDuration = false; } else if(chartDuration == "Daily" && (duration == "Hourly" || duration == "30 Mins" || duration == "10 Mins" || duration == "5 Mins")) { validDuration = false; } else if(chartDuration == "Hourly" && (duration == "30 Mins" || duration == "10 Mins" || duration == "5 Mins")) { validDuration = false; } else if(chartDuration == "30 Mins" && (duration == "10 Mins" || duration == "5 Mins")) { validDuration = false; } else if(chartDuration == "10 Mins" && (duration == "5 Mins")) { validDuration = false; } if(!validDuration) { valid = false; var reachedLimitMsg = "Oops, your account only can use Signal Duration up to " + chartDuration + "."; showErrorOnField(duration_field, reachedLimitMsg); } } valid &= validateDatePeriod("price-alert-expiration-date-input", signalValidityMonth); return valid; } function validateDatePeriod(date_to_id, month_interval){ //set today date for Date To var date_to = $("#" + date_to_id).val(); if(isEmptyString(date_to)) return true; var date_to_obj = checkField($("#" + date_to_id).get(), true); var valid = date_to_obj.isValid(); if(!valid) return false; //date period field are mandatory var from_date_moment = moment("2024-08-04","YYYY-MM-DD"); var to_date_moment = moment(date_to,"YYYY-MM-DD"); //from date cannot greater than to date if(from_date_moment > to_date_moment){ showTbModalMesg(tbmesgtypeError, "Invalid Date Period.", null, true); return false; } if(month_interval == null) return true; //set today date for Date From month_interval = !isNaN(month_interval) ? Number(month_interval) : 0; //difference month var diff_month = to_date_moment.diff(from_date_moment, 'months', true); if(diff_month > month_interval){ var datePeriodWithinMsg = "Date Period must be within " + month_interval + " months."; showErrorOnField($("#" + date_to_id), datePeriodWithinMsg); return false; } return true; } function toggleAlertTypeField(elem) { var selected_div = $(elem).closest(".card-body"); if(!selected_div || selected_div.length == 0){ selected_div = $("#price-alert-modal"); } var alert_type = checkField(selected_div.find("#price-alert-type-select").get()); var alert_type_signal = false; if(cd_signal_id == alert_type.getValue()) { alert_type_signal = true; } if(alert_type_signal) { $(".type-signal").show(); $(".type-price").hide(); selected_div.find("#price-alert-value-input").val(""); } else { $(".type-signal").hide(); $(".type-price").show(); selected_div.find("#signal-select").val(""); selected_div.find("#duration-select").val(""); selected_div.find("#signal-type-select").val(""); } } function savePriceAlert(elem){ toggleSaveButton(elem, true); var selected_div = $(elem).closest(".card-body"); if(!selected_div || selected_div.length == 0){ selected_div = $("#price-alert-modal"); } var record_id = selected_div.find("#price-alert-record-id").val(); var stock_name = checkField(selected_div.find(".stock-input").get(), true); var alert_type = checkField(selected_div.find("#price-alert-type-select").get(), true); var alert_type_signal = false; if(cd_signal_id == alert_type.getValue()) { alert_type_signal = true; } var value = checkField(selected_div.find("#price-alert-value-input").get(), !alert_type_signal); var formatted_value = Math.round(Number(value.getValue()) * 10000); var signal = checkField(selected_div.find("#signal-select").get(), alert_type_signal); var duration = checkField(selected_div.find("#duration-select").get(), alert_type_signal); var signal_type = checkField(selected_div.find("#signal-type-select").get(), alert_type_signal); var ori_frequency = selected_div.find('#frequency-checkbox').attr("data-orig"); var frequency = checkField(selected_div.find("#price-alert-frequency-select").get(), true); var expired_date = checkField(selected_div.find("#price-alert-expiration-date-input").get(), true); var ori_alert_action = selected_div.find('#alert-action-label').attr("data-orig"); var alert_action = ""; selected_div.find(".alert-actions:checked").each(function(){ alert_action += $(this).val() + ","; }); if(alert_action){ alert_action = alert_action.slice(0, -1); } var alert_name = checkField(selected_div.find("#price-alert-name-input").get(), true); var note = checkField(selected_div.find("#price-alert-note-input").get()); var valid = stock_name.isValid() && alert_type.isValid() && value.isValid() && expired_date.isValid() && alert_name.isValid() && frequency.isValid() && signal.isValid() && duration.isValid() && signal_type.isValid(); valid &= checkEnteredValue(selected_div); var change = getAllValue(selected_div) != price_alert_orig_value; if (valid && change){ $.ajax({ type: "POST", url: apiRoot + "/pricealert/save", async: true, contentType: "application/json;charset=UTF-8", data: JSON.stringify({ id: record_id, stockCode: selected_div.find("#stock-alert-code").val(), value: formatted_value, signalId: signal.getValue(), durationId: duration.getValue(), signalTypeId: signal_type.getValue(), expiredDate: expired_date.getValue(), alertName: alert_name.getValue(), note: note.getValue(), alertTypeId: alert_type.getValue(), alertActionIds: alert_action, frequencyId: frequency.getValue(), userid: "", }), success: function(data, textStatus, xhr) { if(record_id != "0"){ showPgTopToast("Alert updated successfully."); }else{ showPgTopToast("Alert added successfully."); } setTimeout(function() { toggleSaveButton(elem, false); if(record_id != "0"){ if (typeof callbackAfterUpdate === "function") { callbackAfterUpdate(data, elem); } }else{ if (typeof callbackAfterCreation === "function") { callbackAfterCreation(); } } }, 1000); }, error: function(xhr, status, error) { var msg = getHttpErrorMsg(xhr); if (msg != "") { toggleSaveButton(elem, false); showPgTopToast("Failed to create Alert.
" + msg); } } }); }else{ toggleSaveButton(elem, false); } if(valid && !change){ showPgTopToast("No change."); } } function deletePriceAlertFromModal(){ showStockConfirmModal("Click Confirm to delete this alert."); $("#stock-confirm-btn").unbind('click'); $("#stock-confirm-btn").click(function() { deletePriceAlert($("#price-alert-record-id").val()); }); } function deletePriceAlert(id){ $.ajax({ type: "POST", url: apiRoot + "/pricealert/delete/" + id, async: true, success: function(data, textStatus, xhr) { showPgTopToast("Alert deleted successfully."); setTimeout(function() { if($("#dttable-price-alert").is(":visible")){ dttable.row(curr_selected_tr).remove().draw(); $("#price-alert-log-table tbody").html(""); } hideStockConfirmModal(); hidePriceAlertModal(); }, 1000); }, error: function(xhr, status, error) { var msg = getHttpErrorMsg(xhr); if (msg != "") { toggleSaveButton(elem, false); showPgTopToast("Failed to delete Alert.
" + msg); } } }); } function toggleSaveButton(selected, show_saving){ if(!selected) return; if(show_saving){ $(selected).attr("disabled", true); $(selected).find(".fa-save").hide(); $(selected).find(".fa-spinner").show(); }else{ $(selected).attr("disabled", false); $(selected).find(".fa-save").show(); $(selected).find(".fa-spinner").hide(); } } function addPriceAlertCount (){ usedPriceCount++; } function addMqSignalAlertCount (){ usedMqSignalCount++; } function minusPriceAlertCount (){ usedPriceCount--; } function minusMqSignalAlertCount (){ usedMqSignalCount--; }
Analysis
- Performance
- Technical
- Price Target
Discussions
Be the first to like this. Showing 0 of 0 comments
Post a Comment
People who like this
Latest Videos
MQ Market Updates - 2 August 2024
MQ Trader
Share this:
Apps
MQ Chat
Send individual or group chats with anyone on i3investor
MQ Trader
Earn MQ Points while trading with MQ Trader
Earn side income from Affiliate Program
MQdemy
Online learning and teaching marketplace
Top Articles
1
CEO Morning Brief
Sydney Home Prices Hit Record High, Melbourne Slips Again
Hot Stocks Today >
#
Stock
Score
1
SCG
Scentre Group
1000
2
BOQ
Bank of Queensland Limited
666
3
TCL
Transurban Group
666
4
AMI
Aurelia Metals Limited
666
5
LYC
Lynas Rare Earths Limited
666
7
DNK
Danakali Limited
666
8
BCI
BCI Minerals Limited
666
9
NWH
NRW Holdings Limited
666
Daily Stocks
- Active
- Gainers
- Losers
Stock
Last
Change
Volume
AWC
1.45
-0.025
206,210,866
NCM
23.35
-0.30
81,633,192
IHL
0.041
-0.005
61,360,016
CWL
0.037
+0.012
57,938,901
DW8
0.001
-0.001
54,465,024
BTR
0.017
+0.002
54,051,896
RED
0.36
-0.01
50,405,261
AVZ
0.78
-0.06
46,299,487
MHC
0.001
0.00
44,180,005
AME
0.058
+0.025
42,607,846
More active Stocks
Stock
Last
Change
Volume
SQ2
100.10
+4.86
799,156
BBOZ
28.31
+1.60
719,166
SZL
24.35
+1.25
32,948
NEM
76.20
+1.11
1,150,552
VIA
2.00
+1.00
52,236
IXJ
146.88
+0.78
11,724
PNI
17.14
+0.69
2,035,183
VBLD
68.63
+0.65
4,143
SNL
25.15
+0.45
26,438
AN3PI
104.75
+0.39
5,777
More gainer Stocks
Stock
Last
Change
Volume
SPY
826.55
-21.07
1,325
VTS
408.65
-10.80
17,887
IJR
175.59
-6.61
13,512
IHOO
170.03
-6.58
7,453
REA
197.95
-6.12
171,856
IJP
100.31
-6.10
53,604
COH
339.06
-5.51
138,319
CSL
305.67
-4.92
1,049,803
IOO
142.00
-4.76
36,261
XRO
135.61
-4.64
485,223
More loser Stocks
Top Brokers >
Books Review >
Ride The Bull Short The Bear
CS Tan
4.9 / 5.0
This book is the result of the author's many years of experience and observation throughout his 26 years in the stockbroking industry. It was written for general public to learn to invest based on facts and not on fantasies or hearsay....
Read More