// Arguments `p1`, `p2` - pointers in data array
function signaux( p1, p2 )
{
j = 1; //count steps
var points_qty = p2 - p1;
coefStepY_news = (SymexChartGlobals.max_[0] - SymexChartGlobals.min_[0]) / SymexChartGlobals.chart_height;
var listSignaux = "";
var value_ = "";
if($("#sIchi").is(':checked')){var sIchi = 1; value_ = "Ichimoku (signaux quotidiens), ";}else{var sIchi = 0;}
if($("#sIchiW").is(':checked')){var sIchiW = 1; value_ += "Ichimoku (signaux hebdomadaires), ";}else{var sIchiW = 0;}
if($("#sAro").is(':checked')){var sAro = 1; value_ += "Aroon (signaux quotidiens), ";} else{var sAro = 0;}
if($("#sAroW").is(':checked')){var sAroW = 1; value_ += "Aroon (signaux hebdomadaires), ";} else{var sAroW = 0;}
if($("#sAdl").is(':checked')){var sAdl = 1; value_ += "ADL (signaux quotidiens), ";} else{var sAdl = 0;}
if($("#sAdlW").is(':checked')){var sAdlW= 1; value_ += "ADL (signaux hebdomadaires), ";} else{var sAdlW = 0;}
if($("#sDmi").is(':checked')){var sDmi = 1; value_ += "DMI (signaux quotidiens), ";} else{var sDmi = 0;}
if($("#sDmiW").is(':checked')){var sDmiW = 1; value_ += "DMI (signaux hebdomadaires), ";} else{var sDmiW = 0;}
if($("#sFnk").is(':checked')){var sFnk = 1; value_ += "Finork (signaux quotidiens), ";} else{var sFnk = 0;}
if($("#sFnkW").is(':checked')){var sFnkW = 1; value_ += "Finork (signaux hebdomadaires), ";} else{var sFnkW = 0;}
if($("#sTvi").is(':checked')){var sTvi = 1; value_ += "trendvista, ";} else{var sTvi = 0;}
if($("#sGap").is(':checked')){var sGap = 1; value_ += "Gap (signaux quotidiens), ";} else{var sGap = 0;}
if($("#sGapW").is(':checked')){var sGapW = 1; value_ += "Gap (signaux hebdomadaires), ";} else{var sGapW = 0;}
if($("#sTurtle").is(':checked')){var sTurtle = 1; value_ += "Turtle soup (signaux quotidiens), ";} else{var sTurtle = 0;}
if($("#sTurtleW").is(':checked')){var sTurtleW = 1; value_ += "Turtle soup (signaux hebdomadaires), ";} else{var sTurtleW = 0;}
if($("#sKst").is(':checked')){var sKst = 1; value_ += "KST (signaux quotidiens), ";} else{var sKst = 0;}
if($("#sKstW").is(':checked')){var sKstW = 1; value_ += "KST (signaux hebdomadaires), ";} else{var sKstW = 0;}
if($("#sFcj").is(':checked')){var sFigure_ichi = 1; value_ += "Figures chandeliers japonais, ";} else{var sFigure_ichi = 0;}
var nb_value = value_.length-2
if(sIchi == 1 || sIchiW == 1 || sAro == 1 || sAroW == 1 || sAdl == 1 || sAdlW == 1 || sDmi == 1 || sDmiW == 1 || sFigure_ichi == 1 || sFnk == 1 || sFnkW == 1 || sGap == 1 || sGapW == 1 || sKst == 1 || sKstW == 1 || sTurtle == 1 || sTurtleW == 1 || sTvi == 1){
$.ajax({
method: "GET",
url: "cookie.php",
data: { signaux_sel: value_.substr(0,nb_value) }
})
createCookie("signaux_sel",value_.substr(0,nb_value),1)
}else{
$.ajax({
method: "GET",
url: "cookie.php",
data: { signaux_sel: ""}
})
eraseCookie("signaux_sel");
}
for( var i = eval(p1); i < eval(p2); i++ )
{
var val_key_ = [] ;
if ( data_signaux[i]) //if we have news in current date
{
Object.keys(data_signaux[i]).forEach(function(cle){
val_key_.push(cle);
});
for(var t = 0;t < val_key_.length;t++){
var val_key = val_key_[t];
if(data_signaux[i][val_key][2] == "mp"){
if(sFigure_ichi == 1){var figure_ichi = 1;}else{ var figure_ichi = 0;}
}else{
var figure_ichi = 0;
}
if((data_signaux[i][val_key][2] == "ichimoku" && sIchi && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "ichimoku" && sIchiW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "finork" && sFnk && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "finork" && sFnkW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "gap" && sGap && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "gap" && sGapW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "kst" && sKst && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "kst" && sKstW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "turtle" && sTurtle && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "turtle" && sTurtleW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "aroon" && sAro && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "aroon" && sAroW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "dmi" && sDmi && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "dmi" && sDmiW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "adl" && sAdl && data_signaux[i][val_key][4] == "daily") || (data_signaux[i][val_key][2] == "adl" && sAdlW && data_signaux[i][val_key][4] == "weekly") ||
(data_signaux[i][val_key][2] == "trendvista" && sTvi) ||
figure_ichi == 1){
// If for current date NO quotations (no dot is drawn on the curve)
// if ( !data_close_0[i] ) { j++; continue; }
// Create
element
var new_div = document.createElement("div");
if(data_signaux[i][val_key][5] > 0){
var triangleColor = "#2A894F";
}else{
var triangleColor = "#E80B1A";
}
//alert(SymexChartGlobals.period_view + " " +data_signaux[i][val_key][4]);
if(data_signaux[i][val_key][2] == "mp" && ((SymexChartGlobals.period_view == 'DView' && data_signaux[i][val_key][4] == "daily") || (SymexChartGlobals.period_view == 'WView' && data_signaux[i][val_key][4] == "weekly"))){
$( new_div ).css({
position: "absolute",
width: 0,
height: 0,
overflow: "hidden",
cursor: "pointer",
zIndex: 100,
});
}else{
$( new_div ).css({
position: "absolute",
width: 0,
height: 0,
overflow: "hidden",
cursor: "pointer",
zIndex: 100,
borderLeft: "5px solid transparent",
borderRight: "5px solid transparent",
borderTop: "10px solid " + triangleColor
});
}
// Add in document (or in a element)
document.getElementById('priceGraph').appendChild(new_div);
// Close value is needed because of `Y` position
var tmp_close = 0;
for (var i2 = i; i2 >= p1; i2--)
{
if(SymexChartGlobals.type_curve == "C"){
if ( data_close_0[i2] ) { tmp_close = data_close_0[i2]; break; }
}else if(SymexChartGlobals.type_curve == "K"){
if ( data_close_0[i2] ) { tmp_close = data_close_0[i2]; break; }
}else{
if ( data_high_0[i2] ) { tmp_close = data_high_0[i2]; break; }
}
}
// Set position
var pos = SymexChartGlobals.stepX * j - SymexChartGlobals.stepX-5; //5 => half of triangle image
stepY_news = (SymexChartGlobals.max_[0] - tmp_close) / coefStepY_news -20;//10px above the point
if(stepY_news < 0){
stepY_news = (SymexChartGlobals.max_[0] - data_low_0[i]) / coefStepY_news + 10;//10px above the point
}
// alert(pos+" = "+SymexChartGlobals.stepX+" * "+j+" - "+SymexChartGlobals.stepX);
if(data_signaux[i][val_key][2] == "mp" && ((SymexChartGlobals.period_view == 'DView' && data_signaux[i][val_key][4] == "daily") || (SymexChartGlobals.period_view == 'WView' && data_signaux[i][val_key][4] == "weekly"))){
var pos_2 = SymexChartGlobals.stepX * (j-(i2 - data_signaux[i][val_key][6])) - SymexChartGlobals.stepX ;
var high_ = array_max(data_high_0,data_signaux[i][val_key][6],(i2)) ;
var low_ = array_min(data_low_0,data_signaux[i][val_key][6],(i2))
var stepY_news_2 = (SymexChartGlobals.max_[0] - high_) / coefStepY_news
new_div.style.left = (pos_2 - (SymexChartGlobals.stepX/2)).toFixed(0)+ 'px'//(pos-5).toFixed(0) + 'px';
new_div.style.top = (stepY_news_2-5) + 'px';
new_div.style.width = (pos + (SymexChartGlobals.stepX*1.3) - pos_2) + "px" ;
new_div.style.height = (((high_ - low_) / coefStepY_news)+8) + "px";
new_div.className = " left_" + parseInt(pos)
if(data_signaux[i][val_key][5] > 0){
new_div.className += " rectangle_green";
}else{
new_div.className += " rectangle_red";
}
new_div.id = i;
var headline_title = SymexChartSettings.signaux [data_signaux[i][val_key][7]] ['title'];
var new_div2 = document.createElement("div");
document.getElementById('priceGraph').appendChild(new_div2);
new_div2.style.top = (stepY_news_2-5) + 'px';
// new_div2.style.left = (pos_2 - SymexChartGlobals.stepX+ pos + (SymexChartGlobals.stepX*1.3) - pos_2).toFixed(0)+ 'px';
new_div2.style.left = (pos + (SymexChartGlobals.stepX*0.5)).toFixed(0)+ 'px';
new_div2.className += "interrogation_pt";
new_div2.id = "interrogation_pt"+i;
$("#interrogation_pt"+i).html("
");
if(points_qty > 50){
$("#pt_"+i).css("font-size","10px") ;
}
}else{
new_div.style.left = pos.toFixed(0) + 'px';
new_div.style.top = stepY_news + 'px';
// Add left position in class
new_div.className = "left_" + parseInt(pos);
new_div.className += " triangle fa fa-map-marker";
// new_div.id = "triangle"+i;
//$("#triangle"+i).html('
');
//set id => equal to pos in data_news array !!!
new_div.id = i;
// $("#triangle"+i).html('
');
}
new_div.onmouseover = function()
{
val_key2_ = [];
Object.keys(data_signaux[this.id]).forEach(function(cle){
val_key2_.push(cle);
});
for(var r = 0;r < val_key2_.length;r++){
val_key = val_key2_[r];
if((val_key == "ichimoku" && sIchi == 0) && (val_key == "ichimoku" && sIchiW == 0)) continue;
if((val_key == "finork" && sFnk == 0) && (val_key == "finork" && sFnkW == 0)) continue;
if((val_key == "gap" && sGap == 0) && (val_key == "gap" && sGapW == 0)) continue;
if((val_key == "kst" && sKst == 0) && (val_key == "kst" && sKstW == 0)) continue;
if((val_key == "turtle" && sTurtle == 0) && (val_key == "turtle" && sTurtleW == 0)) continue;
if((val_key == "aroon" && sAro == 0) && (val_key == "aroon" && sAroW == 0)) continue;
if((val_key == "dmi" && sDmi == 0) && (val_key == "dmi" && sDmiW == 0)) continue;
if((val_key == "adl" && sAdl == 0) && (val_key == "adl" && sAdlW == 0)) continue;
if(val_key == "trendvista" && sTvi == 0) continue;
var headlineSize = parseInt( SymexChartGlobals.chart_width / 7.5 - 12 );
if(data_signaux[this.id][val_key][5] > 0){
var pointerColor = "#2A894F";
}else{
var pointerColor = "#E80B1A";
}
var headlinePointer = $( "
" ).css({
position: "absolute",
width: 0,
height: 0,
overflow: "hidden",
cursor: "pointer",
zIndex: 100,
borderTop: "5px solid transparent",
borderBottom: "5px solid transparent",
borderLeft: "10px solid " + pointerColor
});
var headline = headlinePointer.prop( "outerHTML" ) + " ";
headline += date_eu( data_signaux[this.id][val_key][3] ) + ": ";
if(data_signaux[this.id][val_key][2] == "mp"){
var name_signal = data_signaux[this.id][val_key][7];
}else{
var name_signal = data_signaux[this.id][val_key][2];
}
headline += short_headline( SymexChartSettings.signaux [name_signal] [data_signaux[this.id][val_key][5]] + " " + SymexChartSettings.signaux [data_signaux[this.id][val_key][4]] + "" , headlineSize );
//headline += href;
// alert(headline);
$("#news-info").css("left",($("#period_chart").width()+10));
document.getElementById( "news-info" ).innerHTML = headline;
}
};
new_div.onmouseout = function() {
document.getElementById( "news-info" ).innerHTML = " ";
};
}
}
}
j++;
}
}
/* This function must be customize according to the project! */
function go_signaux( newsID, newsType, fileName,dateNews )
{
// Type `communication` = `publeg` || `pubfi`
if ( newsType == "publeg" || newsType == "pubfi" ) {
var patt = new RegExp( "\.pdf", "i" );
if(dateNews.substr(0,4) <= 2010 && dateNews.substr(0,4) >= 2007){
var pdfUrl = "http://files.newscenter.webdisclosure.com/";
$.ajax({
type: "GET",
url: "http://62.72.101.119/charts5test4.symexbelgium.com/historical/php/check_url.php",
data: 'id=' + newsID + '&fileName=' + fileName + "&date="+dateNews,
success: function(result){
$("#res").val(result);
},
error: function(resultat, statut, erreur){
}
});
res = $("#res").val();
if(res == 1){
pdfUrl += newsID + "/" + fileName;
}else{
pdfUrl += dateNews.substr(0,4)+ "/" + newsID + "/" + fileName;
}
}else{
var pdfUrl = "http://files.newscenter.webdisclosure.com/" + newsID + "/" + fileName;
}
if ( patt.test( fileName ) == true ) {
//window.open( pdfUrl,'News',config='height=1000, width=900, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no' );
$("#popupBasic").css("visibility","visible");
$("#popupBasic").html("
");
}
else {
$.ajax({
type: "GET",
url: "http://62.72.101.119/charts5test4.symexbelgium.com/historical/php/newsTxt.php",
data : 'id=' + newsID + '&fileName=' + fileName + "&date="+dateNews,
success: function(result){
$("#popupBasic").css("overflow","scroll");
$("#popupBasic").css("height","650px");
$("#popupBasic").html("
"+result+"
");
},error: function(resultat, statut, erreur){
//$("#popupBasic").html(resultat+", "+statut+", "+erreur);
}
});
// top.location.href = SymexChartSettings.settings[1] + '?id=' + newsID
$("#popupBasic").css("visibility","visible");
// $("#popupBasic").html("
"+pdfUrl+"");
}
jQuery("#shut_btn_pop").bind("click",function(){
$("#popupBasic").html("");
jQuery("#popupBasic").css("visibility","hidden");
});
return;
}
else if ( newsType == "news" ) {
// No action !!!
return;
}
else if ( newsType == "actus" ) {
var url = typeof SymexChartSettings.settings[3] != "undefined" ? SymexChartSettings.settings[3] : "";
url += "/actu.html?id=" + newsID;
url += "&ticker=" + SymexChartGlobals.tickers.split( ";" )[0].split( "," )[0];
url += "&pays=" + SymexChartGlobals.tickers.split( ";" )[0].split( "," )[1];
top.location.href = url;
return;
}
else if ( newsType == "conseils" ) {
var url = typeof SymexChartSettings.settings[3] != "undefined" ? SymexChartSettings.settings[3] : "";
url += "/conseil.html?id=" + newsID;
url += "&ticker=" + SymexChartGlobals.tickers.split( ";" )[0].split( "," )[0];
url += "&pays=" + SymexChartGlobals.tickers.split( ";" )[0].split( "," )[1];
top.location.href = url;
return;
}
}
function short_headline(str, len)
{
if (str.length > len)
{
str = str.substring(0, len);
var a = str.split(' ');
if (a.length > 1) a.pop();
return a.join(' ') + '...';
}
else {
return str;
}
}
function array_prev_dot($arr, $p1, $p2, $curr)
{
for (var i = $p2; i > $p1; i--)
{
if ($arr[i]) return $arr[i];
}
}