// 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]; } }