關(guān)于信號(hào)消失的技術(shù)探討
作者:開(kāi)拓者 TB 來(lái)源:cxh99.com 發(fā)布時(shí)間:2012年12月02日
- 咨詢內(nèi)容: 信號(hào)消失應(yīng)該是由于判斷條件發(fā)生了變化導(dǎo)致條件不符而取消交易行為,本人也困惑于其中的一些消失原因,特發(fā)帖探討消失的技術(shù)原因,希望大家積極參與討論,提高對(duì)判斷條件運(yùn)行機(jī)制的認(rèn)識(shí)。我所認(rèn)為信號(hào)消失的原因大致如下:
第一,序列變量如果取值為invalid 那從第一根bar開(kāi)始重新計(jì)算,因此在條件判斷中是否有序列變量存在invalid值導(dǎo)致信號(hào)消失?
第二,條件判斷一般總是以類似如下形式出現(xiàn)
A=close;
if (marketposition==0 && A>open)
buy(0,0);
如此簡(jiǎn)單的語(yǔ)句,我想大家都知道會(huì)產(chǎn)生信號(hào)消失問(wèn)題,那我不禁想深入研究下,當(dāng)A>open的條件符合的時(shí)候,系統(tǒng)會(huì)開(kāi)倉(cāng),在當(dāng)前bar上行情繼續(xù)更新,之后A<open的時(shí)候那開(kāi)倉(cāng)信號(hào)就會(huì)消失,那為何marketposition變?yōu)榱?,而A還是>open的時(shí)候?yàn)楹涡盘?hào)不會(huì)消失呢?
第三,復(fù)雜化上述代碼
numeric A;
numericseries B;
A=close;
//假設(shè)close在2000點(diǎn),open在1999點(diǎn)
if (marketposition==0 && A>open)
{
buy(0,A);
B=A;
}
if (marketposition==1 && 2001-B>0)
{
buy(1,B);
B=B+1;
}
這段代碼開(kāi)倉(cāng)成功后到加倉(cāng)部分第一次加倉(cāng)信號(hào)會(huì)出現(xiàn),當(dāng)運(yùn)行了B=B+1后,B賦值為2001之后,下一個(gè)tick信號(hào)就會(huì)消失,2001-B<0不符合加倉(cāng)條件了,信號(hào)就消失了?
如何解決類似情況,希望有解決經(jīng)驗(yàn)的同學(xué)提出寶貴見(jiàn)解。
- TB技術(shù)人員: 看來(lái)沒(méi)有人能搞定?
- TB客服: 之前聽(tīng)某大大說(shuō),這個(gè)是TB底層判斷的問(wèn)題,有點(diǎn)復(fù)雜~
- 網(wǎng)友回復(fù):
lanchongms 發(fā)表于 2012-7-2 08:16
之前聽(tīng)某大大說(shuō),這個(gè)是TB底層判斷的問(wèn)題,有點(diǎn)復(fù)雜~
信號(hào)消失就是信號(hào)閃爍,代碼中存在未來(lái)函數(shù)。沒(méi)有什么底層判斷一說(shuō)。
- 網(wǎng)友回復(fù): 具體看了樓主的要求。在同一個(gè)bar上實(shí)現(xiàn)開(kāi)倉(cāng)和加碼,還真沒(méi)有試過(guò)。因?yàn)檫@不符合策略的要求。加碼跟開(kāi)倉(cāng)基本等于同時(shí)進(jìn)行,沒(méi)有意義
但這樣的嘗試還是好的。