您現(xiàn)在的位置:程序化交易>> 期貨公式>> 交易開(kāi)拓者(TB)>> 開(kāi)拓者知識(shí)>>正文內(nèi)容

為啥這樣計(jì)算兩根K線之間的間距是錯(cuò)的? [開(kāi)拓者 TB]

  • 咨詢內(nèi)容: 我想計(jì)算當(dāng)前bar與滿足條件的信號(hào)K線bar的索引號(hào)差值,即計(jì)算出滿足條件的K線bar與當(dāng)前bar間隔有多少根K線。
    因?yàn)槊扛鷅ar的索引值都會(huì)變動(dòng),所以我想使用一個(gè)邏輯變量來(lái)過(guò)濾滿足條件的K線bar的索引值的變動(dòng),即出現(xiàn)了信號(hào)K線,記錄下該K線bar的索引值后,就啟用過(guò)濾條件,使該信

    號(hào)K線的索引值不受新出現(xiàn)的K的索引值的影響。設(shè)計(jì)了以下代碼                                                                               
    Vars                                                                               
            Numeric SignalEntryCurrentBar;                //記錄滿足條件K線bar的索引值
            Bool EntryCondition;                        //開(kāi)倉(cāng)條件
            Bool EntrySignalFilter(False);                //開(kāi)倉(cāng)信號(hào)條件的邏輯過(guò)濾變量,初始值為不啟用過(guò)濾
            Numeric i;                                //記錄K線間距的變量               
    Begin
            If(!EntrySignalFilter)                        //當(dāng)不啟用信號(hào)過(guò)濾時(shí)
            {
                    If(EntryCondition==True)        //當(dāng)滿足開(kāi)倉(cāng)條件時(shí)
                    {
                            SignalEntryCurrentBar=CurrentBar;        //記錄滿足開(kāi)倉(cāng)條件的K線索引值
                            EntrySignalFilter=True;                        //啟用信號(hào)過(guò)濾,目的是使信號(hào)條件的K線的索引值固定,不隨之后每跟K線的索引值變動(dòng)而變動(dòng)
                    }
            }
            i=CurrentBar-SignalEntryCurrentBar;                        //記錄當(dāng)前K線與滿足條件信號(hào)K線的間距

            Commentary("CurrentBar:"+Text(CurrentBar));
            Commentary("SignalEntryCurrentBar:"+Text(SignalEntryCurrentBar));
            Commentary("i:"+Text(i));
    End
    我是想記錄了信號(hào)K線的索引值之后,改變EntrySignalFilter的值,使EntrySignalFilter=True,這樣回到If(!EntrySignalFilter)的判斷上,就會(huì)直接過(guò)濾掉中間的代碼,但是

    這段代碼根本起不到想要的作用,不知道哪里出現(xiàn)了問(wèn)題。

     

  • TB技術(shù)人員: 多種方法可以實(shí)現(xiàn)。
    1. vars
    2.     numericseries myflag;
    3. begin
    4.    if(conditionbuy==true)
    5.    {
    6.        buy;
    7.        myflag = currentbar;
    8.    }
    9.     currentbar - myflag //就可以得到當(dāng)前bar與信號(hào)位置之間間隔了多少K線。
    復(fù)制代碼
    1. vars
    2.     numericseries myflag
    3. begin
    4.     if(conditionbuy)
    5.     {
    6.          buy;
    7.          myflag = 1;
    8.     }else
    9.     {
    10.          myflag = myflag+1;
    11.     }
    復(fù)制代碼

     

  • TB客服:
    小米 發(fā)表于 2015-3-30 08:42
    多種方法可以實(shí)現(xiàn)。

    我就是使用第一種想法,但是沒(méi)有效果。currentbar會(huì)隨著每跟bar的更新而更新。比如說(shuō),均線的方向向上,這個(gè)條件在一定時(shí)間內(nèi)都滿足,但不一定就要在這個(gè)條件滿足時(shí)就開(kāi)始交易,還有其他的條件來(lái)控制交易。我是想要從一開(kāi)始發(fā)生均線方向向上的時(shí)候,就記錄下這個(gè)條件的bar的currentbar,然后這個(gè)值是固定的,不隨著之后出現(xiàn)的bar的索引值的變動(dòng)而變動(dòng)(因?yàn)榫€方向向上可能在第一次發(fā)生這個(gè)現(xiàn)象后都成立,而如果使用myflag=currentbar,每出現(xiàn)一根bar又滿足均線方向的條件,myflag就會(huì)隨著currentbar的變動(dòng)而變動(dòng)),我要用固定的myflag來(lái)計(jì)算之后的bar到第一次滿足均線方向向上的條件的bar的之間的間距。

     

  • 網(wǎng)友回復(fù):
    stephen49 發(fā)表于 2015-3-30 11:20
    我就是使用第一種想法,但是沒(méi)有效果。currentbar會(huì)隨著每跟bar的更新而更新。比如說(shuō),均線的方向向上, ...


    需要多加一個(gè)變量來(lái)控制記錄的起始點(diǎn)就好。
    1. vars
    2.     numericseries myflag;
    3.     numericseries startbar;
    4. begin
    5.    if(condition==true && myflag==0)
    6.    {
    7.          startbar = currentbar;
    8.          myflag =1;
    9.   }
    10.   //但是要注意,在這段條件結(jié)束后,需要將myflag清零的動(dòng)作。  
    復(fù)制代碼

     

  • 網(wǎng)友回復(fù):
    小米 發(fā)表于 2015-3-30 11:23
    需要多加一個(gè)變量來(lái)控制記錄的起始點(diǎn)就好。

    我從新寫了一下代碼:
    Params
        Numeric MAPeriod(10);                        //定義MA周期
    Vars
            NumericSeries MAValue;               //定義MA變量
            Numeric i;                                 //儲(chǔ)存K線間距值
            Numeric startbar(0);
            Bool Condition;
            numericseries myflag;
    Begin
            MAValue=Average(C,MAPeriod);               
            Condition = MAValue>MAValue[1];
            If(Condition==True && myflag==0)
            {
                    startbar=CurrentBar;
                    myflag=1;
            }
            i=CurrentBar-startbar;

            Commentary("CurrentBar:"+Text(CurrentBar));
            Commentary("startbar:"+Text(startbar));
            Commentary("i:"+Text(i));
    End
    我試過(guò)了,startbar還是隨著每跟bar的變動(dòng)而變動(dòng),i值永遠(yuǎn)都是0.你可以在圖表上試一試。

 

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

可聯(lián)系技術(shù)人員 QQ: 1145508240  點(diǎn)擊這里給我發(fā)消息進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


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

相關(guān)文章

    沒(méi)有相關(guān)內(nèi)容
主站蜘蛛池模板: 国产一级一片免费播放| 女人扒开腿让男人捅啪啪| 亚洲欧美日韩久久精品第一区| 野花香高清在线观看视频播放免费| 在线免费中文字幕| 中文字幕在线观看一区二区| 欧美jizz8性欧美| 亚洲视频免费在线观看| 老阿姨哔哩哔哩b站肉片茄子芒果 老阿姨哔哩哔哩b站肉片茄子芒果 | 四虎永久在线观看免费网站网址| 中文天堂最新版在线精品| 天海翼一区二区三区高清视频| 久久久久久久久人体| 欧洲美女与动性zozozo| 亚洲精品国产成人片| 精品日本一区二区三区在线观看| 国产对白真实伦视频在线| 337p日本大胆欧美人术艺术精品 | 真实国产乱子伦沙发睡午觉| 国产偷久久久精品专区| **性色生活片毛片| 在线观看黄网站| 一级做a爰片性色毛片新版的| 日本在线观看www| 亚洲av本道一区二区三区四区| 毛片a级毛片免费观看免下载| 午夜国产羞羞视频免费网站 | 成人免费a级毛片无码网站入口| 久久成人无码国产免费播放| 欧美国产激情二区三区| 亚洲视频在线看| 精品日韩一区二区| 国产一级理论片| 黄色一级黄色片| 国产精品一区二区三| 95在线观看精品视频| 色综合a怡红院怡红院首页| 美女视频黄频大全免费| 男人添女人p免费视频动态图| 福利一区二区三区视频午夜观看| 国内精品国语自产拍在线观看55|