MACD/KDJ
MACD是最常用的幾個股票技術指標之一,很多人看到MACD就想到金叉買入,死叉賣出的常規策略。但是僅使用MACD指標成功率不高且交易次數過高,而且效果肯定不會太好,我們在MACD金叉買入,死叉賣出的基礎上增加KDJ共振,看看能不能找出一些使用的策略
先說下基礎的MACD金叉/死叉策略,基礎配置說明
- 3日超短
- -3.2 - 3.2% 可買如區間
- 單日最大買入3股
- -9.5止損
策略判斷如下(在這裡只測試深證以000開頭的股票):
buy.macd.diff,0>macd.dea,0 buy.macd.diff,-1<macd.dea,-1buy.increase,0>value,0.5config.source.pool=000***
然後測試下線上金叉,如下:
能夠看出,線下金叉比線上金叉成功率要好一點點,但是回撤太大
然後考慮合入KDJ指標,根據KDJ指標所處範圍,可以分為超賣,超買,鈍化等幾種情況,為了簡化操作,一鍵執行,本次祭出基於人工智慧boosting的蝸牛量化版本,修改後的寫法如下
#設置K線文件目錄config.source.k.dir=data#設置分筆數據文件目錄config.source.ticket.dir=tick#設置K線數據格式config.source.k.format=default#定義單日股票買入排序,默認為成交量降序(可選升序)config.trade.buy.order=desc#定義股票賣出時機,默認為尾盤(可選第二天開盤價-早盤)config.trade.sale.point=close#是否使用立即止盈模式,達到設定盈利立刻賣出config.trade.sale.rapid=yes#設置單股最大持有日期config.trade.max.hold.day=3#設定單股買入後再次買入禁買日期間隔config.trade.min.exclude=6#設置止盈點config.trade.max.profit=27.0#設定止損點config.trade.max.lost=-9.0#設定交易成本(千分之.)config.trade.tradecost=0.8#設定單日最大可買股票數config.trade.max.count=3#設定股票買入最大允許漲幅config.trade.max.allow.increase=3.2#設定股票買入最大允許跌幅config.trade.max.allow.decrease=-3.2boosting.做多成功率=50.0boosting.做多最大回撤=-24.0boosting.做多平均單筆收益=0.8buy.macd.diff,0>macd.dea,0buy.macd.diff,-1<macd.dea,-1items=buy.macd.diff,0<value,0.0^macd.diff,0>value,0.0buy.increase,0>value,0.5items=buy.kdj.j,0<value,15^kdj.j,0<value,30^kdj.j,0<value,45^kdj.j,0<value,60^kdj.j,0<value,75^kdj.j,0<value,90items=buy.kdj.j,0>value,10^kdj.j,0>value,20^kdj.j,0>value,30^kdj.j,0>value,40^kdj.j,0>value,50^kdj.j,0>value,60^kdj.j,0>value,70config.source.pool=000***
其中items=用於表明該語句是一個多選一語句
items=buy.kdj.j,0<value,15^kdj.j,0<value,30^kdj.j,0<value,45^kdj.j,0<value,60^kdj.j,0<value,75^kdj.j,0<value,90
上句在使用過程中軟體會自動分拆為6個候選買點,分別如下:
buy.kdj.j,0<value,15.0buy.kdj.j,0<value,30.0buy.kdj.j,0<value,40.0buy.kdj.j,0<value,60.0buy.kdj.j,0<value,75.0buy.kdj.j,0<value,90.0
根據以上批處理腳本,可以看出本腳本共包含了2*6*7=84個策略,一個子策略如下:
#設置K線文件目錄config.source.k.dir=data#設置分筆數據文件目錄config.source.ticket.dir=tick#設置K線數據格式config.source.k.format=default#定義單日股票買入排序,默認為成交量降序(可選升序)config.trade.buy.order=desc#定義股票賣出時機,默認為尾盤(可選第二天開盤價-早盤)config.trade.sale.point=close#是否使用立即止盈模式,達到設定盈利立刻賣出config.trade.sale.rapid=yes#設置單股最大持有日期config.trade.max.hold.day=3#設定單股買入後再次買入禁買日期間隔config.trade.min.exclude=6#設置止盈點config.trade.max.profit=27.0#設定止損點config.trade.max.lost=-9.0#設定交易成本(千分之.)config.trade.tradecost=0.8#設定單日最大可買股票數config.trade.max.count=3#設定股票買入最大允許漲幅config.trade.max.allow.increase=3.2#設定股票買入最大允許跌幅config.trade.max.allow.decrease=-3.2buy.macd.diff,0>macd.dea,0buy.macd.diff,-1<macd.dea,-1buy.macd.diff,0<value,0.0buy.increase,0>value,0.5buy.kdj.j,0<value,45buy.kdj.j,0>value,40config.source.pool=000***
執行後的結果如下
其他80個策略會被以下限制條件過濾掉
boosting.做多成功率=50.0boosting.做多最大回撤=-24.0boosting.做多平均單筆收益=0.8
再看一個截圖
其中搜索出一個比較好的策略如下:
config.source.k.dir=data#設置分筆數據文件目錄config.source.ticket.dir=tick#設置K線數據格式config.source.k.format=default#定義單日股票買入排序,默認為成交量降序(可選升序)config.trade.buy.order=desc#定義股票賣出時機,默認為尾盤(可選第二天開盤價-早盤)config.trade.sale.point=close#是否使用立即止盈模式,達到設定盈利立刻賣出config.trade.sale.rapid=yes#設置單股最大持有日期config.trade.max.hold.day=3#設定單股買入後再次買入禁買日期間隔config.trade.min.exclude=6#設置止盈點config.trade.max.profit=27.0#設定止損點config.trade.max.lost=-9.0#設定交易成本(千分之.)config.trade.tradecost=0.8#設定單日最大可買股票數config.trade.max.count=3#設定股票買入最大允許漲幅config.trade.max.allow.increase=3.2#設定股票買入最大允許跌幅config.trade.max.allow.decrease=-3.2buy.macd.diff,0>macd.dea,0buy.macd.diff,-1<macd.dea,-1buy.macd.diff,0<value,0.0buy.increase,0>value,0.5buy.kdj.j,0<value,15buy.kdj.j,0>value,10config.source.pool=000***
設定股票池000***範圍內,針對MACD金叉買入,三日持股或死叉賣出的策略,如果是線上金叉且當日kdj的j值在10-15區間內正確率可以達到72%,同時回撤相當小。如果需要效果更好的策略,則需要增加其他方面的考慮因素,比如股票分類,金叉時股票價格所在位置等等
最近2天我沒操作股票,策略無選股
如果感覺本文對你有幫助可以關注公眾號 蝸牛量化股票 snailstock
推薦閱讀:
※使用K線看盤要注意這幾點
※K線使用方法和技巧詳解 第三節圖形形態
※不知道什麼時候賣出?K線的頂部賣出形態
※k線圖經典圖解:K線反轉形態匯總(三)
※K線使用技巧:矩形形態運用技巧有哪些?