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

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

為啥編譯出現(xiàn)大括號(hào)不匹配的問(wèn)題 [開(kāi)拓者 TB]

  • 咨詢內(nèi)容: 本帖最后由 人外有人 于 2013-7-25 10:25 編輯

    Params
            Numeric Length(14);
                    Numeric Lots(1);

    Vars
            NumericSeries sADX;
            NumericSeries sVolty;
            Numeric PlusDM;//+DM1
            Numeric MinusDM;//-DM1
            Numeric UpperMove;
            Numeric LowerMove;
            Numeric SumPlusDM;
            Numeric SumMinusDM;
            Numeric SumTR;
            NumericSeries AvgPlusDM;//+DM14
            NumericSeries AvgMinusDM;//-DM14
            Numeric SF;                        // smoothing factor
            NumericSeries SAR;
            Numeric i;
            NumericSeries TRValue;
                    NumericSeries AvgPlusDI;//+DI14
                    NumericSeries AvgMinusDI;//-DI14
                    Numeric k;
                    Numeric ReversalTime;//記錄止損點(diǎn)
                    Numeric NewHigh;//新高
                    Numeric EP;
                    Numeric Newlow;//新低
                    Numeric ReversalPoint;//記錄反轉(zhuǎn)的時(shí)間
                    Numeric TradeNumber;//記錄已發(fā)生的交易數(shù)
                    Numeric TradeTime;//記錄開(kāi)始交易兩次內(nèi)交易的日期
            Numeric oADX;
            Numeric oADXR;
            Numeric oVolty;
                    Numeric a;//代表的是SAR[2]
                    Numeric b;//代表的是SAR[1]
    Begin
            SF = 1/length;
            TRValue = TrueRange;
            If(CurrentBar == Length)
            {
                    for i = 0 To Length - 1
                    {
                            PlusDM = 0 ;
                            MinusDM = 0 ;
                            UpperMove = High - High[ i + 1 ] ;
                            LowerMove = Low[ i + 1 ] - Low ;
                            if (UpperMove > LowerMove and UpperMove > 0 )
                            {
                                    PlusDM = UpperMove;
                            }else if (LowerMove > UpperMove and LowerMove > 0)
                            {
                                    MinusDM = LowerMove ;
                            }
                            SumPlusDM = SumPlusDM + PlusDM ;
                            SumMinusDM = SumMinusDM + MinusDM ;
                            SumTR = SumTR + TRValue ;
                    }
                    AvgPlusDM = SumPlusDM / Length ;
                    AvgMinusDM = SumMinusDM / Length ;
                    sVolty = SumTR / Length ;
            }Else if(CurrentBar > Length)
            {
                    PlusDM = 0 ;
                    MinusDM = 0 ;
                    UpperMove = High - High[1] ;
                    LowerMove = Low[1] - Low ;
                    if (UpperMove > LowerMove and UpperMove > 0 )
                    {
                            PlusDM = UpperMove;
                    }else if (LowerMove > UpperMove and LowerMove > 0 )
                    {
                            MinusDM = LowerMove ;
                    }
                    AvgPlusDM = AvgPlusDM[1] + SF * ( PlusDM - AvgPlusDM[1] ) ;
                    AvgMinusDM = AvgMinusDM[1] + SF * ( MinusDM - AvgMinusDM[1] ) ;
                    sVolty = sVolty[1] + SF * ( TRValue  - sVolty[1] ) ;
            }Else
            {
                    oADX = InvalidNumeric;
                    oVolty = InvalidNumeric;
            }
                    AvgPlusDI=AvgPlusDM/sVolty;
                    AvgMinusDI=AvgMinusDM/sVolty;
                    TradeNumber=0;
                    IF (TradeNumber < 2 )//前兩次交易用動(dòng)向交易系統(tǒng)來(lái)進(jìn)行
                    {
                                    if (MarketPosition==0)//持空倉(cāng)
                                    {
                                                    IF (AvgPlusDI[1]<AvgMinusDI[1] and AvgPlusDI>AvgMinusDI)//做多條件
                                                    {
                                                                    Buy(Lots,close);//買(mǎi)入一手
                                                                    ReversalPoint=Low;
                                                                    TradeNumber=TradeNumber+1;
                                                                    TradeTime=Date;
                                                    }
                                                    else if (AvgPlusDI[1]>AvgMinusDI[1] and AvgPlusDI<AvgMinusDI)//做空條件
                                                    {
                                                                    SellShort(Lots,close);
                                                                    ReversalPoint=High;
                                                                    TradeNumber=TradeNumber+1;
                                                                    TradeTime=Date;
                                                    }
                                                   
                                    }
                                    else if (MarketPosition==1)//持多頭
                                    {
                                                    if (Low<ReversalPoint)//反轉(zhuǎn)條件
                                                    {
                                                                    SellShort(Lots,close);
                                                                    TradeNumber=TradeNumber+1;
                                                                    TradeTime=Date;
                                                    }
                                    }
                                    else//持空頭
                                    {
                                                    if (High>ReversalPoint)//反轉(zhuǎn)條件
                                                    {
                                                                    Buy(Lots,close);
                                                                    TradeNumber=TradeNumber+1;
                                                                    TradeTime=Date;
                                                    }
                                    }
                    }
                    IF (TradeNumber >= 2 )//之后的交易用拋物式時(shí)間價(jià)格交易系統(tǒng)
                    {
                                    if (Date==TradeTime+1)//開(kāi)始使用拋物式時(shí)間價(jià)格交易系統(tǒng)的時(shí)間點(diǎn)
                                    {
                                                    if (MarketPosition==1)//持多頭
                                                    {
                                                                    a=10000000;//盡量用大的數(shù),與下面Low比小的時(shí)候,使得結(jié)果為L(zhǎng)ow
                                                                    k=0;
                                                                    for i = 2 To BarCount
                                                                    {
                                                                                    if (OpenIntD-OpenIntD[i+1]<>0)//看是否是上個(gè)交易的開(kāi)始時(shí)刻
                                                                                    {
                                                                                                    k=k+1;
                                                                                                    if (k==1)
                                                                                                    {
                                                                                                                    LastTradeBegin=i;//得到上個(gè)交易的開(kāi)始時(shí)刻
                                                                                                                    break;
                                                                                                    }
                                                                                    }
                                                                    }
                                                                    for i=2 To LastTradeBegin
                                                                    {
                                                                                    a=Min(a,Low);//得到上個(gè)交易的最低點(diǎn)
                                                                    }
                                                                    if (a>min(Low[2],Low[3]))
                                                                    {
                                                                                    a=min(Low[2],Low[3]);//SAR不能超過(guò)價(jià)格區(qū)間
                                                                    }
                                                                    b=a+0.02*(High[2]-a);//下一個(gè)SAR[1]的值
                                                                    if (b>min(Low[1],Low[2]))
                                                                    {
                                                                                    b=min(Low[1],Low[2]);
                                                                    }
                                                                    if (High>Max(High[1],High[2]))//是否達(dá)到新高
                                                                    {
                                                                                    SAR==b+0.04*(Max(High[1],High)-b);//將因子取成0.04
                                                                    }
                                                                    else
                                                                    {
                                                                                    SAR==b+0.02*(Max(High[1],High)-b);//沒(méi)突破新高,將因子取成0.02
                                                                    }
                                                                    if (SAR>min(Low,Low[1]))
                                                                    {
                                                                                    SAR=min(Low,Low[1]);//SAR存放的是第二天的SAR值
                                                                    }
                                                    }
                                                    else
                                                    {
                                                                    a=High[2];//取初值
                                                                    k=0;
                                                                    for i = 2 To BarCount
                                                                    {
                                                                                    if (OpenIntD-OpenIntD[i+1]!=0)//看是否是上個(gè)交易的開(kāi)始時(shí)刻
                                                                                    {
                                                                                                    k=k+1;
                                                                                                    if (k==1)
                                                                                                    {
                                                                                                                    LastTradeBegin=i;//得到上個(gè)交易的開(kāi)始時(shí)刻
                                                                                                                    break;
                                                                                                    }
                                                                                    }
                                                                    }
                                                                    for i=2 To LastTradeBegin
                                                                    {
                                                                                    a=Max(a,High);//得到上個(gè)交易的最高點(diǎn)
                                                                    }
                                                                    if (a>max(High[2],High[3]))
                                                                    {
                                                                                    a=max(High[2],High[3]);//SAR不能超過(guò)價(jià)格區(qū)間
                                                                    }
                                                                    b=a-0.02*abs(Low[2]-a);//下一個(gè)SAR[1]的值
                                                                    if (b<max(High[1],High[2]))
                                                                    {
                                                                                    b=max(High[1],High[2]);
                                                                    }
                                                                    if (Low>Min(Low[1],Low[2]))
                                                                    {
                                                                                    SAR==b-0.04*abs(Min(Low[1],Low)-b);//將因子取成0.04
                                                                    }
                                                                    else
                                                                    {
                                                                                    SAR==b-0.02*abs(Min(Low[1],Low)-b);//沒(méi)突破新高,將因子取成0.02
                                                                    }
                                                                    if (SAR<max(High,High[1]))
                                                                    {
                                                                                    SAR=max(High,High[1]);//SAR存放的是第二天的SAR值
                                                                    }
                                                    }
                                    }
                                    else
                                    {
                                                    if (MarketPosition==1)//持多頭
                                                    {
                                                                    if (Low<SAR[1])//反轉(zhuǎn)條件
                                                                    {
                                                                                    SellShort(Lots,close);
                                                                                    for i=1 To BarCount
                                                                                    {
                                                                                                    if (OpenIntD<=0)//看是否是上個(gè)交易的開(kāi)始時(shí)刻
                                                                                                    {
                                                                                                                    k=i;//得到上個(gè)交易的開(kāi)始時(shí)刻
                                                                                                                    break;
                                                                                                    }
                                                                                    }
                                                                                    b=High[1];
                                                                                    for i=1 To k-1
                                                                                    {
                                                                                                    b=Max(b,High);//得到上個(gè)交易的最高點(diǎn)
                                                                                    }
                                                                                    if (b>min(Low[1],Low[2]))
                                                                                    {
                                                                                                    b=min(Low[1],Low[2]);//SAR不能超過(guò)價(jià)格區(qū)間
                                                                                    {
                                                                                    SAR=b+0.02*(High-b);//下一個(gè)SAR的值
                                                                                    ReversalTime=Date;
                                                                    }
                                                                    if (Low>=SAR[1])//繼續(xù)持倉(cāng)條件
                                                                    {
                                                                                    k=0;
                                                                                    for i=Date-ReversalTime-1 DownTo 1
                                                                                    NewHigh=High[Date-ReversalTime-1];
                                                                                    for j=Date-ReversalTime-1 DownTo i
                                                                                    {
                                                                                                    NewHigh=Max(NewHigh,NewHigh[j]);
                                                                                    }
                                                                                    if (High>NewHigh)//求新高的個(gè)數(shù)
                                                                                    {
                                                                                                    k=k+1;
                                                                                    }
                                                                                    EP=Max(NewHigh,High);
                                                                                    IF (0.02*k<=0.2)//AF的值不能大于0.2
                                                                                    {
                                                                                                    AF=0.02*k;
                                                                                    }
                                                                                    else
                                                                                    {
                                                                                                    AF=0.2;
                                                                                    }
                                                                                    SAR=b+AF*(EP-b);//求得SAR
                                                                                    IF (SAR>min(Low,Low[1]))
                                                                                    {
                                                                                                    SAR=min(Low,Low[1]);//SAR存放的是第二天的SAR值
                                                                                    }
                                                                    }
                                                    }
                                                    if (MarketPosition<1)//持空頭
                                                    {
                                                                    if (High>SAR[1])//反轉(zhuǎn)條件
                                                                    {
                                                                                    Buy(Lots,close);
                                                                                    for i=1 To BarCount
                                                                                    {
                                                                                                    if (OpenIntD>=0)//看是否是上個(gè)交易的開(kāi)始時(shí)刻
                                                                                                    {
                                                                                                                    k=i;//得到上個(gè)交易的開(kāi)始時(shí)刻
                                                                                                                    break;
                                                                                                    }
                                                                                    }
                                                                                    b=Low[1];
                                                                                    for i=1 To k-1
                                                                                    {
                                                                                                    b=Min(b,Low);//得到上個(gè)交易的最低點(diǎn)
                                                                                    }
                                                                                    if (b<max(High[1],High[2]))
                                                                                    {
                                                                                                    b=max(High[1],High[2]);//SAR不能超過(guò)價(jià)格區(qū)間
                                                                                    {
                                                                                    SAR=b-0.02*abs(Low-b);//下一個(gè)SAR的值
                                                                                    ReversalTime=Date;
                                                                    }
                                                                    if (High<=SAR[1])//繼續(xù)持倉(cāng)條件
                                                                    {
                                                                                    k=0;
                                                                                    for i=Date-ReversalTime-1 DownTo 1
                                                                                    NewLow=Low[Date-ReversalTime-1];
                                                                                    for j=Date-ReversalTime-1 DownTo i
                                                                                    {
                                                                                                    NewLow=Min(NewLow,NewLow[j]);
                                                                                    }
                                                                                    if (Low<NewLow)
                                                                                    {
                                                                                                    k=k+1;//求新高的個(gè)數(shù)
                                                                                    }
                                                                                    EP=Min(NewLow,Low);
                                                                                    IF (0.02*k<=0.2)//AF的值不能大于0.2
                                                                                    {
                                                                                                    AF=0.02*k;
                                                                                    }
                                                                                    else
                                                                                    {
                                                                                                    AF=0.2;
                                                                                    }
                                                                                    SAR=b-AF*(EP-b);//求得SAR
                                                                                    IF (SAR>max(High,High[1]))
                                                                                    {
                                                                                                    SAR=max(High,High[1]);//SAR存放的是第二天的SAR值
                                                                                    }
                                                                    }
                                                    }
                                    }
                    }
    End

     

  • TB技術(shù)人員:

     

  • TB客服:

     

  • 網(wǎng)友回復(fù): 是在最后一行的end處,報(bào)出大括號(hào)不匹配的錯(cuò)誤,求小米求救啊

     

  • 網(wǎng)友回復(fù):

 

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

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


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

相關(guān)文章

    沒(méi)有相關(guān)內(nèi)容
主站蜘蛛池模板: 亚洲中字 | 一级毛片特级毛片免费的 | 中文字幕成人免费高清在线视频 | 欧美成人三级网站 | 在线综合+亚洲+欧美中文字幕 | 亚洲图片欧美日韩 | 91po国产在线精品免费观看 | 韩国 欧美 日产 国产精品 | 亚洲欧美日韩高清 | 最近中文字幕更新免费 | 一本一道波多野结衣一区二区 | 中文字幕国产视频 | 欧美国产小视频 | 一级成人毛片 | 黄色网页在线免费观看 | 久久99免费视频 | 男女扒开双腿猛进入免费看污 | 黄色网 在线播放 | 日产精品一二三四区国产 | 最新中文字幕在线播放 | 免费黄色福利 | 影音先锋在线亚洲精品推荐 | 99在线视频网站 | 日韩在线aⅴ免费视频 | 在线国产一区 | 欧美不卡在线观看 | 欧美成人xxxxxxxx在线 | 狂野欧美激情性xxxx | 国产中文字幕久久 | 成年人在线视频观看 | 成年轻人网站色 免费看 | 91麻豆极品在线观看 | 欧美成人se01短视频在线看 | 日韩成人精品日本亚洲 | 7m视频在线观看高清国产7m | 国产精品自在线拍国产 | 亚洲另类自拍丝袜第1页 | www.亚洲国产 | 国产精品推荐天天看天天爽 | 成人性色大片 | 色综合天天综合网看在线影院 |