转:看周K线

多数投资者都较为重视对日K线方面的分析,但在周K线方面,尤其是在短线的操作中,却常常并不十分留意。实际上,日K线 是对一个交易日的记录,由于变化太快,极易出现技术性陷阱,而周K线反映的是一周的交易状况,短期K线上出现的较大波动在周K线上一般都会被过滤或烫平。 因此,如果能够将日K线的分析和周K线的分析相结合,则对操作指导的效果会更好。 

  在实际操作中,对于买卖时机的把握首先要分析周K 线是否安全,然后再分析日K线的组合和量价关系配合是否合理,最后才能在适当的时机选择操作方向。一般而言,将二者结合起来指导实际操作可以避免很多失 误。如果仅仅依靠日K线的组合来判断短线的操作方向,难免会面临较多的不确定性风险,同时也容易形成追涨杀跌的习惯。在强势的行情中过早抛掉手中的获利筹 码,而在弱市行情中又由于反弹力度时强时弱难以掌握,十分容易被套。 

  从表面来看,周K线与日K线的形态是相同的,但由于二者所覆盖的交易周期上的差异,所透露出的操作方向有时会完全不同,甚至会给出相反的买卖信号。 

  周K线的分析在应用一般K线分析的基础上,还应该注意以下几点: 

  1、周K线在连续出现阴线而超跌时,在出现两根以上的周K线组合表明有止跌迹象后,一般表示其后可能会有力度较大的反弹或反转行情出现,这时买入后可不必依照日K线的分析过早卖出,可以适当增加持股的时间。 

  2、在连续的下跌行情中,对周K线而言,要等到较长的下影线和成交量极度萎缩同时出现时才可以考虑是否介入,而不应仅靠日K线的分析来判断操作时机。 

  3、在上涨行情中,如果周K线呈现出量价齐增的态势,则下一周应该还有新的高点出现。这时若周初盘中出现低点,一般不需依照日K线的提示考虑卖出,反而应当视为较好的短线介入时机而考虑短线买入。 

  4、如果周K线在连续上涨后出现了较长的上影线,同时成交量也出现明显放大,表明行情即将进入调整,此时通常可以看作是卖出的信号,应当在下周初及时出局,而不一定等到日K线发出卖出信号时再作决定。 

  5、如果行情在下跌后出现转暖迹象,在有理由认为反弹不会演变成为反转的情况下,周K线若出现了实体较大的光头光脚的大阳线,一般应该是见顶回落的信号,其后多数情况周K线会出现一两根的阴线。 

  因此,这种情形下周K线出现的大阳线,也应当作为卖出信号来对待。 

  由于周K线的时间跨度要远远大于日K线,在同样的K线组合出现的情况下,周K线所预示的买卖信号的可信度要远远高于日K线。 

  此外,如果能把对周K线的分析和其间的股价形态分析结合起来,分析的效果会更佳。
以下是根据日K线美股数据计算5日,K线和月K线数据的JavaScript代码: ```javascript // 假设原始数据存储在一个数组中,每个元素包含日期、开盘价、最高价、最低价和收盘价等信息 const data = [ { date: '2021-01-01', open: 100, high: 110, low: 90, close: 95 }, { date: '2021-01-02', open: 95, high: 105, low: 85, close: 100 }, { date: '2021-01-03', open: 98, high: 115, low: 95, close: 110 }, // ... ]; // 计算5日均线 const calc5MA = (index) => { if (index < 4) { // 前4个数据无法计算5日均线 return null; } let sum = 0; for (let i = index - 4; i <= index; i++) { sum += data[i].close; } return sum / 5; }; // 计算K线和月K线数据 let weekData = []; let monthData = []; let lastWeek = null; let lastMonth = null; for (let i = 0; i < data.length; i++) { const item = data[i]; const date = new Date(item.date); const week = date.getWeek(); // 获取当前日期所在的 const month = date.getMonth(); // 获取当前日期所在的月 if (!lastWeek || week !== lastWeek) { // 如果当前日期所在的不同于上一个数据,则需新建一条K线数据 weekData.push({ date: item.date, open: item.open, high: item.high, low: item.low, close: item.close, ma5: calc5MA(i), }); lastWeek = week; } else { // 否则,更新上一条K线数据的最高价、最低价和收盘价,并重新计算5日均线 const lastItem = weekData[weekData.length - 1]; lastItem.high = Math.max(lastItem.high, item.high); lastItem.low = Math.min(lastItem.low, item.low); lastItem.close = item.close; lastItem.ma5 = calc5MA(i); } if (!lastMonth || month !== lastMonth) { // 如果当前日期所在的月不同于上一个数据,则需新建一条月K线数据 monthData.push({ date: item.date, open: item.open, high: item.high, low: item.low, close: item.close, ma5: calc5MA(i), }); lastMonth = month; } else { // 否则,更新上一条月K线数据的最高价、最低价和收盘价,并重新计算5日均线 const lastItem = monthData[monthData.length - 1]; lastItem.high = Math.max(lastItem.high, item.high); lastItem.low = Math.min(lastItem.low, item.low); lastItem.close = item.close; lastItem.ma5 = calc5MA(i); } } // 获取当前日期所在的数 Date.prototype.getWeek = function() { const target = new Date(this.valueOf()); const firstDayOfWeek = 1; // 假设一的第一天是星期一 const dayOfWeek = (this.getDay() + 6) % 7; // 将换为7,方便计算 target.setDate(target.getDate() - dayOfWeek + firstDayOfWeek - 1); const yearStart = new Date(target.getFullYear(), 0, 1); const weekNo = Math.ceil(((target - yearStart) / 86400000 + 1) / 7); return weekNo; }; ``` 上述代码中,`calc5MA` 函数用于计算5日均线,它接受一个参数 `index`,表示当前数据在原始数组中的索引。`weekData` 和 `monthData` 数组分别用于存储K线和月K线数据,`lastWeek` 和 `lastMonth` 变量记录上一个数据所在的和月。在循环中,我们根据当前日期所在的和月来判断是否需要新建一条K线数据,如果需要,则新建一条K线数据并存入相应的数组中;否则,更新上一个K线数据的最高价、最低价和收盘价,并重新计算5日均线。最后,我们还定义了一个 `getWeek` 函数,用于获取当前日期所在的数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值