1// æ§çã»æ°çã¨ãå¡ä¾ã®ç·ã ã3pxã«ãããæç»æ¸ã¿SVGãç´æ¥åç §ããã 2function nk225LegendLines(chart){ 3 var items=chart.legend&&chart.legend.allItems||[]; 4 for(var i=0;i<items.length;i++){ 5 var item=items[i],line=item.legendLine||(item.legendItem&&item.legendItem.line); 6 if(!line)continue; 7 if(!line.element||!line.element.getAttribute||line.element.getAttribute('stroke-width')!=='3')line.attr({'stroke-width':3}); 8 if(line.element&&line.element.style&&line.element.style.strokeWidth!=='3px')line.element.style.strokeWidth='3px'; 9 } 10} 11 12var changeInter=6; 13var pageName = ''; 14 15/* è¤åãã£ã¼ãã®éä¿¡ã»Socketã»åæç»ãä¸ãæã§ç®¡çããã */ 16var Sle=2,nkHGeneration=0,nkHRequests=[],nkHPagePaused=false,nkHNeedsReload=false; 17var nkHReadyMode=-1,nkHRetryCount=0,nkHFlushTimer=0,nkHPendingValues={},nkHMinSession=''; 18var nkHSeriesDirty=false,nkHMinSignature='',nkHLoadedAt=0; 19var nkHViewportActive=true; 20// ã¿ãçªå·ã«å¯¾å¿ããseriesé ãç§è¶³ã¨1æ¥ã§ã¯éæã³ã¼ãã並ã³ãç°ãªãã 21var nkHSeriesCodes={ 22 1:[781,111,136,751,211,731,762,796,791,1001], 23 2:[511,111,191,211,731,737,621,921,931,1001] 24}; 25// hs_TOP5.json ã® get_JSON_min_multi('7D',1,...) ã«æ¸¡ãã³ã¼ãé ã 26var nkHMinTop5Columns={511:1,111:2,191:3,211:4,731:5,737:6,621:7,921:8,931:9,1001:10}; 27function nkHCanUpdate(){ 28 return nkHViewportActive&&!nkHPagePaused&&!document.hidden&&navigator.onLine!==false&& 29 (typeof window.nkMarketUpdatesAllowed!=='function'||window.nkMarketUpdatesAllowed()); 30} 31function nkHChart(){try{return $('#container').highcharts()||null;}catch(e){return null;}} 32function nkHDestroyChart(){ 33 var chart=nkHChart(); 34 if(chart){ 35 if(chart._nkHRangeTimer)clearTimeout(chart._nkHRangeTimer); 36 if(chart._nkHSeriesTimer)clearTimeout(chart._nkHSeriesTimer); 37 } 38 nkHShortDestroyLabels(chart); 39 if(chart)try{chart.destroy();}catch(e){} 40} 41function nkHDisconnect(){ 42 var socket=Socket;Socket=null; 43 if(socket){ 44 if(typeof socket.removeAllListeners==='function')socket.removeAllListeners(); 45 if(typeof socket.disconnect==='function')socket.disconnect(); 46 } 47} 48function nkHStop(){ 49 nkHGeneration++; 50 var chart=nkHChart(); 51 if(chart&&chart._nkHShortExpiryTimer){clearTimeout(chart._nkHShortExpiryTimer);chart._nkHShortExpiryTimer=null;} 52 if(TimerHSmin){clearTimeout(TimerHSmin);TimerHSmin=null;} 53 if(nkHFlushTimer){clearTimeout(nkHFlushTimer);nkHFlushTimer=0;} 54 nkHPendingValues={};nkHSeriesDirty=false;nkHNeedsReload=true; 55 nkHDisconnect(); 56 var requests=nkHRequests.slice();nkHRequests.length=0; 57 for(var i=0;i<requests.length;i++)try{requests[i].abort();}catch(e){} 58} 59function nkHSchedule(){ 60 if(TimerHSmin){clearTimeout(TimerHSmin);TimerHSmin=null;} 61 if(!nkHCanUpdate()||nkHRequests.length)return; 62 var ready=nkHReadyMode===Sle&&!!nkHChart(); 63 if(ready&&Sle===1)return; // ç§è¶³ã¯Socketã ããå©ç¨ãã 64 var delay=ready?(Sle===2?Math.max(1,Number(changeInter)||6)*10000:Math.max(1000,36e5-(Date.now()-nkHLoadedAt))):Math.min(30000,5000*Math.pow(2,Math.min(nkHRetryCount++,3))); 65 var generation=nkHGeneration; 66 TimerHSmin=setTimeout(function(){ 67 TimerHSmin=null; 68 if(generation!==nkHGeneration||!nkHCanUpdate())return; 69 if(nkHReadyMode===2&&Sle===2)inter_min();else nkHLoadSelected(); 70 },delay); 71} 72function nkHCopyPoints(data){ 73 if(!Array.isArray(data))return []; 74 return data.map(function(point){return Array.isArray(point)?point.slice():point;}); 75} 76// Cookieã®æéçªå·ã¯æ°å¤ã§æ¸¡ããæååã®ã¾ã¾ã ã¨åããã¿ã³ãå鏿ãã¦ãã¾ãã 77function nkHRangeIndex(value,fallback,count){ 78 var index=Number(value); 79 return value!==null&&String(value).trim()!==''&&isFinite(index)&&index%1===0&&index>=0&&index<count?index:fallback; 80} 81// 伿¥ã§çµå¤ããªãæ¥ãã表示çµç«¯ããå¾ã®çµå¤ã«ã¯è£å©ç·ãä½ããªãã 82// Highstockã®dataGroupingã«ã¯ãæå»ãå¿ ãæé ã®ç¹åãæ¸¡ãã 83function nkHCloseLine(times,values,index,endTime){ 84 var start=Number(times[index]),value=Number(values[index]); 85 var next=Number(times[index+1]),end=isFinite(next)?next:Number(endTime); 86 if(!isFinite(start)||!isFinite(value)||!isFinite(end)||end<=start)return []; 87 return [[start,value],[start+(end-start)/2,value],[start+(end-start)*2/3,value],[end,value]]; 88} 89// èªå追å¾ã§ã¯éç´è¨å®ãè§£é¤ããªããè§£é¤ããã¨æ§Highstockã§ç¹ãäºéç ´æ£ãããã 90// 忥ã®é表示åºéã«å±ããæå»ã§ã¯ã表示ç¯å²ãããããæ¬¡ã®å弿éãå¾ ã¤ã 91function nkHFollowLatest(chart,time,previousDataMax){ 92 var axis=chart&&chart.xAxis&&chart.xAxis[0]; 93 if(!axis||!isFinite(time))return false;
94 if(typeof axis.isInAnyBreak==='function'&&axis.isInAnyBreak(time))return false; 95 var ex=axis.getExtremes(),min=Number(ex.userMin),max=Number(ex.userMax); 96 // éå»ã¸ãã³ãã表示ã¯ãæ´æ°ã§åæã«ææ°ã¸æ»ããªãã 97 if(isFinite(previousDataMax)&&max<previousDataMax-30*60000)return false; 98 if(isFinite(min)&&isFinite(max)&&max>min&&time>max){ 99 var newMin=time-(max-min); 100 // 鱿«ã® break ãã¾ããã¨ãããç»é¢ä¸ã®è¡¨ç¤ºå¹ ãä¿ã£ã¦è¿½å¾ããã 101 if(typeof axis.val2lin==='function'&&typeof axis.lin2val==='function'){ 102 var linearMin=axis.val2lin(min),linearMax=axis.val2lin(max),linearTime=axis.val2lin(time); 103 var breakMin=axis.lin2val(linearTime-(linearMax-linearMin)); 104 if(isFinite(breakMin))newMin=breakMin; 105 } 106 axis.setExtremes(newMin,time,false,false,{trigger:'updatedData'}); 107 return true; 108 } 109 return false; 110} 111function nkHGuard(fn){ 112 var generation=nkHGeneration,mode=Sle; 113 return function(){ 114 if(generation!==nkHGeneration||mode!==Sle||!nkHCanUpdate())return; 115 try{return fn.apply(this,arguments);} 116 catch(error){if(window.console&&console.error)console.error('composite chart update',error);} 117 }; 118} 119// æ§ãã¼ã¿é ä¿¡ã¯JSå½¢å¼ãå®è¡ç´å¾ã«å°ç¨ã³ãã¼ãåããä»ã®ãã£ã¼ãã®Sxxxé åã«ä¾åããªãã 120function nkHAjax(options){ 121 var generation=nkHGeneration,mode=Sle; 122 if(!nkHCanUpdate())return $.Deferred().reject(null,'stopped').promise(); 123 if(TimerHSmin){clearTimeout(TimerHSmin);TimerHSmin=null;} 124 if(!options.timeout)options.timeout=12000; 125 if(typeof options.cache==='undefined')options.cache=true; 126 var request=$.ajax(options); 127 nkHRequests.push(request); 128 var rawDone=request.done,rawFail=request.fail; 129 rawDone.call(request,function(){ 130 if(generation!==nkHGeneration||mode!==Sle||!nkHCanUpdate())return; 131 var names=[],match=String(options.url||'').match(/\/(S\d+)\.json(?:\?|$)/); 132 if(match)names=[match[1]]; 133 else if(/\/hs_top\.json(?:\?|$)/.test(String(options.url||'')))names=nkHSeriesCodes[1].map(function(C){return 'S'+C;}); 134 else if(String(options.url).indexOf('hs_nk_s3')>=0)names=['S511','S111','S136','S191','S413','S732','S211','S731','S921','S1001']; 135 else names=['DATAm']; 136 request.nkHValues={}; 137 for(var i=0;i<names.length;
137i++)request.nkHValues[names[i]]=nkHCopyPoints(window[names[i]]); 138 }); 139 request.always(function(){ 140 var index=nkHRequests.indexOf(request);if(index>=0)nkHRequests.splice(index,1); 141 if(generation===nkHGeneration)nkHSchedule(); 142 }); 143 function guard(fn){return function(){ 144 if(generation!==nkHGeneration||mode!==Sle||!nkHCanUpdate())return; 145 try{return fn.apply(this,arguments);} 146 catch(error){if(window.console&&console.error)console.error('composite chart update',error);} 147 };} 148 request.done=function(fn){if(typeof fn==='function')rawDone.call(request,guard(fn));return request;}; 149 request.fail=function(fn){if(typeof fn==='function')rawFail.call(request,guard(fn));return request;}; 150 return request; 151} 152function nkHLoadSelected(){ 153 if(!nkHCanUpdate()||nkHRequests.length)return; 154 if(Sle===1)sec_create_chart(); 155 else if(Sle===2)min_create_chart(); 156 else if(Sle===3)day_create_chart(); 157 else if(Sle===4)per_create_chart(); 158} 159function nkHChartLoaded(){ 160 var chart=nkHChart();if(!chart)return; 161 chart._nkHMode=Sle;nkHReadyMode=Sle;nkHLoadedAt=Date.now();nkHRetryCount=0;nkHNeedsReload=false; 162 if(nkHCanUpdate()&&Sle<3&&!Socket&&typeof io==='function'){ 163 var generation=nkHGeneration; 164 Socket=io('wss://wss2.nikkei225jp.com?node=ch225',{path:'/socket.io/',rememberTransport:false,transports:['websocket']}); 165 Socket.on('tick',function(data){ 166 if(generation!==nkHGeneration||!nkHCanUpdate()||nkHReadyMode!==Sle)return; 167 try{if(Sle===1)socket_sec(data);else if(data&&data.length>=3)nkHQueueDraw(Number(data[0]),Number(String(data[2]).replace(/,/g,'')),false,Number(data[1]));} 168 catch(error){if(window.console&&console.error)console.error('composite socket tick',error);} 169 }); 170 } 171 nkHSchedule(); 172} 173function nkHResume(){ 174 if(!nkHCanUpdate()||!nkHNeedsReload)return; 175 var chart=nkHChart(); 176 // åè¶³ã¯ä¼æ¢ä¸ã®ç¹åã ãååå¾ããæ¢åã®è¡¨ç¤ºç¯å²ã»å¡ä¾ãä¿æããã 177 if(chart&&chart._nkHMode===Sle&&nkHReadyMode===Sle){ 178 if(Sle===2){nkHChartLoaded();nkHShortRenderLabels(chart,'min');inter_min();return;} 179 // æ¥è¶³ã»%表示ã®åããã¼ã¿ããã¿ã復帰ã®ãã³ã«å使ããªãã 180 if(Sle>2&&Date.now()-nkHLoadedAt<36e5){nkHNeedsReload=false;nkHSchedule();return;} 181 } 182 dispHS(Sle,'resume'); 183} 184document.addEventListener('visibilitychange',function(){if(document.hidden)nkHStop();else nkHResume();}); 185window.addEventListener('offline',nkHStop); 186window.addEventListener('online',nkHResume); 187window.addEventListener('pagehide',function(){nkHPagePaused=true;nkHStop();}); 188window.addEventListener('pageshow',function(){nkHPagePaused=false;nkHResume();}); 189window.addEventListener('marketupdatesstop',nkHStop); 190window.addEventListener('marketclockchange',function(){if(nkHCanUpdate())dispHS(Sle,'clock');else nkHNeedsReload=true;}); 191// ç»é¢å¤ã§ã¯éä¿¡ã»Socketã»ã¿ã¤ãã¼ãæ¢ããã表示ç´åã«åéããåè¶³ã¯æ¢åãã£ã¼ãã«å·®åãåæ ããã 192function nkHObserveViewport(){ 193 if(typeof IntersectionObserver!=='function')return; 194 var target=document.getElementById('container'); 195 if(!target)return; 196 var rect=target.getBoundingClientRect(),height=window.innerHeight||document.documentElement.clientHeight; 197 var width=window.innerWidth||document.documentElement.clientWidth; 198 nkHViewportActive=rect.bottom>=-250&&rect.top<=height+250&&rect.right>=0&&rect.left<=width; 199 var observer=new IntersectionObserver(function(entries){ 200 for(var i=0;i<entries.length;i++){ 201 if(entries[i].target!==target)continue; 202 var active=entries[i].isIntersecting; 203 if(active===nkHViewportActive)continue; 204 nkHViewportActive=active; 205 if(active)nkHResume();else nkHStop(); 206 } 207 },{rootMargin:'250px 0px'}); 208 observer.observe(target); 209} 210// çæã®ãã£ãã¯ç¹æ°ãæéçªï¼ä¸éã§å¶éãåãç§ã®äºé追å ãéè¡æå»ã¯è¿½å ããªãã 211function nkHSocketPoint(data,mode){ 212 if(!nkHCanUpdate()||Sle!==mode||!data||data.length<3)return; 213 var codes=nkHSeriesCodes[mode]||[],C=Number(data[0]),index=codes.indexOf(C); 214 var T=Math.floor(Number(data[1])/1000)*1000,V=Number(String(data[2]).replace(/,/g,'')); 215 var chart=nkHChart(); 216 if(index<0||!isFinite(T)||T<=0||!isFinite(V)||V<=0||!chart||chart._nkHMode!==mode||!chart.series)return; 217 var series=mode===2?chart.get('nkH-min-'+C):chart.series[index];
218 if(!series)return; 219 var previousDataMax=chart.xAxis&&chart.xAxis[0]?Number(chart.xAxis[0].getExtremes().dataMax):NaN; 220 var changed=false,xs=(series.getColumn?series.getColumn('x'):series.xData)||[],ys=(series.getColumn?series.getColumn('y'):series.yData)||[],last=xs.length?Number(xs[xs.length-1]):-Infinity; 221 if(T>last){ 222 changed=true; 223 // ç§è¶³ã ãã6æéã«çµãã1æ¥ã¯7Dã¾ã§ã®å±¥æ´ãç¶æããä¸éç¹æ°ã ãå¶éããã 224 var cutoff=mode===1?Math.max(Date.now(),T)-6*61*60000:-Infinity,maxPoints=24000; 225 var low=0,high=xs.length; 226 while(low<high){var mid=(low+high)>>1;if(Number(xs[mid])<cutoff)low=mid+1;else high=mid;} 227 var drop=Math.max(low,xs.length+1-maxPoints); 228 if(drop>1){ 229 var points=[];for(var i=drop;i<xs.length;i++)points.push([xs[i],ys[i]]); 230 points.push([T,V]);series.setData(points,false,false,false); 231 }else series.addPoint([T,V],false,drop===1,false); 232 nkHFollowLatest(chart,T,previousDataMax); 233 }else if(T===last&&Number(ys[ys.length-1])!==V){ 234 changed=true; 235 var point=series.data&&series.data[xs.length-1]; 236 if(point&&typeof point.update==='function')point.update([T,V],false,false); 237 else if(Number(ys[ys.length-1])!==V){ 238 var points=[];for(var j=0;j<xs.length-1;j++)points.push([xs[j],ys[j]]); 239 points.push([T,V]);series.setData(points,false,false,false); 240 } 241 } 242 if(T>=last)nkHQueueDraw(C,V,changed,T); 243} 244function nkHQueueDraw(C,V,seriesDirty,T){ 245 if(!nkHCanUpdate()||!isFinite(V))return; 246 if((nkHSeriesCodes[Sle]||[]).indexOf(C)<0)return; 247 nkHPendingValues[C]={value:V,time:T}; 248 if(seriesDirty)nkHSeriesDirty=true; 249 if(nkHFlushTimer)return; 250 var generation=nkHGeneration; 251 nkHFlushTimer=setTimeout(function(){ 252 nkHFlushTimer=0; 253 var pending=nkHPendingValues,needsRedraw=nkHSeriesDirty;nkHPendingValues={};nkHSeriesDirty=false; 254 if(generation!==nkHGeneration||!nkHCanUpdate())return; 255 var chart=nkHChart();if(!chart||chart._nkHMode!==Sle)return; 256 // Socketã®ç¾å¤ãå ã«ä¿åããç¹åã«å¤æ´ãããã°åæç»ã§æ ãæ´æ°ããã 257 for(var C in pending)if(Object.prototype.hasOwnProperty.call(pending,C))renderVal(Number(C),pending[C].value,true,pending[C].time); 258 if(needsRedraw)chart.redraw(false); 259 else if(Sle===2)nkHShortRenderLabels(chart,'min'); 260 },100); 261} 262function nkHSessionKey(data){ 263 if(!data||!data.length)return ''; 264 var first=Number(data[0][0]),last=first; 265 for(var i=1;i<data.length;i++)last+=Number(data[i][0])*10000; 266 var nyOffset=(-5+NY_stF)*36e5; 267 return [Math.floor((first+9*36e5)/864e5),Math.floor((last+9*36e5)/864e5),Math.floor((first+nyOffset)/864e5),Math.floor((last+nyOffset)/864e5),NY_stF,EU_stF,weekEnd?1:0].join('|'); 268} 269 270// æéCookieã¯ãåæç»ãçºçããããã£ã¼ãèªèº«ããä¿åãã 271function setHchartRangeCookie(t,chart){ 272 if(!chart || chart!==nkHChart() || !chart.rangeSelector){return;} 273 var rSel=chart.rangeSelector.selected; 274 if(rSel !==null && typeof rSel!='undefined'&&chart._nkHStoredRange!==rSel){mySetCookie("TOP225_"+t+"R",rSel,365);chart._nkHStoredRange=rSel;} 275} 276 277// redrawã®å¾ã«rangeSelector.selectedãæ´æ°ããããããæ´æ°å®äºå¾ã«ä¿åãã 278// ãã£ã¼ãèªèº«ãä¿æãããã¨ã§ãç»é¢åæ¿å¾ã®å¥ãã£ã¼ãã誤ä¿åããªã 279function setHchartRangeCookieAfterRedraw(t,chart){ 280 if(!chart||chart._nkHRangeTimer||!chart.rangeSelector||chart._nkHStoredRange===chart.rangeSelector.selected)return; 281 chart._nkHRangeTimer=setTimeout(function(){chart._nkHRangeTimer=0;setHchartRangeCookie(t,chart);},100); 282} 283 284// 表示éæCookieã¯ãå¡ä¾ãæä½ããæã ãä¿åãã 285function setHchartSeriesCookie(t,chart){ 286 if(!chart || chart!==nkHChart() || !chart.legend || !chart.legend.allItems){return;} 287 var sList=[]; 288 if(t==='min'){ 289 // å¡ä¾ã®è¡¨ç¤ºé ãå¤ãã£ã¦ããCookieã¯éæã³ã¼ãé ã«åºå®ããã 290 for(var i=0;i<nkHSeriesCodes[2].length;i++){ 291 var series=chart.get('nkH-min-'+nkHSeriesCodes[2][i]); 292 sList.push(Number(!!series&&series.visible)+""); 293 } 294 }else for(var j=0;j<chart.legend.allItems.length;j++){sList.push(Number(chart.legend.allItems[j].visible)+"");} 295 var value=sList.join("_");if(chart._nkHStoredSeries!==value){mySetCookie("TOP225_"+t+"S",value,365);chart._nkHStoredSeries=value;} 296} 297 298// legendItemClickã¯è¡¨ç¤ºåæ¿åã«çºçãããããåæ¿å®äºå¾ã«ä¿åãã 299function setHchartSeriesCookieAfterClick(t,series){ 300 if(!series || !series.chart){return;} 301 var chart=series.chart; 302 if(chart._nkHSeriesTimer)clearTimeout(chart._nkHSeriesTimer); 303 chart._nkHSeriesTimer=setTimeout(function(){chart._nkHSeriesTimer=0;
303setHchartSeriesCookie(t,chart);},0); 304} 305 306var colHS111='rgba(255,0,0,1)'; 307var colHS191='rgba(255,150,50,1)'; 308var colHS136='rgba(255,160,205,1)'; 309var colHS321='rgba(255,160,205,1)'; 310var colHS413='rgba(55,165,10,1)'; 311var colHS732='rgba(170,190,10,1)'; 312var colHS211='rgba(0,50,255,1)'; 313var colHS731='rgba(50,150,255,1)'; 314var colHS737='rgba(180,120,255,1)'; 315var colHS621='rgba(40,0,130,.6)'; 316var colHS921='rgba(100,175,150,1)'; 317var colHS931='rgba(190,135,45,1)'; 318var colHS1001='rgba(220,180,80,1)'; 319// ç§è¶³ã¿ãã®DEXéæã¯ããã®ãã¡ã¤ã«ã ãã§è²ã解決ããã 320var colHS751='rgba(255,150,50,1)'; 321var colHS762='rgba(255, 120, 180, 1)'; 322var colHS762=colHS737; 323var colHS791=colHS931; 324var colHS796=colHS921; 325 326function renderVal(C,V,skipRender,T){ 327 if(Sle!==2)return; 328 var chart=nkHChart();C=Number(C);V=Number(V); 329 if(!chart||chart._nkHMode!==2||nkHSeriesCodes[2].indexOf(C)<0||!isFinite(V))return; 330 // Socketã®å¤ãç³»åã®åæç»åã«å±ãã¦ããç¾å¤æ ã ãã¯ææ°ã®ä¾¡æ ¼ã«è¿½å¾ãããã 331 if(!chart._nkHCurrentValues)chart._nkHCurrentValues={}; 332 if(!chart._nkHCurrentTimes)chart._nkHCurrentTimes={}; 333 chart._nkHCurrentValues[C]=V; 334 chart._nkHCurrentTimes[C]=isFinite(Number(T))&&Number(T)>0?Number(T):Date.now(); 335 if(!skipRender)nkHShortRenderLabels(chart,'min'); 336} 337 338var Socket,TimerHSmin; 339// å¡ä¾ã ãã§åå¼ç¨®å¥ã70%ã«ãããæ¢åã®spanæå®ã¯éããã«æ´ããã 340function nkHShortLegendLabelFormatter(){ 341 var legend=this.chart&&this.chart.options.legend; 342 var fontSize=parseFloat(legend&&legend.itemStyle&&legend.itemStyle.fontSize)||12; 343 var name=String(this.name||'').replace(/<[^>]*>/g,''); 344 name=name.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); 345 // å¤ãHighstockã§ãå¾ç¶ã®éæåã«ç¸®å°ãå¼ãç¶ãããªããããé常ãµã¤ãºãæç¤ºããã 346 var normalSpan='<span style="font-size:'+fontSize+'px">'; 347 return normalSpan+name.replace(/(^|[^A-Za-z0-9_])(DEX|CFD|OSE|CME|Sun\.)(?=$|[^A-Za-z0-9_])/g,function(all,before,word){ 348 return before+'</span><span style="font-size:'+(fontSize*0.70)+'px">'+word+'</span>'+normalSpan; 349 })+'</span>'; 350} 351 352// å³ä½ç½ã«ç¾å¤æ ãåããç®çãã¯ä½ç½ã®ä¸å¤®ä»è¿ã§å³å¯ãããã 353var nkHShortMargin=64; 354var nkHShortLabelWidth=58; 355var nkHShortScaleOffset=54; 356var nkHShortLabelFontSize=15; 357var nkHShortLabelFreshAge=60*60*1000; 358// ã¹ããã»ã¿ãã¬ããã¯SVGå ¨ä½ã横縮å°ããã¹ã¯ããã表示ã®iPadãMacç³»UAï¼è¤æ°ã¿ããã§å¤å®ã 359var nkHShortTouchDevice=!!(navigator.userAgentData&&navigator.userAgentData.mobile)|| 360 /iPad|iPhone|iPod|Android|Windows Phone/i.test(navigator.userAgent||'')|| 361 (/Macintosh|MacIntel/i.test((navigator.userAgent||'')+' '+(navigator.platform||''))&&Number(navigator.maxTouchPoints)>1); 362var nkHShortHistoricalCodes={ 363 day:[111,321,413,211,511,514,621,921,931,1001], 364 per:[111,321,413,211,511,514,921,931,1001] 365}; 366 367// ç§è¶³ã®åéæã®ç¾å¤ããæç»æ¸ã¿ã®è»¸ã¨åã座æ¨ã§è¡¨ç¤ºããã 368// çãã¼ã¿ã®æ«å°¾ã使ãããã¼ã¿ã°ã«ã¼ãã³ã°ã®å¹³åå¤ãç¾å¤ã«ããªãã 369function nkHShortLastPoint(series){ 370 var xs=series.getColumn?series.getColumn('x'):series.xData; 371 var ys=series.getColumn?series.getColumn('y'):series.yData; 372 if(!xs||!ys)return null; 373 for(var i=Math.min(xs.length,ys.length)-1;i>=0;i--){ 374 if(xs[i]!==null&&ys[i]!==null&&isFinite(xs[i])&&isFinite(ys[i])){ 375 return {x:Number(xs[i]),y:Number(ys[i])}; 376 } 377 } 378 return null; 379} 380 381// ç½ã¨æ··ããä¸éæè²ãèæ¯ã®ç·ãç®çããæåã«éããªãããã«ããã 382function nkHShortTint(color,ratio){ 383 var rgb=String(color).match(/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i); 384 var hex=String(color).match(/^#([\da-f]{3}|[\da-f]{6})$/i); 385 if(!rgb&&hex){ 386 var h=hex[1]; 387 if(h.length===3)h=h.replace(/./g,function(c){return c+c;}); 388 rgb=[null,parseInt(h.substr(0,2),16),parseInt(h.substr(2,2),16),parseInt(h.substr(4,2),16)]; 389 } 390 if(!rgb)return ratio<0.5?'#f0f0f0':'#999999'; 391 return 'rgb('+[1,2,3].map(function(i){return Math.round(255+(Number(rgb[i])-255)*ratio);}).join(',')+')'; 392} 393 394// ç¾å¤ã»å·¦ä¸ã®ä¾¡æ ¼ã¯å ±éã®ç¸®å°ã«ã¼ã«ãææ°ã»GOLDã¯å°æ°å ¨ä½ããã«åã¯3æ¡ç®ä»¥éã縮å°ã 395// BTCã¯æ´æ°ãåæ²¹ã»VIXã»æ¥è¶³ã®çºæ¿ã¯å°æ°ãé常ãµã¤ãºã 396function nkHShortCurrentText(item,fontSize){ 397 var numericCode=Number(item.numericCode); 398 var oil=numericCode===796||numericCode===921; 399 var bitcoin=numericCode===1001; 400 var usdJpy=numericCode===511||numericCode===781; 401 var fullDecimals=numericCode===621||item.daily&&(numericCode===511||numericCode===514); 402 var index=[111,136,751,211,731,762,191,413,732,737,621,321].indexOf(numericCode)>=0; 403 if(item.percent){ 404 var sign=item.value>0?'+':item.value<0?'â':''; 405 var percent=Highcharts.numberFormat(Math.abs(item.value),2,'.',',').split('.'); 406 if(usdJpy&&percent.length>1)return sign+percent[0]+'.'+percent[1].charAt(0)+ 407 '<span style="font-size:'+(fontSize/2)+'px">'+percent[1].slice(1)+'</span>%'; 408 return sign+percent[0]+'<span style="font-size:'+(fontSize/2)+'px">.'+percent[1]+'</span>%'; 409 } 410 var decimals=item.series.options.tooltip.valueDecimals; 411 if(typeof decimals!=='number')decimals=2; 412 if(index||oil)decimals=2; 413 if(bitcoin)decimals=0; 414 if(item.minute&&numericCode===511)decimals=3; 415 var parts=Highcharts.numberFormat(item.value,decimals,'.',',').split('.'); 416 if(oil||fullDecimals)return parts.join('.'); 417 var main=parts[0],small=''; 418 if(parts.length>1){ 419 // if(usdJpy){main+='.'+parts[1].charAt(0);small=parts[1].slice(1);} 420 if(usdJpy){main+='.'+parts[1].slice(0,2);small=parts[1].slice(2);} 421 else small='.'+parts[1]; 422 } 423 return main+(small?'<span style="font-size:'+(fontSize/1.5)+'px">
423'+small+'</span>':''); 424} 425 426// å·¦ä¸ã®ä¾¡æ ¼ã«ãç¾å¤æ ã¨åãæ¡æ°ã»ç¸®å°å¯¾è±¡ã»ç¸®å°çã使ãã%ã¿ãã徿¥ã©ããä¾¡æ ¼ã表示ã 427function nkHShortTooltipPointFormatter(){ 428 var series=this.series,chart=series.chart,mode=chart._nkHCurrentMode||'sec'; 429 var codes=nkHShortHistoricalCodes[mode]||[]; 430 var numericCode=Number(series.options.nkHMinCode||series.options.nkHShortCode||codes[chart.series.indexOf(series)]); 431 var value=nkHShortCurrentText({numericCode:numericCode,series:series,value:this.y, 432 minute:mode==='min',daily:mode==='day'||mode==='per'},14); 433 return ' <span style="background:#fff;font-size:14px;color:'+series.color+'">'+series.name+ 434 '</span><span style="background:#fff;font-size:14px;color:#111"> : <b>'+value+'</b></span>'; 435} 436 437function nkHShortDestroyLabels(chart){ 438 if(chart&&chart._nkHShortExpiryTimer){clearTimeout(chart._nkHShortExpiryTimer);chart._nkHShortExpiryTimer=null;} 439 var state=chart&&chart._nkHShortLabels; 440 if(!state)return; 441 Object.keys(state.badges).forEach(function(key){ 442 var badge=state.badges[key]; 443 badge.glowOuter.destroy();badge.glowInner.destroy();badge.box.destroy();badge.text.destroy();badge.group.destroy(); 444 }); 445 state.group.destroy(); 446 chart._nkHShortLabels=null; 447} 448 449// ã©ã¤ã³ã®ããã¼ã¨ç¾å¤æ ã®éãªãé ãé£åãããã 450// æ ã»æåãåãã°ã«ã¼ãã§åé¢ã¸ç§»ããå¤ããæã¯å ã®é ã«æ»ãã 451function nkHShortUpdateLabelZIndex(chart){ 452 var state=chart&&chart._nkHShortLabels; 453 if(!state)return; 454 Object.keys(state.badges).forEach(function(code){ 455 var badge=state.badges[code]; 456 badge.group.attr({zIndex:chart._nkHShortHoverCode===code?1000:badge.baseZIndex}); 457 }); 458} 459function nkHShortHoverLabel(series,hovered){ 460 if(!series||!series.chart)return; 461 var chart=series.chart,code=series.options.nkHShortCode; 462 var index=chart.series.indexOf(series); 463 if(chart._nkHCurrentMode==='min'&&!series.options.nkHMinCode)return; 464 if(!code&&chart._nkHCurrentMode)code=chart._nkHCurrentMode+'-'+index; 465 if(!code)return; 466 code=String(code); 467 if(hovered)chart._nkHShortHoverCode=code; 468 else if(chart._nkHShortHoverCode===code)chart._nkHShortHoverCode=null; 469 nkHShortUpdateLabelZIndex(chart); 470} 471 472function nkHShortRenderLabels(chart,mode){ 473 if(!nkHCanUpdate()||!chart||!chart.renderer||!chart.series||!chart.plotHeight)return; 474 if(chart._nkHShortExpiryTimer){clearTimeout(chart._nkHShortExpiryTimer);chart._nkHShortExpiryTimer=null;} 475 var percent=mode==='per',daily=mode==='day',minute=mode==='min',historical=percent||daily||minute; 476 var dailyCodes=nkHShortHistoricalCodes.day; 477 var percentCodes=nkHShortHistoricalCodes.per; 478 var items=[],i,series,point,code,now=Date.now(),nextExpiry=Infinity; 479 var tip=chart.plotLeft+chart.plotWidth+2,left=tip+5,right=tip+nkHShortLabelWidth; 480 for(i=0;i<chart.series.length;i++){ 481 series=chart.series[i]; 482 if(minute&&!series.options.nkHMinCode)continue; // çµå¤ã®ç¹ç·ã¯ç¾å¤æ ãæããªãã 483 code=minute?series.options.nkHShortCode:historical?mode+'-'+i:series.options.nkHShortCode; 484 if(!code||!series.visible||!series.yAxis)continue; 485 var stale=false; 486 if(percent){ 487 var points=series.points||[]; 488 point=null; 489 for(var j=points.length-1;j>=0;j--){ 490 if(typeof points[j].plotY==='number'&&isFinite(points[j].plotY)&& 491 typeof points[j].y==='number'&&isFinite(points[j].y)){ 492 point=points[j];break; 493 } 494 } 495 if(!point)continue; 496 // Highstockã®compare:'percent'ãè¨ç®ããå¤ã使ãããºã¼ã æãåºæºãåãããã 497 var y=series.yAxis.pos+point.plotY; 498 var change=typeof point.change==='number'?point.change:series.yAxis.toValue(y); 499 if(!isFinite(change))continue; 500 point={x:point.x,y:change}; 501 }else{ 502 point=nkHShortLastPoint(series); 503 if(!point)continue; 504 var numericCode=minute?Number(series.options.nkHMinCode):daily?dailyCodes[i]:code; 505 var liveValue=minute&&chart._nkHCurrentValues&& 506 Object.prototype.hasOwnProperty.call(chart._nkHCurrentValues,numericCode); 507 if(liveValue){ 508 point={x:chart._nkHCurrentTimes&&chart._nkHCurrentTimes[numericCode]||point.x, 509 y:chart._nkHCurrentValues[numericCode]}; 510 } 511 stale=(minute||!historical)&&now-point.x>
511=nkHShortLabelFreshAge; 512 if((minute||!historical)&&!stale)nextExpiry=Math.min(nextExpiry,point.x+nkHShortLabelFreshAge); 513 var y=series.yAxis.toPixels(point.y); 514 if(minute&&!liveValue&&series.points&&series.points.length){ 515 // éç´å¾ã®çµç¹ãç¾å¤ã¨åããªããå®éã«æç»ããã座æ¨ã¸æããã 516 var lastDrawn=series.points[series.points.length-1]; 517 if(lastDrawn&&typeof lastDrawn.y==='number'&&isFinite(lastDrawn.plotY)&& 518 Math.abs(lastDrawn.y-point.y)<0.000001)y=series.yAxis.pos+lastDrawn.plotY; 519 } 520 } 521 if(!isFinite(y))continue; 522 items.push({code:code,numericCode:minute?Number(series.options.nkHMinCode):daily?dailyCodes[i]:percent?percentCodes[i]:code, 523 series:series,value:point.y,anchorY:y,percent:percent,minute:minute,daily:daily,stale:!!stale}); 524 } 525 if(!items.length){nkHShortDestroyLabels(chart);return;} 526 var state=chart._nkHShortLabels; 527 if(!state){ 528 state=chart._nkHShortLabels={badges:{},group:chart.renderer.g('nk-short-current-values') 529 .attr({zIndex:7}).css({pointerEvents:'none'}).add()}; 530 } 531 var active={},fontSize=nkHShortLabelFontSize; 532 for(i=0;i<items.length;i++){ 533 var item=items[i],badge=state.badges[item.code]; 534 active[item.code]=true; 535 if(!badge){ 536 // æ ã¨æåãä¸çµã«ããéãªã£ãæã¯èé¢ã®æåãæ ã§é ãã 537 var group=chart.renderer.g().add(state.group); 538 badge=state.badges[item.code]={ 539 group:group,baseZIndex:0, 540 glowOuter:chart.renderer.path().attr({fill:'none',stroke:'#fff','stroke-width':4,opacity:0.30,'stroke-linejoin':'round',visibility:'hidden'}).add(group), 541 glowInner:chart.renderer.path().attr({fill:'none',stroke:'#fafafa','stroke-width':1,opacity:0.65,'stroke-linejoin':'round',visibility:'hidden'}).add(group), 542 box:chart.renderer.path().attr({'stroke-width':1.2,zIndex:0}).add(group), 543 text:chart.renderer.text('',0,0).attr({zIndex:1}).add(group) 544 }; 545 } 546 badge.baseZIndex=(Number(item.series.options.zIndex)||0)-(item.stale?100:0); 547 badge.group.attr({opacity:1}); 548 badge.text.attr({text:nkHShortCurrentText(item,fontSize)}).css({color:item.stale?'#999':'#111',fontFamily:'Arial',fontSize:fontSize+'px',fontWeight:'bold',textShadow:'none'}); 549 var bbox=badge.text.getBBox(); 550 item.width=nkHShortLabelWidth-5; 551 item.height=Math.max(fontSize+4,Math.ceil(bbox.height)+2); 552 item.badge=badge; 553 item.border=nkHShortTint(item.series.color,0.72); 554 item.fill=nkHShortTint(item.series.color,0.14); 555 } 556 Object.keys(state.badges).forEach(function(key){ 557 if(active[key])return; 558 var old=state.badges[key];old.glowOuter.destroy();old.glowInner.destroy();old.box.destroy();old.text.destroy();old.group.destroy(); 559 delete state.badges[key]; 560 }); 561 for(i=0;i<items.length;i++){ 562 var item=items[i],badge=item.badge,h=item.height; 563 // ç¢å°ã®å 端ãããããå³ç«¯ãã2pxé¢ããä¾¡æ ¼ã®é«ããä¿ã¤ã 564 var center=item.anchorY,y=center-h/2; 565 item.top=y; 566 var path=['M',tip,center,'L',left,y,'L',right,y,'L',right,y+h,'L',left,y+h,'Z']; 567 badge.glowOuter.attr({d:path,visibility:item.stale?'visible':'hidden'}); 568 badge.glowInner.attr({d:path,visibility:item.stale?'visible':'hidden'}); 569 badge.box.attr({fill:item.fill,stroke:item.stale?'none':item.border, 570 'stroke-width':item.stale?0:1.2,d:path}); 571 badge.text.element.removeAttribute('textLength'); 572 badge.text.element.removeAttribute('lengthAdjust'); 573 badge.text.attr({x:0,y:0}); 574 if(nkHShortTouchDevice)badge.text.attr({scaleX:1,translateX:0}); 575 var textBox=badge.text.getBBox(true),textWidth=Math.max(1,right-left-5); 576 if(nkHShortTouchDevice){ 577 // å°æ°ã®tspanãå«ãã¦ç¸®ãããæåã®é«ãã»å°æ°ã®æ¯çãä¿ã¡ãå³ç«¯ãæ å ã«åºå®ã 578 var textScale=Math.min(1,textWidth/Math.max(1,textBox.width)); 579 badge.text.attr({scaleX:textScale, 580 translateX:right-3-(textBox.x+textBox.width)*textScale, 581 y:center-textBox.y-textBox.height/2}); 582 }else{ 583 // PCã¯å¾æ¥ã©ããtextLengthã§å¹ ã調æ´ããã 584 if(textBox.width>textWidth){ 585 badge.text.attr({textLength:textWidth,lengthAdjust:'spacingAndGlyphs'}); 586 textBox=badge.text.getBBox(true); 587 } 588 badge.text.attr({x:right-3-textBox.width,y:center-textBox.y-textBox.height/2}); 589 } 590 } 591 nkHShortUpdateLabelZIndex(chart); 592 // ç§è¶³ã»åè¶³ã®ç¾å¤ã1æéãçµéããããåæç»ããªãã¦ãå¤ã表示ã«åãæ¿ããã 593 if(isFinite(nextExpiry))chart._nkHShortExpiryTimer=setTimeout(function(){ 594 chart._nkHShortExpiryTimer=null; 595 nkHShortRenderLabels(chart,minute?'min':undefined); 596 }
596,Math.max(50,nextExpiry-Date.now()+1)); 597} 598 599 600// è¤åãã£ã¼ãã®åæã¿ãã¯çæã®2種é¡ã ãè¨æ¶ãããé·æã¨%ã¯ä¸æè¡¨ç¤ºã 601function nkHPreferredTab(){ 602 var mode=Number(myGetCookie('TOP225_HSTab')); 603 return mode===1||mode===2?mode:2; 604} 605function nkHSelectTabRadio(mode){ 606 var input=d.getElementById('R0'+(mode+1)); 607 if(input)input.checked=true; 608} 609function dispHS(n,s) { 610 n=Number(n);if(n%1!==0||n<1||n>4)return; 611 if(n<=2&&!s)mySetCookie('TOP225_HSTab',n,365); 612 if(n===Sle&&!s&&!nkHNeedsReload&&(nkHRequests.length||(nkHReadyMode===n&&nkHChart())))return; 613 nkHStop();Sle=n;nkHReadyMode=-1;nkHRetryCount=0; 614 if(!nkHCanUpdate())return; 615 nkHNeedsReload=false; 616 nkHLoadSelected(); 617} 618 619(function() { 620 webHeavy=(d.getElementById("webheavy")!==null ? true:false); 621 var preferredTab=nkHPreferredTab(); 622 nkHSelectTabRadio(preferredTab); 623 nkHObserveViewport(); 624 dispHS(preferredTab,'ST'); 625})(); 626 627 628// 1Hã§ã¯5åãã¨ã3Hã§ã¯15åãã¨ã6Hã§ã¯1æéãã¨ã«æå»ã表示ããã 629// JSTã¯UTCãã9æéå·®ã§ãåå»ã¿å¹ ã§å²ãåããããepochæ´åã§ç¾å°ã®æå»ã«ãæãã 630function nkHSecTickPositions(min,max){ 631 if(!isFinite(min)||!isFinite(max)||max<min)return this.tickPositions||[]; 632 var minute=60000,span=max-min; 633 var step=span<=75*minute?5*minute:(span<=195*minute?15*minute:60*minute); 634 this.tickInterval=step; 635 this.options.minorTickInterval=step/5; 636 var positions=[],first=Math.ceil(min/step)*step; 637 for(var time=first;time<=max&&positions.length<100;time+=step)positions.push(time); 638 return positions; 639} 640 641function sec_create_chart(){ 642 nkHAjax({ 643 url:"//jss2.nikkei225jp.com/hs_data/hs_top.json", 644 dataType:'script' 645 }).done(function(data,status,xhr){ 646 var dataSet=xhr.nkHValues||{},S781=dataSet.S781,S111=dataSet.S111,S136=dataSet.S136,S751=dataSet.S751,S211=dataSet.S211,S731=dataSet.S731,S762=dataSet.S762,S796=dataSet.S796,S791=dataSet.S791,S1001=dataSet.S1001; 647 if(!nkHSeriesCodes[1].some(function(C){return dataSet['S'+C]&&dataSet['S'+C].length;}))throw new Error('empty second chart data'); 648 var seriesList=myGetCookie("TOP225_sec"+"S"); 649 var chartRange=nkHRangeIndex(myGetCookie("TOP225_sec1hR"),0,3); 650 if(!seriesList){seriesList='1_1_0_1_1_1_0_1_0_0';} 651 seriesList=seriesList.split("_"); 652 653 Highcharts.setOptions({global:{timezoneOffset:-9*60},lang:{rangeSelectorZoom:'',thousandsSep:",",weekdays:['æ¥','æ','ç«','æ°´','æ¨','é','å'],numericSymbols:null}}); 654 nkHDestroyChart(); 655 $('#container').highcharts('StockChart',{ 656 chart:{ 657 animation:false,panning:false,pinchType:false,reflow:false, 658 width:726,height:380,marginBottom:18,marginTop:2,marginRight:nkHShortMargin, 659 style:{fontFamily:'Arial'}, 660 events:{ 661 load:function(){nk225LegendLines(this);nkHShortRenderLabels(this);}, 662 redraw:function(){nk225LegendLines(this);setHchartRangeCookieAfterRedraw("sec1h",this);nkHShortRenderLabels(this);}, 663 destroy:function(){nkHShortDestroyLabels(this);} 664 } 665 }, 666 legend:{ 667 labelFormatter:nkHShortLegendLabelFormatter, 668 layout:'horizontal',align:'top',verticalAlign:'top', 669 x:0,y:-5, 670 backgroundColor:'#FcFcFe', 671 borderColor:'#b7b7b7', 672 borderRadius:3, 673 itemDistance:4, 674 symbolWidth:9, 675 symbolPadding:1, 676 itemStyle:{fontSize:'11px',color:'#111'}, 677 enabled:true,floating:true,shadow:true 678 }, 679 yAxis:[{ 680 id:'USD/JPY', 681 labels:{ 682 x:0,y:-10,format:'{value:.2f}',align:'right', 683 style:{color:'#888',fontSize:'14px'} 684 }, 685 opposite:true,offset:nkHShortScaleOffset,showLastLabel:false,showFirstLabel:true, 686 gridLineColor:'#e7e7e7',gridLineWidth:.2, 687 minRange:0.2, 688 tickPixelInterval:65 689 },{ 690 id:'JP225', 691 labels:{ 692 x:0,y:3,align:'right', 693 style:{color:colHS111,fontSize:'14px'} 694 }, 695 opposite:true,offset:nkHShortScaleOffset,showFirstLabel:true,showLastLabel:true, 696 gridLineColor:'#e7e7e7',gridLineWidth:.2, 697 minRange:200, 698 tickPixelInterval:65 699 },{ 700 id:'DOW', 701 labels:{ 702 x:0,y:16,align:'right', 703 style:{color:colHS211,fontSize:'14px'} 704 }, 705 opposite:true,offset:nkHShortScaleOffset,showLastLabel:true,showFirstLabel:false, 706 gridLineColor:'#e7e7e7',gridLineWidth:.2, 707 minRange:200, 708 tickPixelInterval:65 709 },{ 710 id:'NAS100', 711 labels:{enabled:false}, 712 title:{text:null},lineWidth:0,tickLength:0, 713 opposite:true,offset:0,showLastLabel:false,showFirstLabel:false, 714 gridLineColor:'#e7e7e7',gridLineWidth:0, 715 minRange:40, 716 tickPixelInterval:65 717 },{ 718 id:'OIL', 719 labels:{enabled:false}, 720 title:{text:null},lineWidth:0,tickLength:0, 721 opposite:true,offset:0,showLastLabel:false,showFirstLabel:false, 722 gridLineColor:'#e7e7e7',gridLineWidth:0, 723 minRange:1, 724 tickPixelInterval:65 725 },{ 726 id:'GOLD', 727 labels:{enabled:false}, 728 title:{text:null},lineWidth:0,tickLength:0, 729 opposite:true,offset:0,showLastLabel:false,showFirstLabel:false, 730 gridLineColor:'#e7e7e7',gridLineWidth:0, 731 // minRange:1, 732 tickPixelInterval:65 733 },{ 734 id:'BTC/JPY', 735 labels:{enabled:false}, 736 title:{text:null},lineWidth:0,tickLength:0, 737 opposite:true,offset:0,showLastLabel:false,showFirstLabel:false, 738 gridLineColor:'#e7e7e7',gridLineWidth:0, 739 minRange:100000, 740 tickPixelInterval:65 741 }], 742 series:[{ 743 name:'DEC ãã«å', 744 yAxis:'USD/JPY', 745 id:'nk-sec-781',nkHShortCode:781, 746 data:S781, 747 type:'area', 748 threshold:null, 749 zIndex:0, 750 lineWidth:.5, 751 states:{hover:{lineWidth:.5}}, 752 color:'rgba(180,180,180,1)', 753 fillColor:{stops:[[0,'rgba(215,215,215,.3)'],[1,'rgba(230,230,230,0.1)']],linearGradient:{x1:0,y1:0,x2:0,y2:1}}, 754 tooltip:{valueDecimals:3}, 755 visible:Boolean(Number(seriesList[0])) 756 },{ 757 name:'NK', 758 yAxis:'JP225', 759 id:'nk-sec-111',nkHShortCode:111, 760 data:S111, 761 gapSize:50, 762 zIndex:90, 763 lineWidth:1.75, 764 states:{hover:{lineWidth:1.75}}, 765 color:colHS111, 766 shadow:{color:'#fff',opacity:3,width:3,offsetX:0,offsetY:0}, 767 tooltip:{valueDecimals:2}, 768 visible:Boolean(Number(seriesList[1])) 769 },{ 770 name:'OSE NK', 771 yAxis:'JP225', 772 id:'nk-sec-136',nkHShortCode:136, 773 data:S136, 774 gapSize:50, 775 zIndex:35, 776 lineWidth:1.1, 777 states:{hover:{lineWidth:1.1}}, 778 color:colHS136, 779 shadow:{color:'#fff',opacity:2.2,width:2.2,offsetX:0,offsetY:0}, 780 tooltip:{valueDecimals:0}, 781 visible:Boolean(Number(seriesList[2])) 782 },{ 783 name:'DEX NK', 784 yAxis:'JP225', 785 id:'nk-sec-751',nkHShortCode:751, 786 data:S751, 787 zIndex:30, 788 lineWidth:1.2, 789 states:{hover:{lineWidth:1.2}}, 790 color:colHS751, 791 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 792 tooltip:{valueDecimals:0}, 793 visible:Boolean(Number(seriesList[3])) 794 },{ 795 name:'DOW', 796 yAxis:'DOW',
797 id:'nk-sec-211',nkHShortCode:211, 798 data:S211, 799 gapSize:50, 800 zIndex:80, 801 lineWidth:1.75, 802 states:{hover:{lineWidth:1.75}}, 803 color:colHS211, 804 shadow:{color:'#fff',opacity:3,width:3,offsetX:0,offsetY:0}, 805 tooltip:{valueDecimals:2}, 806 visible:Boolean(Number(seriesList[4])) 807 },{ 808 name:'Sun. DOW', 809 yAxis:'DOW', 810 id:'nk-sec-731',nkHShortCode:731, 811 data:S731, 812 gapSize:500, 813 zIndex:20, 814 lineWidth:1.2, 815 states:{hover:{lineWidth:1.2}}, 816 color:colHS731, 817 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 818 tooltip:{valueDecimals:0}, 819 visible:Boolean(Number(seriesList[5])) 820 },{ 821 name:'DEX NAS100', 822 yAxis:'NAS100', 823 id:'nk-sec-762',nkHShortCode:762, 824 data:S762, 825 gapSize:50, 826 zIndex:70, 827 lineWidth:1.3, 828 states:{hover:{lineWidth:1.3}}, 829 color:colHS762, 830 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 831 tooltip:{valueDecimals:2}, 832 visible:Boolean(Number(seriesList[6])) 833 },{ 834 name:'DEX OIL', 835 yAxis:'OIL', 836 id:'nk-sec-796',nkHShortCode:796, 837 data:S796, 838 // dashStyle:'ShortDot', 839 gapSize:5000, 840 zIndex:11, 841 lineWidth:.75, 842 states:{hover:{lineWidth:.75}}, 843 color:colHS796, 844 shadow:{color:'#fff',opacity:2,width:2,offsetX:0,offsetY:0}, 845 tooltip:{valueDecimals:2}, 846 visible:Boolean(Number(seriesList[7])) 847 },{ 848 name:'DEX GOLD', 849 yAxis:'GOLD', 850 id:'nk-sec-791',nkHShortCode:791, 851 data:S791, 852 // dashStyle:'ShortDot', 853 gapSize:5000, 854 zIndex:11, 855 lineWidth:.75, 856 states:{hover:{lineWidth:.75}}, 857 color:colHS791, 858 shadow:{color:'#fff',opacity:2,width:2,offsetX:0,offsetY:0}, 859 tooltip:{valueDecimals:2}, 860 visible:Boolean(Number(seriesList[8])) 861 },{ 862 name:'BTC', 863 yAxis:'BTC/JPY', 864 id:'nk-sec-1001',nkHShortCode:1001, 865 data:S1001, 866 // dashStyle:'ShortDot', 867 zIndex:10, 868 lineWidth:.75, 869 states:{hover:{lineWidth:.75}}, 870 color:colHS1001, 871 shadow:{color:'#fff',opacity:2,width:2,offsetX:0,offsetY:0}, 872 tooltip:{valueDecimals:0}, 873 visible:Boolean(Number(seriesList[9])) 874 }], 875 xAxis:{ 876 tickInterval:5*60000, 877 minorTickInterval:60000, 878 tickPositioner:nkHSecTickPositions, 879 gridLineWidth:.2, 880 gridLineColor:'#e7e7e7', 881 minorGridLineWidth:.2, 882 minorGridLineColor:'#f9f9f9', 883 minorTickPosition:'inside', 884 minorTickLength:1, 885 tickLength:3, 886 tickColor:'#777', 887 labels:{y:13,formatter:function(){return Highcharts.dateFormat('%H:%M',this.value);}}, 888 ordinal:false, 889 type:'datetime', 890 dateTimeLabelFormats:{ 891 second:'%H:%M', 892 minute:'%H:%M', 893 hour:'%H:%M', 894 day:'<span style="color:#e70;">ã%m/%dã</span>', 895 week:'%m/%d', 896 month:'%Y/%m', 897 year:'%Y' 898 } 899 }, 900 rangeSelector:{ 901 allButtonsEnabled:true, 902 inputEnabled:false, 903 buttonPosition:{x:584,y:5}, 904 buttonTheme:{ 905 width:37,height:20,fill:'#eee',style:{fontSize:'110%'},r:3.5, 906 states:{ 907 hover:{fill:'#ccc'}, 908 select:{fill:'#999'} 909 } 910 }, 911 buttons:[{ 912 //dataGrouping:(Android8ika)?undefined:{forced:true,units:[['second',[10]]]}, 913 count:60,type:'minute',text:'1H' 914 },{ 915 //dataGrouping:(Android8ika)?undefined:{forced:true,units:[['second',[30]]]}, 916 count:180,type:'minute',text:'3H' 917 },{ 918 //dataGrouping:(Android8ika)?undefined:{forced:true,units:[['minute',[1]]]},
919 count:6,type:'hour',text:'6H' 920 }], 921 selected:chartRange 922 }, 923 plotOptions:{ 924 series:{ 925 events:{ 926 legendItemClick:function(){setHchartSeriesCookieAfterClick("sec",this);}, 927 mouseOver:function(){nkHShortHoverLabel(this,true);}, 928 mouseOut:function(){nkHShortHoverLabel(this,false);} 929 }, 930 animation:false, 931 dataGrouping:{ 932 units:[['second',[10,30,60]]], 933 dateTimeLabelFormats:{ 934 second:['%m/%d %H:%M:%S','%m/%d %H:%M:%S',''], 935 minute:['%m/%d %H:%M','%m/%d %H:%M',''], 936 hour:['%m/%d %H:%M','%m/%d %H:%M',''], 937 day:['%m/%d','%m/%d',''], 938 week:['%m/%d','%m/%d',''], 939 month:['%B %Y','%B','-%B %Y'], 940 year:['%Y','%Y','-%Y'] 941 } 942 } 943 } 944 }, 945 tooltip:{ 946 animation:false, 947 split: false, 948 shared: false, 949 followPointer:true, 950 shadow: false, 951 useHTML:true, 952 borderWidth:0, 953 borderColor:'rgba(18,18,18,0)', 954 backgroundColor:'rgba(18,18,18,0)', 955 style: {color:'#ddd',fontSize:'12px'}, 956 crosshairs:{dashStyle:'shortdash',color:'#eee'}, 957 positioner: function () {return { x:6, y:32};}, 958 xDateFormat: '%m/%d(%A) %H:%M', 959 headerFormat: '<span style="background:#fff;font-size:13px;padding-right:6px;color:#555">{point.key} </span>', 960 pointFormatter:nkHShortTooltipPointFormatter 961 }, 962 navigator:{enabled:false}, 963 scrollbar:{enabled:false}, 964 navigation:{enabled:false}, 965 exporting:{enabled:false}, 966 credits:{position:{x:13,y:-23,align:'left',verticalAlign:'bottom'},style:{color:'#bfbfbf',fontSize:'13px',zIndex:0},text:'https://nikkei225jp.com/',href:''} 967 }); 968 969 970 nkHChartLoaded(); 971 }); 972} 973function socket_sec(data){nkHSocketPoint(data,1);} 974 975 976 977 978 979function min_create_chart(){ 980 nkHAjax({url:'/_data/_nfsDATA/hs_data/hs_TOP5.json',dataType:'script',cache:true}) 981 .done(nkHGuard(function(data,status,xhr){nkHBuildMin(xhr.nkHValues.DATAm);})); 982} 983function nkHMinuteSignature(data){return JSON.stringify(data)+'|'+NY_stF+'|'+EU_stF+'|'+weekEnd;} 984// æ´æ°ãå±ãã¦ãå¤ãå¤ãããªãç³»å㯠setData ãé¿ããæç»æ¸ã¿ã®ç¹ã¨SVGãä¿ã¤ã 985function nkHMinuteSeriesChanged(series,points){ 986 if(!series)return true; 987 var xs=series.getColumn?series.getColumn('x'):series.xData; 988 var ys=series.getColumn?series.getColumn('y'):series.yData; 989 if(!xs||!ys||xs.length!==points.length||ys.length!==points.length)return true; 990 for(var i=0;i<points.length;i++)if(Number(xs[i])!==Number(points[i][0])||Number(ys[i])!==Number(points[i][1]))return true; 991 return false; 992} 993// é ä¿¡å±¥æ´ããæ°ãã Socket ã®ç¾å¤ãã宿åå¾ã§æ¶ããªãã 994function nkHMinuteKeepLive(chart,code,points){ 995 var times=chart._nkHCurrentTimes||{},values=chart._nkHCurrentValues||{}; 996 if(!Object.prototype.hasOwnProperty.call(times,code))return false; 997 var time=Number(times[code]),value=Number(values[code]); 998 var last=points.length?Number(points[points.length-1][0]):-Infinity; 999 if(isFinite(time)&&isFinite(value)&&value>0&&time>last){ 1000 points.push([time,value]); 1001 return false; 1002 } 1003 delete times[code];delete values[code]; 1004 return true; 1005} 1006function nkHBuildMin(DATAm){ 1007 if(!DATAm||!DATAm.length)throw new Error('empty minute chart data'); 1008 var minSession=nkHSessionKey(DATAm),minSignature=nkHMinuteSignature(DATAm); 1009 var C511=[],C111=[],C191=[],C931=[],C737=[],C211=[],C731=[],C621=[],C921=[],C1001=[]; 1010 var ND111=0,cnt111=-1,Last=[],LastT=[],ND211=0,cnt211=-1; 1011 var prevTime=Number(DATAm[0][0]); 1012 var tim=prevTime; 1013 for(var i=0;i<DATAm.length;i++){ 1014 if(i>0){tim=prevTime+(DATAm[i][0]*10000);} 1015 var V0=tim,V1=DATAm[i][nkHMinTop5Columns[111]],V2=DATAm[i][nkHMinTop5Columns[211]]; 1016 if(V1>0){var D=new Date(V0+9*36e5),DD=D.getUTCDate();if(ND111!=DD){ND111=DD;cnt111++;}C111.push([V0,V1]);Last[cnt111+10]=V1;LastT[cnt111+10]=V0;} 1017 if(V2>0){var Dus=new Date(V0+36e5*(-5+NY_stF)),DDus=Dus.getUTCDate();if(ND211!=DDus){ND211=DDus;cnt211++;}C211.push([V0,V2]);Last[cnt211+20]=V2;LastT[cnt211+20]=V0;} 1018 if(DATAm[i][nkHMinTop5Columns[511]]>0)C511.push([tim,DATAm[i][nkHMinTop5Columns[511]]]); 1019 if(DATAm[i][nkHMinTop5Columns[191]]>0)C191.push([tim,DATAm[i][nkHMinTop5Columns[191]]]); 1020 if(DATAm[i][nkHMinTop5Columns[731]]>0)C731.push([tim,DATAm[i][nkHMinTop5Columns[731]]]); 1021 if(DATAm[i][nkHMinTop5Columns[737]]>0)C737.push([tim,DATAm[i][nkHMinTop5Columns[737]]]); 1022 if(DATAm[i][nkHMinTop5Columns[621]]>0)C621.push([tim,DATAm[i][nkHMinTop5Columns[621]]]); 1023 if(DATAm[i][nkHMinTop5Columns[921]]>0)C921.push([tim,DATAm[i][nkHMinTop5Columns[921]]]); 1024 if(DATAm[i][nkHMinTop5Columns[931]]>0)C931.push([tim,DATAm[i][nkHMinTop5Columns[931]]]); 1025 if(DATAm[i][nkHMinTop5Columns[1001]]>0)C1001.push([tim,DATAm[i][nkHMinTop5Columns[1001]]]); 1026 DATAm[i].length=0; 1027 prevTime=tim;
1028 } 1029 DATAm.length=0; 1030 var seriesCookie=myGetCookie("TOP225_min"+"S"); 1031 var chartRange=nkHRangeIndex(myGetCookie("TOP225_min"+"R"),1,4); 1032 if(!seriesCookie){seriesCookie='1_1_1_1_1_0_0_0_0_0';} 1033 // æ§ä¿åé [ãã«å,JP,CFD NK,GOLD,CFD NAS,DOW,CFD DOW,VIX,OIL,BTC] ãä¸åº¦ã ãç§»è¡ã 1034 if(!myGetCookie('TOP225_minOrderV2')){ 1035 if(myGetCookie('TOP225_minS')){ 1036 var oldOrder=seriesCookie.split('_'),newOrder=[0,1,2,5,6,4,7,8,3,9]; 1037 if(oldOrder.length===10){ 1038 seriesCookie=newOrder.map(function(index){return oldOrder[index];}).join('_'); 1039 mySetCookie('TOP225_minS',seriesCookie,365); 1040 } 1041 } 1042 mySetCookie('TOP225_minOrderV2','1',365); 1043 } 1044 var seriesList=seriesCookie.split("_"); 1045 Highcharts.setOptions({global:{timezoneOffset:-9*60},lang:{rangeSelectorZoom:'',thousandsSep:",",weekdays:['æ¥','æ','ç«','æ°´','æ¨','é','å'],numericSymbols:null}}); 1046 var nowJST=new Date(Date.now()+9*36e5),gDay=nowJST.getUTCDay(),gHour=nowJST.getUTCHours(); 1047 const monDay=(((gDay==1)&&(gHour>=(7-NY_stF)))||((gDay==2)&&(gHour<(7-NY_stF)))),tuesDay=(((gDay==2)&&(gHour>=(7-NY_stF)))||((gDay==3)&&(gHour<(7-NY_stF)))); 1048 const isClosedSat=(gDay===6&&gHour>=7)||(gDay===0&&gHour<7); 1049 const isClosedSun=(gDay===0&&gHour>=7)||(gDay===1&&gHour<7); 1050 if(!C511.length)throw new Error('missing minute USD/JPY data'); 1051 var EndT=C511[C511.length-1][0];if(weekEnd)EndT=EndT-36e5; 1052 var End511=(Math.floor((EndT+9*36e5)/864e5)+1)*864e5-9*36e5; 1053 var PL=[];PL.push(End511-36e5*24*7,End511-36e5*24*6,End511-36e5*24*5,End511-36e5*24*4,End511-36e5*24*3,End511-36e5*24*2,End511-36e5*24*1,End511); 1054 var Pcol111='rgba(225,90,30,1)',Pcol211='rgba(50,110,245,1)',zI111=59,zI211=49,LW=1.35; 1055 1056 nkHDestroyChart(); 1057 $('#container').highcharts('StockChart',{ 1058 chart:{ 1059 animation:false,panning:true,pinchType:false,reflow:false, 1060 width:726,height:380,marginBottom:18,marginTop:2,marginRight:nkHShortMargin, 1061 style:{fontFamily:'Arial'}, 1062 events:{ 1063 load:function(){this._nkHCurrentMode='min';nk225LegendLines(this);nkHShortRenderLabels(this,'min');}, 1064 redraw:function(){nk225LegendLines(this);setHchartRangeCookieAfterRedraw("min",this);nkHShortRenderLabels(this,'min');}, 1065 destroy:function(){nkHShortDestroyLabels(this);} 1066 } 1067 1068 }, 1069 legend:{ 1070 labelFormatter:nkHShortLegendLabelFormatter, 1071 layout:'horizontal',align:'top',verticalAlign:'top', 1072 x:0,y:-5, 1073 backgroundColor:'#FcFcFe', 1074 borderColor:'#b7b7b7', 1075 borderRadius:3, 1076 itemDistance:4, 1077 symbolWidth:9, 1078 symbolPadding:1, 1079 itemStyle:{fontSize:'11px',color:'#111'}, 1080 enabled:true,floating:true,shadow:true 1081 }, 1082 yAxis:[{ 1083 id:'JP225', 1084 labels:{ 1085 x:0,y:4,align:'right', 1086 style:{color:colHS111,fontSize:'14px'} 1087 }, 1088 opposite:true,offset:nkHShortScaleOffset,showFirstLabel:true,showLastLabel:true, 1089 gridLineColor:'#ccc',gridLineWidth:.2, 1090 minRange:500, 1091 tickPixelInterval:65 1092 },{ 1093 id:'NAS100', 1094 labels:{ 1095 x:0,y:28,align:'right', 1096 style:{color:colHS737,fontSize:'14px'} 1097 }, 1098 opposite:true,offset:nkHShortScaleOffset,showLastLabel:true,showFirstLabel:false, 1099 gridLineColor:'#ccc',gridLineWidth:.2, 1100 minRange:300, 1101 tickPixelInterval:65 1102 },{ 1103 id:'DOW', 1104 labels:{ 1105 x:0,y:16,align:'right', 1106 style:{color:colHS211,fontSize:'14px'} 1107 }, 1108 opposite:true,offset:nkHShortScaleOffset,showLastLabel:true,showFirstLabel:false, 1109 gridLineColor:'#ccc',gridLineWidth:.2, 1110 minRange:500, 1111 tickPixelInterval:65 1112 },{ 1113 id:'USD/JPY', 1114 labels:{ 1115 x:0,y:-8,format:'{value:.2f}',align:'right', 1116 style:{color:'#777',fontSize:'14px'} 1117 }, 1118 opposite:true,offset:nkHShortScaleOffset,showLastLabel:false,showFirstLabel:true, 1119 gridLineColor:'#ccc',gridLineWidth:.2, 1120 minRange:1, 1121 tickPixelInterval:65 1122 },{ 1123 id:'OIL', 1124 labels:{ 1125 x:35,y:-17,format:'{value:,.1f}',align:'right', 1126 style:{color:colHS921,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1127 }, 1128 opposite:false,showLastLabel:false,showFirstLabel:false, 1129 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1130 minRange:2, 1131 tickPixelInterval:65 1132 },{ 1133 id:'GOLD', 1134 labels:{ 1135 x:35,y:-6,format:'{value:,.0f}',align:'right', 1136 style:{color:colHS931,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1137 }, 1138 opposite:false,showLastLabel:false,showFirstLabel:false, 1139 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1140 minRange:50, 1141 tickPixelInterval:65 1142 },{ 1143 id:'VIX', 1144 labels:{ 1145 x:35,y:5,format:'{value:,.1f}',align:'right', 1146 style:{color:colHS621,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1147 }, 1148 opposite:false,showLastLabel:false,showFirstLabel:false, 1149 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1150 minRange:2.5, 1151 tickPixelInterval:65 1152 },{ 1153 id:'BTC/JPY', 1154 labels:{ 1155 x:35,y:16,align:'right',format:'{value:,0f}',formatter:function(){return(this.value/10000)+'ä¸';}, 1156 style:{color:colHS1001,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1157 }, 1158 opposite:false,showLastLabel:false,showFirstLabel:false, 1159 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1160 minRange:250000, 1161 tickPixelInterval:65 1162 }], 1163 series:[{ 1164 name:'ãã«å', 1165 id:'nkH-min-511',nkHMinCode:511,nkHShortCode:'min-511', 1166 yAxis:'USD/JPY', 1167 data:C511, 1168 type:'area', 1169 threshold:null, 1170 zIndex:0, 1171 lineWidth:.5, 1172 states:{hover:{lineWidth:.5}}, 1173 color:'rgba(170,170,170,1)', 1174 fillColor:{stops:[[0,'rgba(240,240,240,.80)'],[1,'rgba(255,255,255,.70)']],linearGradient:{x1:0,y1:0,x2:0,y2:1}}, 1175 tooltip:{valueDecimals:2}, 1176 visible:Boolean(Number(seriesList[0])) 1177 },{ 1178 name:'JP225', 1179 id:'nkH-min-111',nkHMinCode:111,nkHShortCode:'min-111', 1180 yAxis:'JP225', 1181 data:C111, 1182 gapSize:15, 1183 zIndex:90, 1184 lineWidth:1.5, 1185 states:{hover:{lineWidth:1.5}}, 1186 color:colHS111, 1187 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1188 tooltip:{valueDecimals:2}, 1189 visible:Boolean(Number(seriesList[1])) 1190 },{ 1191 name:'CFD NK', 1192 id:'nkH-min-191',nkHMinCode:191,nkHShortCode:'min-191', 1193 yAxis:'JP225', 1194 data:C191, 1195 zIndex:60, 1196 lineWidth:1.1, 1197 states:{hover:{lineWidth:1.1}}, 1198 color:colHS191, 1199 shadow:{color:'#fff',opacity:1.6,width:1.6,offsetX:0,offsetY:0}, 1200 tooltip:{valueDecimals:0}, 1201 visible:Boolean(Number(seriesList[2])) 1202 },{ 1203 name:'DOW',
1204 id:'nkH-min-211',nkHMinCode:211,nkHShortCode:'min-211', 1205 yAxis:'DOW', 1206 data:C211, 1207 gapSize:15, 1208 zIndex:80, 1209 lineWidth:1.5, 1210 states:{hover:{lineWidth:1.5}}, 1211 color:colHS211, 1212 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1213 tooltip:{valueDecimals:2}, 1214 visible:Boolean(Number(seriesList[3])) 1215 },{ 1216 name:'CFD DOW', 1217 id:'nkH-min-731',nkHMinCode:731,nkHShortCode:'min-731', 1218 yAxis:'DOW', 1219 data:C731, 1220 gapSize:100, 1221 zIndex:50, 1222 lineWidth:1.1, 1223 states:{hover:{lineWidth:1.1}}, 1224 color:colHS731, 1225 shadow:{color:'#fff',opacity:1.6,width:1.6,offsetX:0,offsetY:0}, 1226 tooltip:{valueDecimals:0}, 1227 visible:Boolean(Number(seriesList[4])) 1228 },{ 1229 name:'CFD NAS100', 1230 id:'nkH-min-737',nkHMinCode:737,nkHShortCode:'min-737', 1231 yAxis:'NAS100', 1232 data:C737, 1233 gapSize:100, 1234 zIndex:70, 1235 lineWidth:1.1, 1236 states:{hover:{lineWidth:1.1}}, 1237 color:colHS737, 1238 shadow:{color:'#fff',opacity:1.6,width:1.6,offsetX:0,offsetY:0}, 1239 tooltip:{valueDecimals:2}, 1240 visible:Boolean(Number(seriesList[5])) 1241 },{ 1242 name:'VIX', 1243 id:'nkH-min-621',nkHMinCode:621,nkHShortCode:'min-621', 1244 yAxis:'VIX', 1245 data:C621, 1246 gapSize:100, 1247 zIndex:5, 1248 lineWidth:.6, 1249 states:{hover:{lineWidth:.6}}, 1250 threshold:20, 1251 color:'rgba(40,0,130,.9)', 1252 negativeColor:'rgba(40,0,130,.4)', 1253 shadow:{color:'#fff',opacity:2,width:2,offsetX:0,offsetY:0}, 1254 tooltip:{valueDecimals:2}, 1255 visible:Boolean(Number(seriesList[6])) 1256 },{ 1257 name:'OIL', 1258 id:'nkH-min-921',nkHMinCode:921,nkHShortCode:'min-921', 1259 yAxis:'OIL', 1260 data:C921, 1261 dashStyle:'ShortDot', 1262 gapSize:100, 1263 zIndex:20, 1264 lineWidth:1.5, 1265 states:{hover:{lineWidth:1.5}}, 1266 color:colHS921, 1267 shadow:{color:colHS921,opacity:.2,width:1,offsetX:0,offsetY:0}, 1268 tooltip:{valueDecimals:2}, 1269 visible:Boolean(Number(seriesList[7])) 1270 },{ 1271 name:'GOLD', 1272 id:'nkH-min-931',nkHMinCode:931,nkHShortCode:'min-931', 1273 yAxis:'GOLD', 1274 data:C931, 1275 gapSize:100, 1276 zIndex:20, 1277 dashStyle:'ShortDot', 1278 lineWidth:1.5, 1279 states:{hover:{lineWidth:1.5}}, 1280 color:colHS931, 1281 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1282 tooltip:{valueDecimals:2}, 1283 visible:Boolean(Number(seriesList[8])) 1284 },{ 1285 name:'BTC', 1286 id:'nkH-min-1001',nkHMinCode:1001,nkHShortCode:'min-1001', 1287 yAxis:'BTC/JPY', 1288 data:C1001, 1289 zIndex:10, 1290 dashStyle:'ShortDot', 1291 lineWidth:1.5, 1292 states:{hover:{lineWidth:1.5}}, 1293 color:colHS1001, 1294 shadow:{color:colHS1001,opacity:.2,width:1,offsetX:0,offsetY:0}, 1295 tooltip:{valueDecimals:0}, 1296 visible:Boolean(Number(seriesList[9])) 1297 }, 1298 {data:nkHCloseLine(LastT,Last,10,EndT),yAxis:'JP225',gapSize:10000,enableMouseTracking:false,zIndex:zI111,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol111}, 1299 {data:nkHCloseLine(LastT,Last,11,EndT),yAxis:'JP225',gapSize:10000,enableMouseTracking:false,zIndex:zI111,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol111}, 1300 {data:nkHCloseLine(LastT,Last,12,EndT),yAxis:'JP225',gapSize:10000,enableMouseTracking:false,zIndex:zI111,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol111}, 1301 {data:nkHCloseLine(LastT,Last,13,EndT),yAxis:'JP225',gapSize:10000,enableMouseTracking:false,zIndex:zI111,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol111}, 1302 {data:nkHCloseLine(LastT,Last,14,EndT),yAxis:'JP225',gapSize:10000,enableMouseTracking:false,zIndex:zI111,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol111}, 1303 {data:nkHCloseLine(LastT,Last,20,EndT),yAxis:'DOW',gapSize:10000,enableMouseTracking:false,zIndex:zI211,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol211}, 1304 {data:nkHCloseLine(LastT,Last,21,EndT),yAxis:'DOW',gapSize:10000,enableMouseTracking:false,zIndex:zI211,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol211}, 1305 {data:nkHCloseLine(LastT,Last,22,EndT),yAxis:'DOW',gapSize:10000,enableMouseTracking:false,zIndex:zI211,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol211}, 1306 {data:nkHCloseLine(LastT,Last,23,EndT),yAxis:'DOW',gapSize:10000,enableMouseTracking:false,zIndex:zI211,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol211}, 1307 {data:nkHCloseLine(LastT,Last,24,EndT),yAxis:'DOW',gapSize:10000,enableMouseTracking:false,zIndex:zI211,showInLegend:false,lineWidth:LW,dashStyle:'dot',color:Pcol211} 1308 ], 1309 xAxis:{ 1310 breaks:[{from:Date.UTC(2016,2,5,(7-NY_stF),1)-36e5*9,to:Date.UTC(2016,2,7,(6-NY_stF),59)-36e5*9,repeat:7*24*36e5}], 1311 plotLines:[ 1312 {value:PL[0],zIndex:100,color:'rgba(30,40,100,.2)',width:1}, 1313 {value:PL[1],zIndex:100,color:'rgba(30,40,100,.2)',width:1}, 1314 {value:PL[2],zIndex:100,color:'rgba(30,40,100,.2)',width:1}, 1315 {value:PL[3],zIndex:100,color:'rgba(30,40,100,.2)',width:1}, 1316 {value:PL[4],zIndex:100,color:'rgba(30,40,100,.2)',width:1}, 1317 {value:PL[5],zIndex:100,color:'rgba(30,40,100,.2)',width:1}, 1318 {value:PL[6],zIndex:100,color:'rgba(30,40,100,.2)',width:1} 1319 ], 1320 units:[['hour',[1,3,6,24]]], 1321 labels:{y:14,rotation:0,style:{color:'#555',fontSize:'13px'}}, 1322 tickPixelInterval:77, 1323 minorTickInterval:36e5*3, 1324 gridLineWidth:.5, 1325 gridLineColor:'#f7f7f7', 1326 minorGridLineWidth:0, 1327 minorGridLineColor:'#f9f9f9', 1328 minorTickPosition:'inside', 1329 minorTickLength:1, 1330 tickLength:2, 1331 tickColor:'#555', 1332 type:'datetime', 1333 dateTimeLabelFormats:{ 1334 second:'%H:%M', 1335 minute:'%H:%M', 1336 hour:'%H:%M', 1337 day:'<span style="color:#e70;">ã%m/%dã</span>',
1338 week:'%m/%d', 1339 month:'%Y/%m', 1340 year:'%Y' 1341 } 1342 }, 1343 rangeSelector:{ 1344 allButtonsEnabled:true, 1345 inputEnabled:false, 1346 buttonPosition:{x:536,y:5}, 1347 buttonTheme:{ 1348 width:37,height:20,fill:'#eee',style:{fontSize:'110%'},r:3.5, 1349 states:{ 1350 hover:{fill:'#ccc'}, 1351 select:{fill:'#999'} 1352 } 1353 }, 1354 buttons:[{ 1355 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['minute',[1]]],approximation:'close'}, 1356 count:6,type:'hour',text:'6H' 1357 },{ 1358 dataGrouping:(Android8ika)?{forced:true,units:[['minute',[5]]],approximation:'close'}:{forced:true,units:[['minute',[3]]],approximation:'close'}, 1359 count:(monDay||isClosedSun)?3:(isClosedSat)?1.5:1,type:'day',text:'1D' 1360 },{ 1361 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['minute',[5]]],approximation:'close'}, 1362 count:(monDay||tuesDay)?4:2,type:'day',text:'2D' 1363 },{ 1364 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['minute',[10]]],approximation:'close'}, 1365 count:7,type:'day',text:'7D' 1366 }], 1367 selected:chartRange 1368 }, 1369 plotOptions:{ 1370 series:{ 1371 events:{ 1372 legendItemClick:function(){setHchartSeriesCookieAfterClick("min",this);}, 1373 mouseOver:function(){nkHShortHoverLabel(this,true);}, 1374 mouseOut:function(){nkHShortHoverLabel(this,false);} 1375 }, 1376 animation:false, 1377 dataGrouping:{ 1378 approximation:'close', 1379 units:[['minute',[1,3,5,15]]], 1380 dateTimeLabelFormats:{ 1381 minute:['%m/%d(%A) %H:%M','%m/%d(%A) %H:%M',''], 1382 hour:['%m/%d %H:%M','%m/%d %H:%M',''], 1383 day:['%m/%d','%m/%d',''], 1384 week:['%m/%d','%m/%d',''], 1385 month:['%B %Y','%B','-%B %Y'], 1386 year:['%Y','%Y','-%Y'] 1387 } 1388 } 1389 } 1390 }, 1391 tooltip:{ 1392 animation:false, 1393 split: false, 1394 shared: false, 1395 followPointer:true, 1396 shadow: false, 1397 useHTML:true, 1398 borderWidth:0, 1399 borderColor:'rgba(18,18,18,0)', 1400 backgroundColor:'rgba(18,18,18,0)', 1401 style: {color:'#ddd',fontSize:'12px'}, 1402 crosshairs:{dashStyle:'shortdash',color:'#eee'}, 1403 positioner: function () {return { x:6, y:32};}, 1404 xDateFormat: '%m/%d(%A) %H:%M', 1405 headerFormat: '<span style="background:#fff;font-size:13px;padding-right:6px;color:#555">{point.key} </span>', 1406 pointFormatter:nkHShortTooltipPointFormatter 1407 }, 1408 navigator:{enabled:false}, 1409 scrollbar:{enabled:false}, 1410 navigation:{enabled:false}, 1411 exporting:{enabled:false}, 1412 credits:{position:{x:13,y:-23,align:'left',verticalAlign:'bottom'},style:{color:'#bfbfbf',fontSize:'13px',zIndex:0},text:'https://nikkei225jp.com/',href:''} 1413 }); 1414 nkHMinSession=minSession;nkHMinSignature=minSignature; 1415 nkHChartLoaded(); 1416} 1417function inter_min(){ 1418 if(!nkHCanUpdate()||Sle!==2||nkHRequests.length)return; 1419 nkHAjax({url:'/_data/_nfsDATA/hs_data/hs_TOP5.json',dataType:'script',cache:true}) 1420 .done(nkHGuard(function(data,status,xhr){ 1421 var DATAm=xhr.nkHValues.DATAm; 1422 if(!DATAm||!DATAm.length)throw new Error('empty minute update'); 1423 var current=nkHChart(),minSignature=nkHMinuteSignature(DATAm); 1424 if(current&¤t._nkHMode===2&&nkHMinSignature===minSignature)return; 1425 if(!current||current._nkHMode!==2||nkHMinSession!==nkHSessionKey(DATAm)){nkHBuildMin(DATAm);return;} 1426 // æ§çã®ç³»åãæ®ã£ã¦ããããé çªã§ setData ããä½ãç´ãã 1427 if(nkHSeriesCodes[2].some(function(code){return !current.get('nkH-min-'+code);})){ 1428 nkHBuildMin(DATAm);return; 1429 } 1430 var C511=[],C111=[],C191=[],C931=[],C737=[],C211=[],C731=[],C621=[],C921=[],C1001=[],LastT; 1431 var prevTime=Number(DATAm[0][0]); 1432 var tim=prevTime; 1433 for (var i=0;i<DATAm.length;i++){ 1434 if(i>0){tim=prevTime+(DATAm[i][0]*10000);} 1435 if(DATAm[i][nkHMinTop5Columns[511]]>0)C511.push([tim,DATAm[i][nkHMinTop5Columns[511]]]); 1436 if(DATAm[i][nkHMinTop5Columns[111]]>0)C111.push([tim,DATAm[i][nkHMinTop5Columns[111]]]); 1437 if(DATAm[i][nkHMinTop5Columns[191]]>0)C191.push([tim,DATAm[i][nkHMinTop5Columns[191]]]); 1438 if(DATAm[i][nkHMinTop5Columns[211]]>0)C211.push([tim,DATAm[i][nkHMinTop5Columns[211]]]); 1439 if(DATAm[i][nkHMinTop5Columns[731]]>0)C731.push([tim,DATAm[i][nkHMinTop5Columns[731]]]); 1440 if(DATAm[i][nkHMinTop5Columns[737]]>0)C737.push([tim,DATAm[i][nkHMinTop5Columns[737]]]); 1441 if(DATAm[i][nkHMinTop5Columns[621]]>0)C621.push([tim,DATAm[i][nkHMinTop5Columns[621]]]); 1442 if(DATAm[i][nkHMinTop5Columns[921]]>0)C921.push([tim,DATAm[i][nkHMinTop5Columns[921]]]); 1443 if(DATAm[i][nkHMinTop5Columns[931]]>0)C931.push([tim,DATAm[i][nkHMinTop5Columns[931]]]); 1444 if(DATAm[i][nkHMinTop5Columns[1001]]>0)C1001.push([tim,DATAm[i][nkHMinTop5Columns[1001]]]); 1445 DATAm[i].length=0; 1446 prevTime=tim;
1447 } 1448 LastT=tim; 1449 DATAm.length=0; 1450 var chart=$('#container').highcharts(); 1451 var dataSets=[C511,C111,C191,C211,C731,C737,C621,C921,C931,C1001],changed=false,liveExpired=false,latestVisible=-Infinity; 1452 var previousDataMax=chart.xAxis&&chart.xAxis[0]?Number(chart.xAxis[0].getExtremes().dataMax):NaN; 1453 for(var s=0;s<dataSets.length;s++){ 1454 var code=nkHSeriesCodes[2][s],series=chart.get('nkH-min-'+code); 1455 if(nkHMinuteKeepLive(chart,code,dataSets[s]))liveExpired=true; 1456 if(series.visible&&dataSets[s].length)latestVisible=Math.max(latestVisible,Number(dataSets[s][dataSets[s].length-1][0])); 1457 if(!nkHMinuteSeriesChanged(series,dataSets[s]))continue; 1458 series.setData(dataSets[s],false,false,false); 1459 changed=true; 1460 } 1461 var rangeChanged=nkHFollowLatest(chart,isFinite(latestVisible)?latestVisible:LastT,previousDataMax); 1462 if(changed||rangeChanged)chart.redraw(false); 1463 else if(liveExpired)nkHShortRenderLabels(chart,'min'); 1464 nkHMinSignature=minSignature; 1465 })); 1466} 1467 1468 1469function day_create_chart(){ 1470 $.when( 1471 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S111.json', dataType:'script',cache:true}), 1472 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S211.json', dataType:'script',cache:true}), 1473 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S321.json', dataType:'script',cache:true}), 1474 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S413.json', dataType:'script',cache:true}), 1475 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S511.json', dataType:'script',cache:true}), 1476 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S514.json', dataType:'script',cache:true}), 1477 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S621.json', dataType:'script',cache:true}), 1478 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S921.json', dataType:'script',cache:true}), 1479 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S931.json', dataType:'script',cache:true}), 1480 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S1001.json',dataType:'script',cache:true}) 1481 ).done(nkHGuard(function(json1,json2,json3,json4,json5,json6,json7,json8,json9,json10){ 1482 var S111=json1[2].nkHValues.S111,S211=json2[2].nkHValues.S211,S321=json3[2].nkHValues.S321,S413=json4[2].nkHValues.S413,S511=json5[2].nkHValues.S511,S514=json6[2].nkHValues.S514,S621=json7[2].nkHValues.S621,S921=json8[2].nkHValues.S921,S931=json9[2].nkHValues.S931,S1001=json10[2].nkHValues.S1001; 1483 if(!S111.length||!S511.length)throw new Error('empty daily chart data'); 1484 var seriesList=myGetCookie("TOP225_day"+"S"); 1485 var chartRange=nkHRangeIndex(myGetCookie("TOP225_day"+"R"),1,4); 1486 if(!seriesList){seriesList='1_0_0_1_1_0_0_0_0_0';} 1487 var seriesList=seriesList.split("_"); 1488 if(seriesList.length===9)seriesList.splice(8,0,'1'); 1489 1490 Highcharts.setOptions({global:{timezoneOffset:-9*60},lang:{rangeSelectorZoom:'',thousandsSep:",",weekdays:['æ¥','æ','ç«','æ°´','æ¨','é','å'],numericSymbols:null}}); 1491 // Highcharts.setOptions({global:{useUTC:false},lang:{rangeSelectorZoom:'',thousandsSep:",",weekdays:['æ¥','æ','ç«','æ°´','æ¨','é','å'],numericSymbols:null}}); 1492 nkHDestroyChart(); 1493 $('#container').highcharts('StockChart', { 1494 chart:{ 1495 animation:false,panning:false,pinchType:false,reflow:false, 1496 width:726,height:380,marginBottom:18,marginTop:2,marginRight:nkHShortMargin, 1497 style:{fontFamily:'Arial'}, 1498 events:{ 1499 load:function(){this._nkHCurrentMode='day';nk225LegendLines(this);nkHShortRenderLabels(this,'day');}, 1500 redraw:function(){nk225LegendLines(this);setHchartRangeCookieAfterRedraw("day",this);nkHShortRenderLabels(this,'day');}, 1501 destroy:function(){nkHShortDestroyLabels(this);} 1502 } 1503 }, 1504 legend:{ 1505 layout:'horizontal',align:'top',verticalAlign:'top', 1506 x:0,y:-5, 1507 backgroundColor:'#FcFcFe', 1508 borderColor:'#b7b7b7', 1509 borderRadius:3, 1510 itemDistance:4, 1511 symbolWidth:9, 1512 symbolPadding:1, 1513 itemStyle:{fontSize:'11px',color:'#111'}, 1514 enabled:true,floating:true,shadow:true 1515 }, 1516 yAxis:[{ 1517 id:'JP225', 1518 labels:{ 1519 x:0,y:3,align:'right', 1520 style:{color:colHS111,fontSize:'12px'} 1521 }, 1522 opposite:true,offset:nkHShortScaleOffset,showFirstLabel:true,showLastLabel:true, 1523 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1524 minRange:1000, 1525 tickPixelInterval:65 1526 },{ 1527 id:'FTSE', 1528 labels:{ 1529 x:0,y:23,align:'right', 1530 style:{color:colHS413,fontSize:'12px'} 1531 }, 1532 opposite:true,offset:nkHShortScaleOffset,showLastLabel:true,showFirstLabel:false, 1533 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1534 minRange:500, 1535 tickPixelInterval:65 1536 },{ 1537 id:'DOW', 1538 labels:{ 1539 x:0,y:13,align:'right', 1540 style:{color:colHS211,fontSize:'12px'} 1541 }, 1542 opposite:true,offset:nkHShortScaleOffset,showLastLabel:true,showFirstLabel:false, 1543 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1544 minRange:1000, 1545 tickPixelInterval:65 1546 },{ 1547 id:'USD/JPY', 1548 labels:{ 1549 x:0,y:-7,format:'{value:.2f}',align:'right', 1550 style:{color:'#aaa',fontSize:'12px'} 1551 }, 1552 opposite:true,offset:nkHShortScaleOffset,showLastLabel:false,showFirstLabel:true, 1553 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1554 minRange:1, 1555 tickPixelInterval:65 1556 },{ 1557 id:'EURJPY', 1558 labels:{ 1559 x:35,y:20,format:'{value:.2f}',align:'right', 1560 style:{color:'rgba(51,121,23,0.5)',textShadow:"0px 0px 7px #fff"} 1561 }, 1562 opposite:false,showLastLabel:false,showFirstLabel:false, 1563 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1564 minRange:1, 1565 tickPixelInterval:65 1566 },{ 1567 id:'CHINA', 1568 labels:{ 1569 x:35,y:-11,align:'right', 1570 style:{color:colHS321,textShadow:"0px 0px 7px #fff"} 1571 }, 1572 opposite:false,showLastLabel:false,showFirstLabel:false, 1573 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1574 minRange:50, 1575 tickPixelInterval:65 1576 },{ 1577 id:'VIX', 1578 labels:{ 1579 x:35,y:21,format:'{value:,.1f}',align:'right', 1580 style:{color:colHS621,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1581 }, 1582 opposite:false,showLastLabel:false,showFirstLabel:false, 1583 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1584 minRange:2.5, 1585 tickPixelInterval:65 1586 },{ 1587 id:'OIL', 1588 labels:{ 1589 x:35,y:-12,format:'{value:,.1f}',align:'right', 1590 style:{color:colHS921,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1591 }, 1592 opposite:false,showLastLabel:false,showFirstLabel:false, 1593 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1594 minRange:0.4, 1595 tickPixelInterval:65 1596 },{ 1597 id:'GOLD', 1598 labels:{ 1599 x:35,y:-1,format:'{value:,.0f}',align:'right', 1600 style:{color:colHS931,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1601 }, 1602 opposite:false,showLastLabel:false,showFirstLabel:false, 1603 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1604 minRange:50, 1605 tickPixelInterval:65 1606 },{ 1607 id:'BTC/JPY', 1608 labels:{ 1609 x:35,y:10,align:'right',format:'{value:,0f}',formatter:function(){return(this.value/10000)+'ä¸';}, 1610 style:{color:colHS1001,textShadow:'0 0 1px #fff,0 0 1.5px #fff,0 0 2px #fff'} 1611 }, 1612 opposite:false,showLastLabel:false,showFirstLabel:false, 1613 gridLineColor:'#e7e7e7',gridLineWidth:.2, 1614 minRange:20000, 1615 tickPixelInterval:65 1616 }], 1617 series:[{ 1618 name:'JP225', 1619 yAxis:'JP225', 1620 data:S111, 1621 zIndex:90, 1622 lineWidth:1.75, 1623 states:{hover:{lineWidth:1.75}}, 1624 color:colHS111, 1625 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1626 tooltip:{valueDecimals:2}, 1627 visible:Boolean(Number(seriesList[0])) 1628 },{ 1629 name:'CHINA', 1630 yAxis:'CHINA', 1631 data:S321, 1632 zIndex:3, 1633 gapSize:100, 1634 lineWidth:1.3, 1635 states:{hover:{lineWidth:1.3}}, 1636 color:colHS321, 1637 shadow:{color:'#fff',opacity:2,width:2,offsetX:0,offsetY:0}, 1638 tooltip:{valueDecimals:2}, 1639 visible:Boolean(Number(seriesList[1])) 1640 },{ 1641 name:'FTSE', 1642 yAxis:'FTSE', 1643 data:S413, 1644 gapSize:100, 1645 zIndex:70, 1646 lineWidth:1.3, 1647 states:{hover:{lineWidth:1.3}}, 1648 color:colHS413, 1649 shadow:{color:'#fff',opacity:2.25,width:2.25,offsetX:0,offsetY:0}, 1650 tooltip:{valueDecimals:2}, 1651 visible:Boolean(Number(seriesList[2])) 1652 },{ 1653 name:'DOW', 1654 yAxis:'DOW', 1655 data:S211, 1656 gapSize:100, 1657 zIndex:80, 1658 lineWidth:1.75, 1659 states:{hover:{lineWidth:1.75}}, 1660 color:colHS211, 1661 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1662 tooltip:{valueDecimals:2}, 1663 visible:Boolean(Number(seriesList[3])) 1664 },{ 1665 name:'USD/JPY', 1666 yAxis:'USD/JPY', 1667 data:S511, 1668 // type:'area', 1669 threshold:null, 1670 zIndex:0, 1671 lineWidth:1.5, 1672 states:{hover:{lineWidth:1.5}}, 1673 color:'rgba(180,180,180,.8)', 1674 // fillColor:{stops:[[0,'rgba(220,220,220,.6)'],[1,'rgba(220,220,220,0.15)']],linearGradient:{x1:0,y1:0,x2:0,y2:1}}, 1675 tooltip:{valueDecimals:2}, 1676 visible:Boolean(Number(seriesList[4])) 1677 },{ 1678 name:'EURJPY', 1679 yAxis:'EURJPY', 1680 data:S514, 1681 // type:'area', 1682 threshold:null, 1683 zIndex:0, 1684 lineWidth:1.5, 1685 states:{hover:{lineWidth:1.5}}, 1686 color:'rgba(51,121,23,0.35)', 1687 // fillColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,'rgba(51,121,3,0.15)'],[1,'rgba(51,121,3,0.001)']]}, 1688 tooltip:{valueDecimals:2}, 1689 visible:Boolean(Number(seriesList[5])) 1690 },{ 1691 name:'VIX', 1692 yAxis:'VIX', 1693 data:S621, 1694 zIndex:12, 1695 lineWidth:.9, 1696 states:{hover:{lineWidth:.9}}, 1697 // color:colHS621, 1698 threshold:20, 1699 color:'rgba(130,0,215,1)', 1700 negativeColor:'rgba(180,120,255,.5)', 1701 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 1702 tooltip:{valueDecimals:2}, 1703 visible:Boolean(Number(seriesList[6])) 1704 },{ 1705 name:'OIL', 1706 yAxis:'OIL', 1707 data:S921, 1708 dashStyle:'ShortDot', 1709 zIndex:11, 1710 lineWidth:1.6, 1711 states:{hover:{lineWidth:1.6}}, 1712 color:colHS921, 1713 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 1714 tooltip:{valueDecimals:2}, 1715 visible:Boolean(Number(seriesList[7])) 1716 },{ 1717 name:'GOLD', 1718 yAxis:'GOLD', 1719 data:S931, 1720 dashStyle:'ShortDot', 1721 zIndex:10.5, 1722 lineWidth:1.6, 1723 states:{hover:{lineWidth:1.6}}, 1724 color:colHS931, 1725 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 1726 tooltip:{valueDecimals:2}, 1727 visible:Boolean(Number(seriesList[8])) 1728 },{ 1729 name:'BTC/JPY', 1730 yAxis:'BTC/JPY', 1731 data:S1001, 1732 dashStyle:'ShortDot', 1733 zIndex:10, 1734 lineWidth:1.6, 1735 states:{hover:{lineWidth:1.6}}, 1736 color:colHS1001, 1737 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 1738 tooltip:{valueDecimals:0}, 1739 visible:Boolean(Number(seriesList[9])) 1740 }], 1741 xAxis:{ 1742 tickPixelInterval:125, 1743 // tickInterval:36e5*24*365, 1744 minorTickInterval:36e5*24*30.5, 1745 gridLineWidth:.6, 1746 gridLineColor:'#ddd', 1747 minorGridLineWidth:.2, 1748 minorGridLineColor:'#efefeF', 1749 minorTickPosition:'inside', 1750 minorTickLength:0, 1751 tickLength:3, 1752 tickColor:'#777', 1753 labels:{y:13,rotation:0,style:{color:'#799'}}, 1754 type:'datetime', 1755 dateTimeLabelFormats:{ 1756 week:'<span style="color:#38e;">ã%Y/%mã</span>', 1757 month:'<span style="color:#38e;">ã%Y/%mã</span>', 1758 year:'<span style="color:#17e;">ã%Yã</span>' 1759 } 1760 }, 1761 rangeSelector:{ 1762 allButtonsEnabled:true, 1763 inputEnabled:false, 1764 buttonPosition:{x:536,y:5}, 1765 buttonTheme:{ 1766 width:37,height:20,fill:'#eee',style:{fontSize:'110%'},r:3.5, 1767 states:{ 1768 hover:{fill:'#ccc'}, 1769 select:{fill:'#999'} 1770 } 1771 }, 1772 buttons:[{ 1773 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['day',[1]]]}, 1774 count:3,type:'month',text:'3M' 1775 },{ 1776 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['day',[1]]]}, 1777 count:6,type:'month',text:'6M' 1778 },{ 1779 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['day',[2]]]}, 1780 count:2,type:'year',text:'2Y' 1781 },{ 1782 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['week',[1]]]}, 1783 count:10,type:'year',text:'10Y' 1784 }], 1785 selected:chartRange 1786 }, 1787 plotOptions:{ 1788 series:{ 1789 events:{ 1790 legendItemClick:function(){setHchartSeriesCookieAfterClick("day",this);}, 1791 mouseOver:function(){nkHShortHoverLabel(this,true);}, 1792 mouseOut:function(){nkHShortHoverLabel(this,false);} 1793 }, 1794 animation:false, 1795 dataGrouping:{ 1796 dateTimeLabelFormats:{ 1797 day:['%Y/%m/%d','%Y/%m/%d',''], 1798 week:['%Y/%m/%d','%Y/%m/%d',''], 1799 month:['%B %Y','%B','-%B %Y'], 1800 year:['%Y','%Y','-%Y'] 1801 } 1802 } 1803 }, 1804 candlestick:{ 1805 tooltip:{ 1806 pointFormat:' | <span style="color:{series.color}">{series.name}</span>: <b>{point.close}</b><br/>' 1807 } 1808 } 1809 }, 1810 tooltip:{ 1811 animation:false, 1812 split: false, 1813 shared: false, 1814 followPointer:true, 1815 shadow: false, 1816 useHTML:true, 1817 borderWidth:0, 1818 borderColor:'rgba(18,18,18,0)', 1819 backgroundColor:'rgba(18,18,18,0)', 1820 style: {color:'#ddd',fontSize:'12px'}, 1821 crosshairs:{dashStyle:'shortdash',color:'#eee'}, 1822 positioner: function () {return { x:6, y:32};}, 1823 xDateFormat: '%Y/%m/%d', 1824 headerFormat: '<span style="background:#fff;font-size:13px;padding-right:6px;color:#555">{point.key} </span>', 1825 pointFormatter:nkHShortTooltipPointFormatter 1826 }, 1827 navigator:{enabled:false}, 1828 scrollbar:{enabled:false}, 1829 navigation:{enabled:false}, 1830 exporting:{enabled:false}, 1831 credits:{position:{x:13,y:-23,align:'left',verticalAlign:'bottom'},style:{color:'#bfbfbf',fontSize:'13px',zIndex:0},text:'https://nikkei225jp.com/',href:''} 1832 }); 1833 1834 nkHChartLoaded(); 1835 })); 1836} 1837 1838 1839function per_create_chart(){ 1840 $.when( 1841 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S111.json', dataType:'script',cache:true}), 1842 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S211.json', dataType:'script',cache:true}), 1843 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S321.json', dataType:'script',cache:true}), 1844 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S413.json', dataType:'script',cache:true}), 1845 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S511.json', dataType:'script',cache:true}), 1846 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S514.json', dataType:'script',cache:true}), 1847 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S523.json', dataType:'script',cache:true}), 1848 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S921.json', dataType:'script',cache:true}), 1849 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S931.json', dataType:'script',cache:true}), 1850 nkHAjax({url:'/_data/_nfsDATA/HS_DATA_DAY/S1001.json',dataType:'script',cache:true}) 1851 ).done(nkHGuard(function(json1,json2,json3,json4,json5,json6,json7,json8,json9,json10){ 1852 var S111=json1[2].nkHValues.S111,S211=json2[2].nkHValues.S211,S321=json3[2].nkHValues.S321,S413=json4[2].nkHValues.S413,
1852S511=json5[2].nkHValues.S511,S514=json6[2].nkHValues.S514,S921=json8[2].nkHValues.S921,S931=json9[2].nkHValues.S931,S1001=json10[2].nkHValues.S1001; 1853 if(!S111.length||!S511.length)throw new Error('empty percent chart data'); 1854 var seriesList=myGetCookie("TOP225_per"+"S"); 1855 var chartRange=nkHRangeIndex(myGetCookie("TOP225_per"+"R"),1,4); 1856 if(!seriesList){seriesList='1_0_0_1_1_0_0_0_0';} 1857 var seriesList=seriesList.split("_"); 1858 if(seriesList.length===8)seriesList.splice(7,0,'1'); 1859 1860 Highcharts.setOptions({global:{timezoneOffset:-9*60},lang:{rangeSelectorZoom:'',thousandsSep:",",weekdays:['æ¥','æ','ç«','æ°´','æ¨','é','å'],numericSymbols:null}}); 1861 nkHDestroyChart(); 1862 $('#container').highcharts('StockChart',{ 1863 chart:{ 1864 animation:false,panning:false,pinchType:false,reflow:false, 1865 width:726,height:380,marginBottom:18,marginTop:2,marginRight:nkHShortMargin, 1866 style:{fontFamily:'Arial'}, 1867 events:{ 1868 load:function(){this._nkHCurrentMode='per';nk225LegendLines(this);nkHShortRenderLabels(this,'per');}, 1869 redraw:function(){nk225LegendLines(this);setHchartRangeCookieAfterRedraw("per",this);nkHShortRenderLabels(this,'per');}, 1870 destroy:function(){nkHShortDestroyLabels(this);} 1871 } 1872 }, 1873 legend:{ 1874 layout:'horizontal',align:'top',verticalAlign:'top', 1875 x:0,y:-5, 1876 backgroundColor:'#FcFcFe', 1877 borderColor:'#b7b7b7', 1878 borderRadius:3, 1879 itemDistance:4, 1880 symbolWidth:9, 1881 symbolPadding:1, 1882 itemStyle:{fontSize:'11px',color:'#111'}, 1883 enabled:true,floating:true,shadow:true 1884 }, 1885 yAxis:[{ 1886 id:'per', 1887 labels:{ 1888 x:0,y:4,formatter:function(){return this.value+'%';},align:'right', 1889 style:{color:'#555',fontSize:'14px'} 1890 }, 1891 gridLineColor:'#ccc',gridLineWidth:.3, 1892 plotLines:[{value:0,zIndex:0,color:'#555',width:.5}], 1893 opposite:true,offset:nkHShortScaleOffset,showLastLabel:true,tickPixelInterval:65 1894 }], 1895 series:[{ 1896 name:'JP225', 1897 compare:'percent', 1898 data:S111, 1899 zIndex:90, 1900 lineWidth:1.75, 1901 states:{hover:{lineWidth:1.75}}, 1902 color:colHS111, 1903 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1904 tooltip:{valueDecimals:2}, 1905 visible:Boolean(Number(seriesList[0])) 1906 },{ 1907 name:'CHINA', 1908 compare:'percent', 1909 data:S321, 1910 zIndex:3, 1911 lineWidth:1.5, 1912 states:{hover:{lineWidth:1.5}}, 1913 color:colHS321, 1914 shadow:{color:'#fff',opacity:2.2,width:2.2,offsetX:0,offsetY:0}, 1915 tooltip:{valueDecimals:2}, 1916 visible:Boolean(Number(seriesList[1])) 1917 },{ 1918 name:'FTSE', 1919 compare:'percent', 1920 data:S413, 1921 zIndex:70, 1922 lineWidth:1.5, 1923 states:{hover:{lineWidth:1.5}}, 1924 color:colHS413, 1925 shadow:{color:'#fff',opacity:2.3,width:2.3,offsetX:0,offsetY:0}, 1926 tooltip:{valueDecimals:2}, 1927 visible:Boolean(Number(seriesList[2])) 1928 },{ 1929 name:'DOW', 1930 compare:'percent', 1931 data:S211, 1932 zIndex:80, 1933 lineWidth:1.75, 1934 states:{hover:{lineWidth:1.75}}, 1935 color:colHS211, 1936 shadow:{color:'#fff',opacity:2.5,width:2.5,offsetX:0,offsetY:0}, 1937 tooltip:{valueDecimals:2}, 1938 visible:Boolean(Number(seriesList[3])) 1939 },{ 1940 name:'USD/JPY', 1941 compare:'percent', 1942 data:S511, 1943 zIndex:1, 1944 lineWidth:1.75, 1945 states:{hover:{lineWidth:2}}, 1946 color:'rgba(180,180,180,.8)', 1947 tooltip:{valueDecimals:2}, 1948 visible:Boolean(Number(seriesList[4])) 1949 },{ 1950 name:'EURJPY', 1951 compare:'percent', 1952 data:S514, 1953 zIndex:0, 1954 lineWidth:1.75, 1955 states:{hover:{lineWidth:2}}, 1956 color:'rgba(51,161,23,0.35)', 1957 tooltip:{valueDecimals:2}, 1958 visible:Boolean(Number(seriesList[5])) 1959 },{ 1960 name:'OIL', 1961 compare:'percent', 1962 data:S921, 1963 dashStyle:'ShortDot', 1964 zIndex:11, 1965 lineWidth:1.5, 1966 states:{hover:{lineWidth:1.5}}, 1967 color:colHS921, 1968 shadow:{color:'#f7f7ee',opacity:.3}, 1969 tooltip:{valueDecimals:2}, 1970 visible:Boolean(Number(seriesList[6])) 1971 },{ 1972 name:'GOLD', 1973 compare:'percent', 1974 data:S931, 1975 dashStyle:'ShortDot', 1976 zIndex:10.5, 1977 lineWidth:1.5, 1978 states:{hover:{lineWidth:1.5}}, 1979 color:colHS931, 1980 shadow:{color:'#f7f7ee',opacity:.3}, 1981 tooltip:{valueDecimals:2}, 1982 visible:Boolean(Number(seriesList[7])) 1983 },{ 1984 name:'BTC/JPY', 1985 compare:'percent', 1986 data:S1001, 1987 dashStyle:'ShortDot', 1988 zIndex:10, 1989 lineWidth:1.5, 1990 states:{hover:{lineWidth:1.5}}, 1991 color:colHS1001, 1992 shadow:{color:'#fffcff',opacity:.3}, 1993 tooltip:{valueDecimals:0}, 1994 visible:Boolean(Number(seriesList[8])) 1995 }], 1996 xAxis:{ 1997 tickPixelInterval:125, 1998 // tickInterval:36e5*24*365, 1999 minorTickInterval:36e5*24*30.5, 2000 gridLineWidth:1, 2001 gridLineColor:'#ddd', 2002 minorGridLineWidth:.8, 2003 minorGridLineColor:'#e7e7e7', 2004 minorTickPosition:'inside', 2005 minorTickLength:0, 2006 tickLength:3, 2007 tickColor:'#777', 2008 labels:{y:13,style:{color:'#799'}}, 2009 type:'datetime', 2010 dateTimeLabelFormats:{ 2011 week:'<span style="color:#38e;">ã%Y/%mã</span>', 2012 month:'<span style="color:#38e;">ã%Y/%mã</span>', 2013 year:'<span style="color:#17e;">ã%Yã</span>' 2014 } 2015 }, 2016 rangeSelector:{ 2017 allButtonsEnabled:true, 2018 inputEnabled:false, 2019 buttonPosition:{x:536,y:5}, 2020 buttonTheme:{ 2021 width:37,height:20,fill:'#eee',style:{fontSize:'110%'},r:3.5, 2022 states:{ 2023 hover:{fill:'#ccc'}, 2024 select:{fill:'#999'} 2025 } 2026 }, 2027 buttons:[{ 2028 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['day',[1]]]}, 2029 count:3,type:'month',text:'3M' 2030 },{ 2031 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['day',[1]]]}, 2032 count:6,type:'month',text:'6M' 2033 },{ 2034 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['day',[2]]]}, 2035 count:2,type:'year',text:'2Y' 2036 },{ 2037 dataGrouping:(Android8ika)?undefined:{forced:true,units:[['week',[1]]]}, 2038 count:5,type:'year',text:'5Y' 2039 }], 2040 selected:chartRange 2041 }, 2042 plotOptions:{ 2043 series:{ 2044 events:{ 2045 legendItemClick:function(){setHchartSeriesCookieAfterClick("per",this);}, 2046 mouseOver:function(){nkHShortHoverLabel(this,true);}, 2047 mouseOut:function(){nkHShortHoverLabel(this,false);} 2048 }, 2049 animation:false, 2050 dataGrouping:{ 2051 dateTimeLabelFormats:{ 2052 day:['%Y/%m/%d','%Y/%m/%d',''], 2053 week:['%Y/%m/%d','%Y/%m/%d',''], 2054 month:['%B %Y','%B','-%B %Y'], 2055 year:['%Y','%Y','-%Y'] 2056 } 2057 } 2058 } 2059 }, 2060 tooltip:{ 2061 animation:false, 2062 split: false, 2063 shared: false, 2064 followPointer:true, 2065 shadow: false, 2066 useHTML:true, 2067 borderWidth:0, 2068 borderColor:'rgba(18,18,18,0)', 2069 backgroundColor:'rgba(18,18,18,0)', 2070 style: {color:'#ddd',fontSize:'12px'}, 2071 crosshairs:{dashStyle:'shortdash',color:'#eee'}, 2072 positioner: function () {return { x:6, y:32};}, 2073 xDateFormat: '%y/%m/%d', 2074 headerFormat: '<span style="background:#fff;font-size:13px;padding-right:6px;color:#555">{point.key} </span>', 2075 pointFormatter:nkHShortTooltipPointFormatter 2076 }, 2077 navigator:{enabled:false}, 2078 scrollbar:{enabled:false}, 2079 navigation:{enabled:false}, 2080 exporting:{enabled:false}, 2081 credits:{position:{x:13,y:-23,align:'left',verticalAlign:'bottom'},style:{color:'#bfbfbf',fontSize:'13px',zIndex:0},text:'https://nikkei225jp.com/',href:''} 2082 }); 2083 2084 2085 nkHChartLoaded(); 2086 })); 2087}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.