金字塔“序列模式下,平倉信號未出現(xiàn),卻出現(xiàn)另一方向的開倉信號”的解決方法[金字塔模型]
- 內(nèi)容:
金字塔“序列模式下,平倉信號未出現(xiàn),卻出現(xiàn)另一方向的開倉信號”的解決方法,類似的問題之前論壇上好幾個人提過,當時只是給你建議,沒有具體解決
今天一客戶剛好碰到類似情況,故在此給一個解決的示例
某投資者的策略:
做多: 倉位為0時,macd 金叉開多,死叉平多(需穿越)
做空:倉位為0時, 慢速KD死叉開空,金叉平空(需穿越)
當然,如果是標準版用戶,使用逐K線模式,此模型很容易便可實現(xiàn),但在序列模式下如何實現(xiàn)呢?
如果采用以下代碼,則會出現(xiàn)“平倉信號未出現(xiàn),卻出現(xiàn)另一方向的開倉信號”:
diff:=ema(c,12)-ema(c,26);
dea:=ema(diff,9);
RSV:= (CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
FASTK:=SMA(RSV,3,1);
K:=SMA(FASTK,3,1);
D:=SMA(K,5,1);bk:=cross(diff,dea);sp:=cross(dea,diff);
sk:=cross(d,k);bp:=cross(k,d);enterlong:bk,tfilter;
exitlong:sp,tfilter;
entershort:sk,tfilter;
exitshort:bp,tfilter;
問題出現(xiàn)的原因是 平倉條件成立之前,另一方向的開倉信號就成立了。所以,這里要過濾一下。
方法有多種,可以采用如下思路,這種思路比較有通用性:
diff:=ema(c,12)-ema(c,26);
dea:=ema(diff,9);
RSV:= (CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
FASTK:=SMA(RSV,3,1);
K:=SMA(FASTK,3,1);
D:=SMA(K,5,1);bk:=cross(diff,dea);
sp:=cross(dea,diff);
sk:=cross(d,k);
bp:=cross(k,d);flagd1:=if(barpos=1,0,if(bk,1,if(sp,0,0)));
flagd:=valuewhen(barpos=1 or bk or sp,flagd1);flagk1:=if(barpos=1,0,if(sk,-1,if(bp,0,0)));
flagk:=valuewhen(barpos=1 or sk or bp,flagk1);enterlong:bk and flagk=0,tfilter;//flagk過濾
exitlong:sp,tfilter;
entershort:sk and flagd=0,tfilter;//flagd過濾
exitshort:bp,tfilter;
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友
可聯(lián)系技術人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內(nèi)容