股票九转交易买入程序实现

九转交易是根据市场规律总结的一种股票买入策略,大致思想就是股票不可能一直跌,跌多了肯定会有反弹的,虽然名字叫九转交易,但更多的情况其实只是反弹而已,所以不要过分期望趋势反转。关于策略的介绍网上内容很多,这里就不多介绍了,给出一张网上广为流传的图片,大意就一目了然了。

下面给出程序实现函数:需要获取最近14天的收盘数据,然后根据图中的介绍进行比较筛选。里面的一些判断其实可以根据自己的想法修改的。

void stockDialog::on_jiuZhuanPushButton_clicked()
{
    ui->tableWidget->clear();
    QSqlQuery query;
    bool ret;
    QString str = "";
    QString stockTmp;
    QString tableName;
    QStringList result;
    for(int i=0;i<stockNumList.size();i++){
        stockTmp = stockNumList.at(i);
        qDebug()<<i<<"/"<<stockNumList.size()<<":"<<stockTmp;
        tableName = getTableName(stockTmp);

        str = QString("select close,low from %1 where stockId = %2 and date < %3 order by date desc limit 14").arg(tableName).arg(stockTmp)
                .arg(ui->jiuZhuanLineEdit->text());
        //str = QString("select close,low from szs_stock where stockId = 600298 and date < 20180808 order by date desc limit 14");
        ret = query.exec(str);
        if(ret){
            float close9,close8,low9,low8,low7,low6,close7,close6,close5,close4,close3,close2,close1,close01,close02,close03,close04,close05;
            int c=0;
            while(query.next()){
                c++;
                if(c==1){
                    close9 = query.value(0).toString().toFloat();
                    low9 = query.value(1).toString().toFloat();
                }else if(c==2){
                    close8 = query.value(0).toString().toFloat();
                    low8 = query.value(1).toString().toFloat();
                }else if(c==3){
                    close7 = query.value(0).toString().toFloat();
                    low7 = query.value(1).toString().toFloat();
                }else if(c==4){
                    close6 = query.value(0).toString().toFloat();
                    low6 = query.value(1).toString().toFloat();
                }else if(c==5){
                    close5 = query.value(0).toString().toFloat();
                }else if(c==6){
                    close4 = query.value(0).toString().toFloat();
                }else if(c==7){
                    close3 = query.value(0).toString().toFloat();
                }else if(c==8){
                    close2 = query.value(0).toString().toFloat();
                }else if(c==9){
                    close1 = query.value(0).toString().toFloat();
                }else if(c==10){
                    close01 = query.value(0).toString().toFloat();
                }else if(c==11){
                    close02 = query.value(0).toString().toFloat();
                }else if(c==12){
                    close03 = query.value(0).toString().toFloat();
                }else if(c==13){
                    close04 = query.value(0).toString().toFloat();
                }else if(c==14){
                    close05 = query.value(0).toString().toFloat();
                }
            }

            if(!((low9 < low6 && low9 < low7) || (low8 < low6 && low8 < low7))){
                continue;
            }

            if(!(close9 < close5 && close8 < close4 && close7 < close3 && close6 < close2 && close5 < close1 && close4 < close01 &&
                    close3 < close02 &&close2 < close03 &&close1 < close04 &&close01 > close05)){
                continue;
            }
            result<<stockTmp;
        }
    }
    ui->tableWidget->setRowCount(result.size());
    for(int i=0;i<result.size();i++){
        ui->tableWidget->setItem(i,0,new QTableWidgetItem(result.at(i)));
    }
}

其实这个条件是非常苛刻的,有时候可能就选不出票来。比如以2018年11月8号为例(此后大盘走势变化不大,所以选择这天),仅仅选出三支票,600122,000688,000040,虽然这三个票之后都有获利,但是卖出时机真的不好掌控。

 

跑了一下最新的数据,选出了10个票,上周外围大跌,周一大a估计也好不到哪儿去,这里贴出来不是让大家去买,而是供大家参考和思考,600753,603356,002458这三个感觉普通投资者可以关注一下,剩下的600604,300324,300510,300645,002147,002708,000048就不是普通投资者能驾驭得了的了。个人感觉那些连续跌停和大跌的就不要考虑了,可以关注下小阴小阳跌到前期支撑的品种。

 

本文内容不做推荐,仅供参考,投资有风险,入市须谨慎,希望可以帮助大家。

如有问题可关注以下公众号并留言:阿兴啊,更多内容将在公众号发布,我们一起探讨学习。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值