奇怪的問題,非常重要,請(qǐng)求幫忙! [開拓者 TB]
- 咨詢內(nèi)容:
編寫目的:
當(dāng)一根K線走完時(shí),我要利用這根剛走完的K線數(shù)據(jù)計(jì)算壓力或支撐位,這個(gè)計(jì)算過程比較復(fù)雜,比較消耗計(jì)算資源,所以我想在最新一條K線產(chǎn)生的瞬間也就是它的第一個(gè)TICK數(shù)據(jù)發(fā)來時(shí)只需計(jì)算一次,就可把計(jì)算結(jié)果存入CR1中,而不想每發(fā)一個(gè)TICK,就重復(fù)計(jì)算,這樣毫無必要,因?yàn)楸緛碛貌恢@根沒走完的K線數(shù)據(jù)。如果不限制這個(gè)條件,則每來一個(gè)TICK都必須重復(fù)計(jì)算,大大的浪費(fèi)了寶貴的計(jì)算時(shí)間。
本結(jié)果在歷史數(shù)據(jù)中準(zhǔn)確,但新產(chǎn)生K線時(shí),CR1的計(jì)算結(jié)果存不進(jìn)序列CR1中。
測試源碼如下:
Vars
Numeric MinPoint(0); //1跳的距離
Numeric Tmptime(0); // 全局變量0的值 用于新一條K線產(chǎn)品時(shí)記錄時(shí)間
NumericSeries CR1(0);
Begin
MinPoint=MinMove * PriceScale; //1跳的距離
tmptime=GetGlobalVar(0); //獲取記錄的最新時(shí)間值
If(tmptime==InvalidNumeric)
{
tmptime=Time;
SetGlobalVar(0,tmptime);
}
//當(dāng)一條新K線產(chǎn)生時(shí)
If(tmptime<>Time)
{
tmptime=Time;
SetGlobalVar(0,tmptime);
CR1=CurrentBar;
}
PlotString("T1",Text(CR1),H+2*MinPoint,Red);
End
測試結(jié)果:
- TB技術(shù)人員:
- TB客服:
20160121141305.png (3.52 KB, 下載次數(shù): 1) 2016-1-21 14:27:39 上傳 下載次數(shù): 1 - 網(wǎng)友回復(fù):
以上為測試結(jié)果,只有歷史K線的結(jié)果是對(duì)的,新產(chǎn)生的K線對(duì)應(yīng)的CR1值總不變,真奇怪!
- 網(wǎng)友回復(fù):
thc526119163 發(fā)表于 2016-1-21 14:30
以上為測試結(jié)果,只有歷史K線的結(jié)果是對(duì)的,新產(chǎn)生的K線對(duì)應(yīng)的CR1值總不變,真奇怪! ...
我覺得原因應(yīng)該是CR1=CurrentBar這一句只有在新K線產(chǎn)生的第一個(gè)Tick會(huì)執(zhí)行,這樣后面來的Tick運(yùn)行公式時(shí),CR1因?yàn)槭切蛄凶兞?,因此?huì)傳遞上一根BAR的值,所以就一直不變。而歷史BAR,因?yàn)閳?zhí)行1次,所以不影響。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容