有很多程序员朋友在炒股,炒股先要看懂K线,K线是股票技术指标分析中的重要图形。作为股票玩家,你知道K线是什么吗?什么是阳线?什么是阴线?阳线一定是上涨?阴线一定是下跌?今天的程序员说股就来说说K线,如果你初入股市,这些K线基础知识你得会!只有认识K线,在股票技术分析过程中,才能游刃有余。
K线是什么?
K线图这种图表源处于日本德川幕府时代,被当时日本米市的商人用来记录米市的行情与价格波动,后因其细腻独到的标画方式而被引入到股市及期货市场。
股市及期货市场中的K线图的画法包含四个数据,即开盘价、最高价、最低价、收盘价,所有的k线都是围绕这四个数据展开,反映大势的状况和价格信息。如果把每日的K线图放在一张纸上,就能得到日K线图,同样也可画出周K线图、月K线图。
K线如何绘制?
首先我们找到该日或某一周期的最高和最低价,垂直地连成一条直线;然后再找出当日或某一周期的开市和收市价,把这二个价位连接成一条狭长的长方柱体,这种方法绘制出来的图表形状颇似一根根蜡烛,所以也把K线图叫做蜡烛图。
什么是阳线?什么是阴线?
假如当日或某一周期的收市价较开市价高(即低开高收),我们便以红色来表示或是在柱体上留白,这种K线称之为阳线。
反之,如果当日或某一周期的收市价较开市价低(即高开低走),我们则用绿色表示或是在柱上涂黑色,这种K线称之为阴线。
阳线是涨?阴线是跌?
阳线并不一定代表股价上涨,阴线也不一定代表股价下跌。
K线中阳线是指收盘价在开盘价之上,一般情况下阳线是代表涨的,但是也有阳线代表下跌,举个例子昨天的收盘价是20元,今天开盘18元,收盘19元,K线是阳线,但股价相对于昨天是跌的。
K线中阴线是指收盘价在开盘价之下,跟阳线一样,并不是阴线都代表股票下跌,举个例子昨天收盘价18元,今天开盘价20元,收盘价19元,K线是阴线,但股价相对昨天是涨的。
K线的阴阳并不一定代表股价的下跌上涨,但可以看出多空双方在这一天或某个周期内的较量。
用java来描述K线
我们定义一个KLine的类来描述K线:
package cn.lovecto.api.common.stock;
import java.io.Serializable;
/**
* @ClassName: KLine
* @Description: k线
* @date 2019年3月16日 下午8:32:52
*
*/
public class KLine implements Serializable{
private static final long serialVersionUID = 1L;
/**K线对应的周期,日线则周期为日期*/
private String period;
/**开盘价*/
private Double openPrice;
/**收盘价*/
private Double closePrice;
/**最低价*/
private Double lowPrice;
/**最高价*/
private Double highPrice;
public KLine() {
super();
}
public KLine(String period, Double openPrice, Double closePrice,
Double lowPrice, Double highPrice) {
super();
this.period = period;
this.openPrice = openPrice;
this.closePrice = closePrice;
this.lowPrice = lowPrice;
this.highPrice = highPrice;
}
/**
* 是否是阳线
* @return
*/
public boolean isRed(){
return closePrice.compareTo(openPrice) >= 0;
}
/**
* 是否是阴线
* @return
*/
public boolean isGreen(){
return !isRed();
}
public Double getOpenPrice() {
return openPrice;
}
public void setOpenPrice(Double openPrice) {
this.openPrice = openPrice;
}
public Double getClosePrice() {
return closePrice;
}
public void setClosePrice(Double closePrice) {
this.closePrice = closePrice;
}
public Double getLowPrice() {
return lowPrice;
}
public void setLowPrice(Double lowPrice) {
this.lowPrice = lowPrice;
}
public Double getHighPrice() {
return highPrice;
}
public void setHighPrice(Double highPrice) {
this.highPrice = highPrice;
}
public String getPeriod() {
return period;
}
public void setPeriod(String period) {
this.period = period;
}
}