九转交易是根据市场规律总结的一种股票买入策略,大致思想就是股票不可能一直跌,跌多了肯定会有反弹的,虽然名字叫九转交易,但更多的情况其实只是反弹而已,所以不要过分期望趋势反转。关于策略的介绍网上内容很多,这里就不多介绍了,给出一张网上广为流传的图片,大意就一目了然了。
下面给出程序实现函数:需要获取最近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就不是普通投资者能驾驭得了的了。个人感觉那些连续跌停和大跌的就不要考虑了,可以关注下小阴小阳跌到前期支撑的品种。
本文内容不做推荐,仅供参考,投资有风险,入市须谨慎,希望可以帮助大家。
如有问题可关注以下公众号并留言:阿兴啊,更多内容将在公众号发布,我们一起探讨学习。