vue echarts macd指標 完整代碼

1 邏輯

給指定的series兩個對象
兩個對象有相同的xAxisIndex: 2,yAxisIndex: 2,
不同的data
{name: "",type: "line",data: data1,xAxisIndex: 2,yAxisIndex: 2,},{name: "",type: "bar",data: data2,xAxisIndex: 2,yAxisIndex: 2,},

2 代碼 html 代碼 -> vscode 保存為html文件 F5運行

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>echarts example - Custom bar category</title><script src="https://cdn.jsdelivr.net/npm/echarts@4.9.0/dist/echarts.min.js"></script><style>html,body {height: 100%;margin: 0;}#chart {height: 600px;}</style>
</head>
<body><div id="chart"></div><script>// 數據let data = [['2020/1/1', 247.75, 246.23, 248.73, 245.30],['2020/1/2', 248.80, 247.32, 248.96, 246.37],['2020/1/3', 253.11, 249.06, 253.11, 247.42],['2020/1/4', 252.29, 249.63, 253.60, 249.05],['2020/1/5', 251.23, 249.71, 252.59, 249.06],['2020/1/6', 252.68, 249.36, 254.09, 249.20],['2020/1/7', 254.39, 251.34, 254.67, 251.17],['2020/1/8', 253.33, 250.53, 254.82, 249.85],['2020/1/9', 253.87, 252.44, 254.30, 250.87],['2020/1/10', 255.31, 253.31, 255.60, 252.90],['2020/1/11', 255.99, 253.08, 256.65, 252.30],['2020/1/12', 256.11, 251.15, 256.48, 251.02],['2020/1/13', 255.38, 253.64, 255.75, 253.02],['2020/1/14', 260.28, 256.36, 260.42, 256.18],['2020/1/15', 262.10, 258.35, 262.15, 257.27],['2020/1/16', 263.31, 261.25, 263.61, 259.96],['2020/1/17', 262.99, 261.54, 264.47, 261.07],['2020/1/18', 263.12, 259.03, 263.48, 258.40],['2020/1/19', 263.23, 259.82, 263.63, 258.69],['2020/1/20', 262.10, 261.43, 262.48, 259.51],];// 計算 MACD 指標的函數function calculateMACD(data) {let SHORT = 12;let LONG = 26;let M = 9;let DIFF = 0;let DEA = 0;let MACD = 0;let emaShort = 0;let emaLong = 0;let emaDiff = 0;let macdData = [];let diffData = [];let deaData = [];for (let i = 0; i < data.length; i++) {let close = data[i][1];if (i === 0) {emaShort = close;emaLong = close;} else {emaShort = (2 * close + (SHORT - 1) * emaShort) / (SHORT + 1);emaLong = (2 * close + (LONG - 1) * emaLong) / (LONG + 1);}emaDiff = emaShort - emaLong;diffData.push(emaDiff.toFixed(2));if (i === 0) {DIFF = emaDiff;} else {DIFF = (emaDiff * 2 + (SHORT - 1) * DIFF) / (SHORT + 1);}if (i === 0) {DEA = DIFF;} else {DEA = (DIFF * 2 + (M - 1) * DEA) / (M + 1);}MACD = (DIFF - DEA) * 2;macdData.push(MACD.toFixed(2));deaData.push(DEA.toFixed(2));}return {macdData,diffData,deaData};}// 計算 MACD 指標let macdObj = calculateMACD(data);// 配置項let option = {title: {text: '股票 K 線圖及 MACD 指標圖'},tooltip: {trigger: 'axis',axisPointer: {type: 'cross',crossStyle: {color: '#999'}}},legend: {data: ['日K', 'MACD', 'DIFF', 'DEA']},grid: [{left: 80,right: 80,top: 20,height: 320},{left: 80,right: 80,top: 380,height: 100}],xAxis: [{type: 'category',data: data.map(item => item[0]),axisPointer: {type: 'shadow'}}],yAxis: [{type: 'value',name: '日K',scale: true,splitArea: {show: true}},{type: 'value',name: 'MACD',position: 'right',offset: 80,axisLine: {show: false},axisTick: {show: false},splitLine: {show: false},axisPointer: {show: false}}],series: [{name: '日K',type: 'candlestick',data: data,itemStyle: {color: '#FD1050',color0: '#0CF49B',borderColor: '#FD1050',borderColor0: '#0CF49B'}},{name: 'MACD',type: 'bar',xAxisIndex: 0,yAxisIndex: 1,data: macdObj.macdData,itemStyle: {color: '#FFAE57'}},{name: 'DIFF',type: 'line',xAxisIndex: 0,yAxisIndex: 1,showSymbol: false,data: macdObj.diffData,itemStyle: {color: '#FFC069'}},{name: 'DEA',type: 'line',xAxisIndex: 0,yAxisIndex: 1,showSymbol: false,data: macdObj.deaData,itemStyle: {color: '#722ED1'}}]};// 畫圖let chart = echarts.init(document.getElementById('chart'));chart.setOption(option);</script>
</body>
</html>

3 代碼測試網站

https://codepen.io/pen/?&editable=true&editors=101%2C111%2C110%2C115%2C114%2C112%2C113%2C109

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40501.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40501.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40501.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mac M2 Pro安裝使用Cocoapods

Mac Pro M2安裝使用Cocoapods 在新公司要做iOS開發&#xff0c;所以在新電腦上安裝Cocoapods 在升級gem&#xff0c;sudo gem update --system&#xff0c;和安裝cocoapods時都遇到如下的提示&#xff1a; ERROR: While executing gem ... (Errno::EPERM)Operation not per…

Linux下安裝nodejs

1、下載nodejs 點擊前往&#xff1a;Download | Node.js 2、解壓 tar -xvf node-v18.16.0-linux-x64.tar.xz mv node-v18.16.0-linux-x64/ /usr/local/nodejs 3、 建立軟鏈接 此時的bin文件夾中已經存在node以及npm&#xff0c;如果你進入到對應文件的中執行命令行一點問題…

現代C++:使用 shared_from_this 防止 this 提前被釋放

首先概括一下shared_from_this的作用&#xff1a;可以在類的成員函數中直接通過this得到指向當前所在對象的shared_ptr的智能指針&#xff0c;具體操作如下。 使用方法 設需要提供shared_from_this方法的類為C0定義為類&#xff0c;首先需要將C0定義為 std::enable_shared_fr…

mysql 02 數據庫的約束

為防止錯誤的數據被插入到數據表&#xff0c;MySQL中定義了一些維護數據庫完整性的規則&#xff1b;這些規則常稱為表的約束。常見約束如下&#xff1a; 主鍵約束 主鍵約束即primary key用于唯一的標識表中的每一行。被標識為主鍵的數據在表中是唯一的且其值不能為空。這點類似…

前后端分離------后端創建筆記(10)用戶修改

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論&#xff0c;如有侵權請聯系 源碼&#xff1a;https://gitee.com/green_vegetables/x-admin-project.git 素材&#xff1a;https://pan.baidu.com/s/…

Spring Boot實現第一次啟動時自動初始化數據庫流程詳解

隨著互聯網的發展項目中的業務功能越來越復雜&#xff0c;有一些基礎服務我們不可避免的會去調用一些第三方的接口或者公司內其他項目中提供的服務&#xff0c;但是遠程服務的健壯性和網絡穩定性都是不可控因素。 在測試階段可能沒有什么異常情況&#xff0c;但上線后可能會出…

https證書獲取的方法及好處

我們常說的https證書其實就是ssl證書&#xff0c;眼下為網站部署https證書是保障網站安全必不可少的一步。而https證書該如何獲取呢&#xff1f;下面就簡單介紹一下https證書獲取的方法。 https證書獲取途徑有兩種&#xff1a;自己簽發和由受信任的CA機構簽發。 自己給自己簽…

全國三網優惠話費充值接口開發指南

一、文檔綜述 近期想做項目的看過來~三網&#xff08;全國移動、聯通、電信&#xff09;話費、電費充值接口能夠實現將接口接入到小程序或者app上面&#xff0c;通過接口提交號碼和金額進行充值&#xff0c;可以幫助相關人員快速完成接口對接與聯調&#xff0c;平臺用戶可以通…

設計HTML5文本

網頁文本內容豐富、形式多樣&#xff0c;通過不同的版式顯示在頁面中&#xff0c;為用戶提供最直接、最豐富的信息。HTML5新增了很多文本標簽&#xff0c;它們都有特殊的語義&#xff0c;正確使用這些標簽&#xff0c;可以讓網頁文本更嚴謹、更符合語義。 1、通用文本 1.1、標…

算法競賽備賽之搜索與圖論訓練提升,暑期集訓營培訓

目錄 1.DFS和BFS 1.1.DFS深度優先搜索 1.2.BFS廣度優先搜索 2.樹與圖的遍歷&#xff1a;拓撲排序 3.最短路 3.1.迪杰斯特拉算法 3.2.貝爾曼算法 3.3.SPFA算法 3.4.多源匯最短路Floy算法 4.最小生成樹 4.1.普利姆算法 4.2.克魯斯卡爾算法 5.二分圖&#xff1a;染色法…

7. CSS(四)

目錄 一、浮動 &#xff08;一&#xff09;傳統網頁布局的三種方式 &#xff08;二&#xff09;標準流&#xff08;普通流/文檔流&#xff09; &#xff08;三&#xff09;為什么需要浮動&#xff1f; &#xff08;四&#xff09;什么是浮動 &#xff08;五&#xff09;浮…

OpenAI全球招外包大軍,手把手訓練ChatGPT取代碼農 ; 碼農:我自己「殺」自己

目錄 前言 OpenAI招了一千多名外包人員&#xff0c;訓練AI學會像人類一樣一步步思考。如果ChatGPT「學成歸來」&#xff0c;碼農恐怕真的危了&#xff1f; 碼農真的危了&#xff01; 當時OpenAI也說&#xff0c;ChatGPT最合適的定位&#xff0c;應該是編碼輔助工具。 用Cha…

常用的Elasticsearch查詢DSL

1.基本查詢 GET /index_name/_search {"query": {"match": {"dispatchClass": "1"}} }2.多條件查詢 GET /index_name/_search {"query": {"bool": {"must": [{"match": {"createUser&…

計算機競賽 opencv 圖像識別 指紋識別 - python

0 前言 &#x1f525; 優質競賽項目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于機器視覺的指紋識別系統 &#x1f947;學長這里給一個題目綜合評分(每項滿分5分) 難度系數&#xff1a;3分工作量&#xff1a;3分創新點&#xff1a;4分 該項目較為新穎&#xff0c;適…

Vue引入Echarts報錯 import * as echarts from “echarts“;

項目場景&#xff1a; 已經下載好echarts cnpm i echarts Vue引入Echarts import echarts from echarts mounted() {this.myChart echarts.init(document.querySelector(.right))this.myChart.setOption({title: {text: 消費列表,left: center},...問題描述 原因分析&#…

【100天精通python】Day38:GUI界面編程_PyQT從入門到實戰(中)

目錄 專欄導讀 4 數據庫操作 4.1 連接數據庫 4.2 執行 SQL 查詢和更新&#xff1a; 4.3 使用模型和視圖顯示數據 5 多線程編程 5.1 多線程編程的概念和優勢 5.2 在 PyQt 中使用多線程 5.3 處理多線程間的同步和通信問題 5.3.1 信號槽機制 5.3.2 線程安全的數據訪問 Q…

日常BUG——通過命令行創建vue項目報錯

&#x1f61c;作 者&#xff1a;是江迪呀??本文關鍵詞&#xff1a;日常BUG、BUG、問題分析??每日 一言 &#xff1a;存在錯誤說明你在進步&#xff01; 一、問題描述 在使用vue命令行創建一個vue項目時&#xff0c;出現一下的錯誤&#xff1a; vue create my…

UDP數據報結構分析(面試重點)

在傳輸層中有UDP和TCP兩個重要的協議&#xff0c;下面將針對UDP數據報的結構進行分析 UDP結構圖示 UDP報頭結構的分析 UDP報頭有4個屬性&#xff0c;分別是源端口&#xff0c;目的端口&#xff0c;UDP報文長度&#xff0c;校驗和&#xff0c;它們都占16位2個字節&#xff0c;所…

.devos勒索病毒解密方法|勒索病毒解決|勒索病毒恢復|數據庫修復

導言&#xff1a; 隨著科技的迅猛發展&#xff0c;網絡安全問題也日益凸顯。近期&#xff0c;一種名為 .devos 的勒索病毒在網絡安全領域引起了廣泛的關注和警惕。本文91數據恢復將 探討如何解密被其加密的數據文件&#xff0c;并提供預防措施以避免受到類似威脅的侵害。 如不幸…

【java面向對象中static關鍵字】

提綱 static修飾成員變量static修飾成員變量的應用場景static修飾成員方法static修飾成員方法的應用場景static的注意事項static的應用知識&#xff1a;代碼塊static的應用知識&#xff1a;單例設計模式 static靜態的意思&#xff0c;可以修飾成員變量&#xff0c;成員方法&a…