人人爽天天爽夜夜爽qc-人人爽天天爽夜夜爽曰-人人天天爱天天做天天摸-人人天天夜夜-色网站在线-色网站在线看

您現(xiàn)在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識(shí)>>正文內(nèi)容

怎樣提高效率? [金字塔]

  • 咨詢內(nèi)容:

    在引用其它公式指標(biāo)的時(shí)候,速度很慢,需要想辦法提高運(yùn)行效率,有幾個(gè)問(wèn)題。

     

    比如某個(gè)需要引用的公式指標(biāo)'ABC.A',這個(gè)公式本身是組K線運(yùn)行模式,

     

    當(dāng)前代碼

    A:=STKINDI('RU00','ABC.A',0,DATAPERIOD);  //引用公式'ABC’的A值

     

    問(wèn)題在于,假設(shè)當(dāng)前圖表有N根K,為了得到'ABC’的A值,每根K線都有要運(yùn)行一次上述代碼,都會(huì)去調(diào)用并運(yùn)行ABC,

    而公式ABC在計(jì)算時(shí)也是逐K線的執(zhí)行到當(dāng)前圖表相對(duì)應(yīng)的周期,于是當(dāng)前圖表從第一根K到第N根K,

    ABC運(yùn)行了1+2+3+4+......+N=(1+N)*N/2次,這將是一個(gè)天文數(shù)字,而在靜態(tài)測(cè)試情況下,當(dāng)前代碼只運(yùn)行了N次,

    關(guān)鍵是ABC被大量重復(fù)運(yùn)行了。

     

    如果是動(dòng)態(tài)行情下運(yùn)行,只刷最后一根K,每秒刷新兩次,則每秒ABC要運(yùn)行2*(N+1)次,在換K線時(shí)當(dāng)前代碼還

    是會(huì)從頭到尾運(yùn)行一次,則ABC會(huì)被運(yùn)行1+2+3+4+.....N+N+1次,電腦基本動(dòng)不了了。

     

    不知上述推斷是否為真。我的想法是,如果能實(shí)現(xiàn)在調(diào)用ABC時(shí)只運(yùn)行一次,把A值形成數(shù)組,再運(yùn)行當(dāng)前代碼時(shí)直接根據(jù)數(shù)組下標(biāo)引用就可以了。可否實(shí)現(xiàn)?

     

     

     

     

  • 金字塔客服: 用STKINDIEX,里面有限定引用周期數(shù),而且現(xiàn)在逐k線模式的計(jì)算方式都有設(shè)定為僅刷最后一根k線,也就是最后一根k線會(huì)引用一次,進(jìn)行N次計(jì)算

     

  • 用戶回復(fù): 我自己檢測(cè)了一下,我上面的帖子理解有誤,實(shí)際情況是這樣的:
    一、當(dāng)前公式是序列模式運(yùn)行,被引用公式也是序列模式運(yùn)行,那么兩個(gè)公式都只運(yùn)行一次;二、當(dāng)前公式是序列模式運(yùn)行,被引用公式是逐K線模式運(yùn)行,那么當(dāng)前公式只運(yùn)行一遍,被引用公式執(zhí)行N次(假設(shè)被數(shù)據(jù)為N根K);三、當(dāng)前公式是逐K線運(yùn)行,被引用公式是序列模式運(yùn)行時(shí),當(dāng)前公式運(yùn)行N次,被引用公式只運(yùn)行一次就遍歷周期把指標(biāo)值全部算完,當(dāng)前公式在逐K線運(yùn)行時(shí)只是完成逐K線對(duì)應(yīng)賦值,不會(huì)讓被引用公式多次運(yùn)行;四、當(dāng)前公式是逐K線運(yùn)行,被引用公式也是逐K線運(yùn)行,當(dāng)前公式運(yùn)行N次,被引用公式也是運(yùn)行N次,而不是上述的(1+N)*N/2次。并且,在引用時(shí)有記憶功能。比如,IF BARPOS=100 THEN A:=STKINDI('RU00','ABC.A',0,DATAPERIOD);IF BARPOS=300 THEN B:=STKINDI('RU00','ABC.A',0,DATAPERIOD);第一次引用時(shí),ABC會(huì)從RU00的第一根K運(yùn)行到第100根K,運(yùn)行了100次,第二次被引用時(shí),ABC不是從第1根K運(yùn)行到第300根K,而是從第101根K開(kāi)始運(yùn)行到第300根K(因?yàn)榍懊?00根已經(jīng)運(yùn)行過(guò)了),運(yùn)行了200次。
    在引用其它品種公式指標(biāo)時(shí),相當(dāng)于是把兩個(gè)圖表疊加到一起,大致按K線個(gè)數(shù)(不按時(shí)間)  對(duì)齊。而對(duì)于STKINDIEX   函數(shù)只能在當(dāng)前公式是逐K線模式下運(yùn)行,其目的是為了強(qiáng)制被引用公式計(jì)算K線的根數(shù)不和當(dāng)前圖表相同。在靜態(tài)測(cè)試情況下,這個(gè)函數(shù)無(wú)用。在動(dòng)態(tài)行情接收時(shí),由于每換一根K,當(dāng)前公式都會(huì)從頭到尾運(yùn)行一遍,造成被引用公式也會(huì)從頭到尾運(yùn)行,效率大大降低,STKINDIEX就有用了,前提是不能影響交易信號(hào)。
    所以,效率的提高關(guān)鍵是被引用公式盡可能高效,能夠序列運(yùn)行最好,不能序列運(yùn)行應(yīng)盡可能不寫不需要的代碼和輸出,只需要引用一個(gè)指標(biāo),就不要計(jì)算其它指標(biāo),因?yàn)樵谝脮r(shí)每行代碼都會(huì)運(yùn)行。
    以上測(cè)試結(jié)果供菜鳥(niǎo)們共勉。如何知道被引用公式運(yùn)行了多少次,是如何執(zhí)行的?我的方法是在被引用公式里面加上一句:MSGOUT(1,NUMTOSTR(BARPOS,0));

     

  • 網(wǎng)友回復(fù): 勾選“僅刷最后K線”就行了

     

  • 網(wǎng)友回復(fù): 對(duì)于動(dòng)態(tài)行情接收狀態(tài),經(jīng)過(guò)我的反復(fù)測(cè)試,發(fā)現(xiàn)和靜態(tài)測(cè)試狀態(tài)不同,序列模式未必就好。一、當(dāng)前公式是逐K(只刷新最后一根,以下同),被引用指標(biāo)公式也是逐K模式,當(dāng)前圖表?yè)QK線時(shí),從頭到尾每根K線執(zhí)行一遍當(dāng)前公式,被引用公式也是從頭到尾執(zhí)行一遍,這與與靜態(tài)測(cè)試結(jié)果一致。在當(dāng)前沒(méi)有換K時(shí),每接收一個(gè)TICK,當(dāng)前公式和被引用公式都是執(zhí)行一次,這就是所謂只刷新最后一根模式。
    二、當(dāng)前是逐K線模式,被引用公式是序列模式時(shí),當(dāng)前公式的執(zhí)行情況與上面一樣,被引用公式始終是每來(lái)一個(gè)TICK執(zhí)行一次,不會(huì)從頭到尾執(zhí)行。但是在動(dòng)態(tài)情況下,序列模式所謂只執(zhí)行一次是是如何運(yùn)行的?后面還有測(cè)試。
    三、當(dāng)前是序列模式,被引用公式也是序列模式,兩者都是每來(lái)一個(gè)TICK運(yùn)行一次。(但我認(rèn)為在實(shí)盤中這是最慢的方式,見(jiàn)下文)
    四、當(dāng)前是序列模式,被引用公式是逐K線模式,問(wèn)題來(lái)了。當(dāng)前公式是每來(lái)一個(gè)TICK執(zhí)行一次,但是被引用公式卻是始終每來(lái)一個(gè)TICK從頭到尾執(zhí)行一遍,雖然被引用公式應(yīng)該只刷新最后一根K。這種情況說(shuō)明了序列模式在動(dòng)態(tài)行情下的執(zhí)行機(jī)制,雖然名義上刷新一次只執(zhí)行一次,但是每執(zhí)行一次都要求遍歷周期,所以才造成被引用公式每來(lái)個(gè)TICK都要從頭到尾執(zhí)行。
    結(jié)論:所謂逐K線模式,是先從上到下執(zhí)行公式語(yǔ)句,然后從左到右每個(gè)BAR重復(fù)執(zhí)行該公式,并把每個(gè)BAR上每個(gè)變量的結(jié)果傳遞給下一個(gè)BAR;所謂序列模式,是每執(zhí)行一句公式代碼都要從左到右遍歷周期,然后再執(zhí)行下一句。在靜態(tài)測(cè)試情況下,序列模式可能效率占優(yōu)。但是在動(dòng)態(tài)行情接收狀態(tài)下,每來(lái)一個(gè)TICK兩者都要執(zhí)行一遍公式,逐K模式只需要計(jì)算最后一個(gè)BAR的單值,但序列模式執(zhí)行時(shí)仍然會(huì)遍歷周期求得變量的序列值(而不是一個(gè)單值)。顯然,只刷最后一根K線的逐K模式在實(shí)盤中效率更高。包括被引用公式,也應(yīng)該用逐K模式,實(shí)盤中用STKINDIEX函數(shù)控制需引用的K線個(gè)數(shù)。

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 1145508240  有需要幫忙請(qǐng)點(diǎn)擊這里留言!!!進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒(méi)有相關(guān)內(nèi)容
主站蜘蛛池模板: 美国aaaa一级毛片啊 | 特黄特黄一级高清免费大片 | 成人网18免费视频 | 最近最新中文字幕高清免费 | 午夜剧场网站 | 欧美不卡网 | 男人的天堂色偷偷之色偷偷 | 色播视频在线播放 | 国产成人精品一区二区免费 | 欧美日韩在线看 | 成年影院在线看网站免费 | 日韩免费片 | 久久九九色 | 欧洲精品不卡1卡2卡三卡四卡 | 欧美日韩高清不卡免费观看 | 最新午夜韩国理论片77网 | 高清一级做a爱过程不卡视频 | 国产片a| 热久久国产欧美一区二区精品 | 怡春院免费| 男人女人真曰批视频大全免费观看 | 午夜在线看片 | 欧美成人性色生活片免费在线观看 | 国产第一区二区三区在线观看 | 91亚洲国产在人线播放午夜 | 精品欧美日韩一区二区三区 | 91在线 | 亚洲| 欧美日韩在线国产 | 亚洲a视频| 色综合天天操 | 成年人在线视频观看 | 色黄三大片免费 | 久草视频手机在线观看 | 亚洲欧美日韩国产综合专区 | 三级黄视频| 99久久伊人 | 日韩伦理视频 | 韩国19禁在线观看 | 六月激情丁香 | 国产成人欧美一区二区三区vr | 2021国产精品自拍 |