K线技术指标实现详解—MA

概念介绍

简单移动平均线(Moving Average),简称MA,原本的意思是移动平均,由于通常将其制作成线形,所以一般称之为移动平均线,简称均线。它是将某一段时间的收盘价之和除以该周期。 比如日线MA5指5天内的收盘价除以5。他是K线图中最基本的技术指标,直接绘制在K线图上。和K线图比起来,他能反映更加稳定的数量(包括股价、成交量和成交额)的变化趋势。常用的MA参数有短线:MA5,MA10;中长线:MA20,MA60。

MA,EMA,SMA
请注意MA,EMA,SMA的区别。MA是简单移动平均线,EMA是指数平滑移动平均线,SMA是移动平均线。EMA是指数级别的MA,可以用来反映趋势的趋势,具体应用在MACD技术指标的实现过程中。SMA简单理解就是增加了权重的MA,他具体应用在KDJ技术指标的实现过程中。这三者的具体算法都不一样。

计算及实现

计算公式

1.计算公式:
N日移动平均线=N日收市价之和/N;
2.可变参数说明:
对于均线计算,可变的参数为N,N的取值就代表了计算均线的名称,例如N=5时,我们称之为MA5均线;
3.计算举例:
MA(5)=(Close(1)+ Close(2)+ Close(3)+ Close(4)+ Close(5))/5,即

代码实现

MA均线的计算非常简单,以下我们以一组股市K线数据为输入,用一个通用的方法calcMA来计算这组K线数据的MA5,MA10和MA20(编程使用JavaScript语言实现):

var input,ma5,ma10,ma20;
var calcMA;
/** K线数据* 开盘价,收盘价,最低价,最高价*/
input=[{open:3.89,close:3.89,low:3.86,high:3.93},{open:3.88,close:3.85,low:3.81,high:3.89},{open:3.85,close:3.91,low:3.82,high:3.95},{open:3.89,close:4.02,low:3.89,high:4.07},{open:4.04,close:4.05,low:4.00,high:4.08},{open:4.05,close:4.00,low:3.98,high:4.08},{open:4.00,close:4.00,low:3.97,high:4.04},{open:3.99,close:3.90,low:3.88,high:4.00},{open:3.89,close:3.90,low:3.88,high:3.92},{open:3.89,close:3.98,low:3.88,high:3.98},{open:3.99,close:3.98,low:3.95,high:4.03},{open:3.98,close:4.06,low:3.96,high:4.08},{open:4.08,close:4.08,low:4.02,high:4.08}
];/** 计算MA均线* @param {number} dayCount MA时间窗口* @param {array} data 输入数据* @param {string} field 计算字段配置*/
calcMA=function(dayCount,data,field) {var ma,i,l,j,sum;ma=[];for(i=0,l=data.length;i<l;i++){if(i<dayCount-1){ma.push('-');continue;}sum=0;for(j=0;j<dayCount;j++){sum+=data[i-j][field];}ma.push(sum/dayCount);}return ma;
};ma5=calcMA(5,input,"close");
ma10=calcMA(10,input,"close");
ma20=calcMA(20,input,"close");
console.log("ma5:",ma5);
console.log("ma10:",ma10);
console.log("ma20:",ma20);

输出结果如下:

可以看到,MA在计算中会在头部产生“无效值”,例如对于MA5,前4项就是无效值,因为MA5计算的是近5日的平均值,这也就是大家在K线图上经常看到的均线头部预留的缺省值。可以看到,当输入数据长度不足20时,整个MA20都是无效值。

技术指标使用建议

注意!
每个技术指标都有很多种使用方法,不同行情下适用情况也不尽相同。笔者在此处只给出自己的一些使用心得,经验不多,见解也不是很深,仅供参考。

1.关于MA最重要的一点不是他的优点,而是他的滞后性缺点。当MA均线技术指标指示买点、卖点信息时,往往意味着股价真实的涨、跌情况已经发生了一段时间,此时再决定是否做投资决策比较考验投资者的经验。
2.当股价站于短线之上(即指K线图位于MA5,MA10均线的上方),提示买入;反之,股价处于均线下方,提示卖出。
3.MA5、MA10上穿MA20(即MA金叉),提示买入;反之,MA死叉,提示卖出。

熬夜不易,请作者喝杯酒!

K线技术指标实现详解—MA相关推荐

  1. K线技术指标实现详解—筹码分布

    K线技术指标实现详解-筹码分布 概念介绍 筹码分布是主流炒股软件中必不可少的一项技术指标.筹码分布表明了对应K线下的股民持仓价格分布情况,能让投资者据以判断个股的未来走势(压力位和支撑位).下图展示了 ...

  2. 怎么看k线图_详解下降三角形

    在黄金白银的价格走势K线图中,下降三角形并不罕见,不过大家是否了解它的技术要点和市场含义呢? 下降三角形的形状的上升三角形恰好相反.贵金属价格在某一水平价位处出获得了一定的买盘支持,因此每回落到该水平 ...

  3. 指标详解(3)-- K线九转指标详解

    一.定义:九转序列是根据TD马克序列的思想产生的趋势叠加反弹指标,因徐小明的交易师而成为股海中的"网红". 二.实现图解:(来源于网络) 下九转形态: 上九转形态: 三.运用技巧: ...

  4. K线技术指标实现—同花顺多空趋势点

    K线技术指标实现-同花顺多空趋势点 概念介绍 当多空趋势发出多点信号时,表示行情看多,可积极做多,多点为最早的买点:当多空趋势发出空点信号时,表示行情看空,可持币观望等待机会,空点为最晚的卖点. 多空 ...

  5. DDA画线算法+代码详解-直线扫描算法之一

    #DDA画线算法+代码详解-直线扫描算法之一 本文目录结构如下 1.直线扫描算法简介 2.DDA直线扫描算法 2.1 公式推理 1.求斜率K: 2.当|K| <= 1 时 3.当|K| > ...

  6. 机箱主板跳线接法详解(图) (机箱面板的POWER LED线,POWER SW线,HD线,RESET线,usb线)

    机箱主板跳线接法详解(图) 作为一名新手,要真正从头组装好自己的电脑并不容易,也许你知道CPU应该插哪儿,内存应该插哪儿,但遇到一排排复杂跳线的时候,很多新手都不知道如何下手. 钥匙开机其实并不神秘 ...

  7. Java多线程之volatile详解

    Java多线程之volatile详解 目录: 什么是volatile? JMM内存模型之可见性 volatile三大特性之一:保证可见性 volatile三大特性之二:不保证原子性 volatile三 ...

  8. python移动平均线绘图_对python pandas 画移动平均线的方法详解

    数据文件 66001_.txt 内容格式: date,jz0,jz1,jz2,jz3,jz4,jz5 2012-12-28,0.9326,0.8835,1.0289,1.0027,1.1067,1.0 ...

  9. ftm模块linux驱动,飞思卡尔k系列_ftm模块详解.doc

    飞思卡尔k系列_ftm模块详解 1.5FTM模块1.5.1 FTM模块简介FTM模块是一个多功能定时器模块,主要功能有,PWM输出.输入捕捉.输出比较.定时中断.脉冲加减计数.脉冲周期脉宽测量.在K1 ...

  10. 多线程之callable详解

    多线程之callable详解 面试有人会问:线程的实现方式有几种? 很多人可能回答:2种,继承Thread类,实现Runnable接口. 很多忽略了callable这种方式. 也许有人知道callab ...

最新文章

  1. tomcat启动慢_Hack下mongodb jdbc driver启动慢
  2. AS3汉字sokcet传送编码问题
  3. C实现二叉树的先序遍历,中序遍历,后序遍历
  4. 并行编程走下神坛 将成为开发者基本技能?
  5. CMMI入门 - 通用实践的实施GP 2.1-GP 2.5
  6. Google 正式抛弃 HTTP!
  7. 导致存储过程重新编译的原因
  8. combo 边写边选的注意事项
  9. SVN中clean up的含义
  10. RFID仓库管理系统解决方案有哪些功能模块
  11. 回溯算法 --- 例题6.最大团问题
  12. Android图形图像处理,主流app开发工具
  13. 在Mac上更安全的搜索和下载BT
  14. B站机房失火导致网站崩溃?网络工程师又又又背锅了……
  15. Java|Java中int的取值范围是多少
  16. Java - char型变量中能不能存贮一个中文汉字,为什么?
  17. 推荐一个开源U盘启动工具——Ventoy
  18. 智能卡操作系统COS概述(可以顺带了解下)
  19. 全国计算机四级嵌入式系统开发工程师
  20. Win10修改编辑文件无法保存怎么办(没有权限)

热门文章

  1. AM3352 bootloader引导程序开发
  2. github与git 实现多人开发的配置,使用htps和ssh两种方式
  3. 物联网:Android端控制ZigBee实现生产环境自动控制
  4. 用c语言写一个求和的程序,用C语言编写一个“等比数列求和”的程序?
  5. uniapp微信小程序使用分享功能
  6. 上传pdf图片 文件
  7. phpstudy mysql局域网访问_phpstudy 局域网访问
  8. html根据出生日期计算星座,星座测算.html
  9. 阿里云对象存储OSS及CDN加速配置
  10. a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?