我在論壇翻出一段代碼,簡單修改后測試,發現問題,代碼如下:
VAR31:=BACKSET(REF(HIGH,2)=HHV(HIGH,5),3);
VAR41:=CROSS(VAR31,0.9);
VAR51:=BACKSET(REF(LOW,2)=LLV(LOW,5),3);
VAR61:=CROSS(VAR51,0.9);
ZL:= REF(HIGH,BARSLAST(VAR41));
STICKLINE(C,REF(HIGH,BARSLAST(VAR41)),REF(HIGH,BARSLAST(VAR41)),COLORYELLOW,1);
ZC:= REF(LOW,BARSLAST(VAR61));
STICKLINE(C,REF(LOW,BARSLAST(VAR61)),REF(LOW,BARSLAST(VAR61)),COLORCYAN,1);
TK:=TIME>=0915&&TIME<=1445;
TP:=TIME>=1454;
TK && CROSS(C,ZL),BPK;
TK && CROSS(ZC,C),SPK;
TP,CLOSEOUT;
AUTOFILTER;
測試結果如下圖:
此主題相關圖片如下:贏智截圖20131115193404.jpg
把上面代碼倒數第二行的清倉語句改成:
TP||C<BKHIGH*0.90,SP;
TP||C>SKLOW*1.1,BP;
測試結果就變成了下面這個樣子:
此主題相關圖片如下:贏智截圖20131115193316.jpg
又嘗試著改為tp,bp; tp,sp;結果又跟使用closeout時一樣,經核對信號,多數信號不一致,根據代碼原理判斷,第二個圖的信號準一些。
軟件版本為最新的387,確認信號下單,測試環境完全一樣。代碼有未來,但根據原理不應該影響信號,未來是用來標記位置并畫線的。
我就不明白了,C<BKHIGH*0.90,價格小于買開以來最高價的10%,這是一句不可能達到的平倉條件,有沒有這句都一樣,為什么去掉這句信號全亂了。
測試漏洞補來補去也補不完,這結果怎么讓人相信。
我知道有未來函數,但問題是,它跟C<BKHIGH*0.90這句有什么關系?
我是在測試,又沒有新行情數據,有未來又如何,難道還能改變信號?
把代碼里的
tp,CLOSEOUT;
改為
tp,sp;
tp,bp;
測試結果是一樣的,但如果改成
TP||C<BKHIGH*0.90,SP;
TP||C>SKLOW*1.1,BP;
結果就完全不一樣,只是加了一句10%的上損而已,10%啊,可能達到嗎,這句有沒有能影響結果嗎?
我只是隨便復制一段代碼測試一下而已,我對這模型不感興趣,只是發現了問題反饋給你們,希望你們做的更好,請你們認真點。
當然,也可能文華的軟件沒有問題,而是我水平太次不會用,那請指教,為什么信號不一致。