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

您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者知識>>正文內容

關于論壇中R-Break策略中全局變量的幾點疑問 [開拓者 TB]

  • 咨詢內容: 最近在研究R-Break策略,關于全局變量SetGlobalVar和GetGlobalVar的使用還是很迷惑,在論壇里面也找了一些老的帖子研究,稍懂一點,但是看到全局變量的用法就又迷糊了。
    if(Date != Date[1])  
    {
             SetGlobalVar(0,0);  //設置全局變量
             SetGlobalVar(1,0);  //設置全局變量
             startnow=startnow+1;
             。。。
              。。。
    }
    在這里把位置0和位置1賦值為0。
    if(Time*100>=notbef and Time*100<notaft and startnow>=2 and rfilter)
    {

           if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
             {
                     SetGlobalVar(1,1 );
             }
             if(hitoday>=ssetup and marketposition>-1 and GetGlobalVar(1)<1)
             {
                     If(Low<=(senter+(hitoday-ssetup)/div))
                     {
                             SellShort(1,senter+(hitoday-ssetup)/div);
                             SetGlobalVar(1,Time);
                             Return;
                     }
             }
    這里紅色的IF句里面的條件明顯不能成立,GetGlobalVar(1)是調用第一個位置處的全局變量值本來前面就賦值為零了,這里條件又不等于零,感覺明顯不對呀。
    哪位大俠能夠解釋一下呀。不勝感激。

     

  • TB技術人員: 策略里面有其他位置有 SetGlobalVar的語句,在這些語句中全局變量被賦予了其他值

     

  • TB客服:
    darknesszeal 發表于 2013-11-13 14:18
    策略里面有其他位置有 SetGlobalVar的語句,在這些語句中全局變量被賦予了其他值 ...

    Params
    Numeric notbef(9.00);
    Numeric notaft(14.55);
    Numeric f1(0.35);
    Numeric f2(0.07);
    Numeric f3(0.25);
    Numeric reverse(1.00);
    Numeric rangemin(0.2);
    Numeric xdiv(3);

    Vars
    NumericSeries ssetup(0);
    NumericSeries bsetup(0);
    NumericSeries senter(0);
    NumericSeries benter(0);
    NumericSeries bbreak(0);
    NumericSeries sbreak(0);
    NumericSeries ltoday(0);
    NumericSeries hitoday(9999);
    NumericSeries startnow(0);
    NumericSeries div(0);
    BoolSeries rfilter(false);
    Numeric i_reverse;
    Numeric i_rangemin;
    Numeric i_vB;
    Numeric i_vS;

    Begin
    i_reverse = reverse*(OpenD(0)/100);
    i_rangemin = rangemin*(OpenD(0)/100);
    if(BarStatus==0)
    {
            startnow=0;
            div=max(xdiv,1);
    }

    if(Date != Date[1])
    {
            SetGlobalVar(0,0);
            SetGlobalVar(1,0);
            startnow=startnow+1;
            ssetup=hitoday[1]+f1*(Close[1]-ltoday[1]);
            senter=((1+f2)/2)*(hitoday[1]+Close[1])-(f2)*ltoday[1];
            benter=((1+f2)/2)*(ltoday[1]+Close[1])-(f2)*hitoday[1];
            bsetup=ltoday[1]-f1*(hitoday[1]-Close[1]);
            bbreak=ssetup+f3*(ssetup-bsetup);
            sbreak=bsetup-f3*(ssetup-bsetup);

            hitoday=High;
            ltoday=Low;

            rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;
    }

    if(High>hitoday)
    {
            hitoday=High;
    }
    if(Low<ltoday)
    {
            ltoday=Low;
    }
    if(Time*100>=notbef and Time*100<notaft and startnow>=2 and rfilter)
    {

           if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
            {
                    SetGlobalVar(1,10000);
            }
            if(hitoday>=ssetup and marketposition>-1 and GetGlobalVar(1)<1)
            {
                    If(Low<=(senter+(hitoday-ssetup)/div))
                    {
                            SellShort(1,senter+(hitoday-ssetup)/div);
                            SetGlobalVar(1,Time);
                            Return;
                    }
            }
            if(ltoday<=bsetup and marketposition<1  and GetGlobalVar(1)<1)
            {
                    If(High>=(benter-(bsetup-ltoday)/div))
                    {
                            Buy(1,benter-(bsetup-ltoday)/div);
                            SetGlobalVar(1,Time);
                            Return;
                    }
            }

            if(marketposition==-1)
            {
                    SetGlobalVar(0,1);
                    if(High-EntryPrice>=i_reverse)
                    {
                            BuyToCover(1,entryprice+i_reverse);
                            Return;
                    }
            }
            if(marketposition==1)
            {
                    SetGlobalVar(0,1);
                    if(EntryPrice-Low>=i_reverse)
                    {
                            Sell(1,entryprice-i_reverse);
                            Return;
                    }
            }

            if(marketposition==0)
            {
                    if(High>=bbreak and GetGlobalVar(0) == 0)
                    {
                            Buy(1,bbreak);
                            Return;
                    }
            }
            if(marketposition==0)
            {
                    if(low<=sbreak  and GetGlobalVar(0) == 0)
                    {
                            SellShort(1,sbreak);
                            Return;
                    }
            }

    }

    if(Time*100>=notaft and Time<0.1600)
    {

            if(marketposition==-1)
            {
                    BuyToCover(1,Open);
            }
            if(marketposition==1)
            {
                    Sell(1,Open);
            }

    }
    End
    上面是整個策略,使用全局變量的地方我已經用紅色標示出來了。SetGlobalVar設置全局變量時只用了0和1兩個位置,后面設置的SetGlobalVar會覆蓋前面位置設置的值,這個我知道,但是不明白首先給0位置和1位置設置值為0,這個0是數字零,還是有其他含義的,前面也沒有說明,那只能按照默認數字0理解了,那后面的條件Time != GetGlobalVar(1) and GetGlobalVar(1) != 0這個條件就明顯不合理了。很難理解。

     

  • 網友回復: 這個全局變量大家都看不懂嗎?怎么沒人解答一下呢。

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 1145508240  有需要幫忙請點擊這里留言!!!進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 国产 第1页 | 国产精品麻豆a啊在线观看 国产精品麻豆高清在线观看 | 成人永久免费福利视频网站 | 国产色丁香久久综合 | 国产麻豆精品在线观看 | 成人免费男女视频网站慢动作 | 国产成人一区 | 青草热久精品视频在线观看 | 久久国产高清一区二区三区 | 日本精品高清一区二区2021 | ntr中文字幕亚洲综合 | free性日本| 欧美日韩精品福利在线观看 | 日本一区二区三区不卡在线视频 | 黄网站在线观看视频 | 免费人成大片在线观看播放 | 亚洲成年网站 | 黄视频在线观看网站 | 又粗又长又黄又爽视频 | 国产毛片视频 | 成人福利免费在线观看 | 午夜在线免费观看 | 快点给我黄色录像看 | 羞羞视频免费观看 | 国产a久久精品一区二区三区 | 亚洲一区二区三区在线免费观看 | 国产麻豆精品免费视频 | 波多野结衣国产一区二区三区 | 欧美在线 | 亚洲 | 亚洲成成品网站有线 | 欧美一二区视频 | 国产又爽又黄又舒服又刺激视频 | 男女男在线精品网站免费观看 | 最新黄色在线 | 成人免费国产gav视频在线 | 在线亚洲欧国产精品专区 | 一本高清在线视频 | 成人午夜免费福利 | 国产1024精品视频专区免费 | 欧美成人性生活视频 | 欧美日本高清一本二本三本 |