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

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

概念介绍

当多空趋势发出多点信号时,表示行情看多,可积极做多,多点为最早的买点;当多空趋势发出空点信号时,表示行情看空,可持币观望等待机会,空点为最晚的卖点。
多空趋势的用法:
1、当大盘发出多点时,表示大盘行情看多,可结合板块和个股多空趋势来寻找热点板块中的热点个股积极做多;
2、中短线多空趋势:当个股的日线发出多空点时,可结合30、60分钟线多空点进行买卖操作;
3、中长线多空趋势:当个股的周线发出多空点时,可结合日线多空点进行买卖操作;
4、当个股的日线发出多点时,可结合大单净量进行买入操作,成功率更高。
K线技术指标实现—同花顺多空趋势点_第1张图片

计算及实现

计算公式

1.计算公式:
VAR1:=(100 - ((90 * (HHV(HIGH,21) - CLOSE)) / (HHV(HIGH,21) - LLV(LOW,21))));
VAR2=VAR1;
VAR3:=(100 - MA(((100 * (HHV(HIGH,6) - CLOSE)) / (HHV(HIGH,6) - LLV(LOW,6))),34));
DRAWTEXT(CROSS(VAR2,MA(VAR3,6)),(LOW * 0.984),‘多’),;
DRAWTEXT(CROSS(MA(VAR3,6),VAR1),(HIGH * 1.035),'空 ')
公式中金融公式说明:
(1)HHV(X,N):N日内X最大值;
(2)LLV(X,N):N日内X最小值;
(3)MA(X,N):以X为计算值得N日均线;
(4)CROSS(line1,line2):曲线line1上穿曲线line2的点位值;

代码实现

以下我们以一组股市K线数据为输入,实现多空趋势点的计算(编程使用JavaScript语言实现):

/*
 * 金融公式工具类
 * calcMA
 * calcLLV
 * calcHHV
 * calcCross
 */
atomExpression={
    /*
     * 计算MA均线
     * @param {number} dayCount MA时间窗口
     * @param {array} data 输入数据
     * @param {string} field [可选]计算字段配置
     */
    calcMA:function(dayCount,data,field) {
        var ma,i,l,j,sum;
        ma=[];
        //判断不放在循环内,提升性能
        if(field){
            //有字段配置
            for(i=0,l=data.length;i=l;i--){
            if(min>data[i][field]){
                min=data[i][field];
            }
        }
        return min;
    },
    /*
     * 计算最大值
     * @param {number} pos 最新值索引
     * @param {number} n 取最大值范围周期
     * @param {array} data 输入数据
     * @param {string} field 计算字段配置
     */
    calcHHV:function(pos,n,data,field){
        var i,l,max;
        n--;
        max=data[pos][field];
        l=pos-n;
        l<0 ? l=0:1;
        for(i=pos;i>=l;i--){
            if(maxarr2[i] ? 1:-1));
        //去除无效数据后,开始计算交叉点索引
        for(++i;i=arr2[i]){
                crossList.push(i);
            }
            lastCompare=(arr1[i]==arr2[i] ? 0:(arr1[i]>arr2[i] ? 1:-1));
        }
        return crossList;
    }
};

/*
 * 同花顺多空趋势点计算公式
 * VAR1:=(100 - ((90 * (HHV(HIGH,21) - CLOSE)) / (HHV(HIGH,21) - LLV(LOW,21))));
 * VAR2=VAR1;
 * VAR3:=(100 - MA(((100 * (HHV(HIGH,6) - CLOSE)) / (HHV(HIGH,6) - LLV(LOW,6))),34));
 * DRAWTEXT(CROSS(VAR2,MA(VAR3,6)),(LOW * 0.984),'多'),;
 * DRAWTEXT(CROSS(MA(VAR3,6),VAR1),(HIGH * 1.035),'空 ')
 */
DKManager=(function(){
    var input;
    var calcVAR1,calcVAR3,calcDK;

    /*
     * 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},
        //2017/06/21
        {open:4.08,close:4.08,low:4.02,high:4.08}
    ];

    /*
     * @param {number} n 计算最值的周期
     * @param {array} data 输入数据
     */
    calcVAR1=function(n,data){
        var i,l,var1,temp,high,low;
        var1=[];
        for(i=0,l=data.length;i

注意!
每个技术指标都有很多种使用方法,不同行情下适用情况也不尽相同。笔者在此处只给出自己的一些使用心得,经验不多,见解也不是很深,仅供参考。
1.就我自己的经验,这种多空趋势点的计算过程更加类似于KDJ,只不过加入了更多的“均线”因素。
2.我做过一个测试:使用这个多空趋势的公式去跑全市场日线,反推得到当日处于买点的股票列表,观察他们近日的涨跌幅,最终得到的上涨概率是很低的,大部分处于买点的股票仍然出现下跌的情况(不过我的测试没有做的很全面,仅仅用了一周去观察)。因此这个技术指标的使用不能简单的单看一个多空点(成功率非常低)。

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

你可能感兴趣的:(前端,互联网金融,K线技术实战,互联网金融,K线技术指标,js算法实现,多空趋势点)