大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

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

如何用自編RSI函數表示RSI值的增大或降低? [開拓者 TB]

  • 咨詢內容: 完全復制系統的RSI做了個自編RSI函數: RSIvalue(length)

    在我的一個交易策略中需要用到“前一根K線的RSI值比前面第二根K線的RSI值變大了”作為判斷條件,

    if(RSIvalue[1](length)>RSIvalue[2](length))
    {
    }

    這樣表示可以嗎?

    //------------------------------------------------------------------------
    // 簡稱: RSIvalue
    // 名稱: 計算RSI值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
    ? ? ? ? Numeric Length(14) ;
    Vars
    ? ? ? ? NumericSeries NetChgAvg( 0 );
    ? ? ? ? NumericSeries TotChgAvg( 0 );
    ? ? ? ? Numeric SF( 0 );
    ? ? ? ? Numeric Change( 0 );? ? ? ?
    ? ? ? ? Numeric ChgRatio( 0 ) ;
    ? ? ? ? NumericSeries RSIValue;
    ? ? ? ? NumericSeries CP;
    Begin
    ? ? ? ? CP=Close;
    ? ? ? ? If(CurrentBar <= Length - 1)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? NetChgAvg = ( CP - CP[Length] ) / Length ;
    ? ? ? ? ? ? ? ? TotChgAvg = Average( Abs( CP - CP[1] ), Length ) ;
    ? ? ? ? }Else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? SF = 1/Length;
    ? ? ? ? ? ? ? ? Change = CP - CP[1] ;
    ? ? ? ? ? ? ? ? NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
    ? ? ? ? ? ? ? ? TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;? ? ? ?
    ? ? ? ? }
    ? ? ? ?
    ? ? ? ? If( TotChgAvg <> 0 )
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = NetChgAvg / TotChgAvg;
    ? ? ? ? }else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = 0 ;
    ? ? ? ? }? ? ? ?
    ? ? ? ? RSIValue = 50 * ( ChgRatio + 1 );? ? ? ?
    ? ? ? ? Return RSIValue;
    End

    //------------------------------------------------------------------------

    ?

    ?來源:CXH99.COM

  • TB技術人員: 自已頂一下。

    或者我將RSI的自編函數中的Close用Close[1]表示,如下:
    //------------------------------------------------------------------------
    // 簡稱: RSIvalue
    // 名稱: 計算RSI值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
    ? ? ? ? Numeric Length(14) ;
    Vars
    ? ? ? ? NumericSeries NetChgAvg( 0 );
    ? ? ? ? NumericSeries TotChgAvg( 0 );
    ? ? ? ? Numeric SF( 0 );
    ? ? ? ? Numeric Change( 0 );? ? ? ?
    ? ? ? ? Numeric ChgRatio( 0 ) ;
    ? ? ? ? NumericSeries RSIValue;
    ? ? ? ? NumericSeries CP;
    Begin
    ? ? ? ? CP=Close[1];//修改了
    ? ? ? ? If(CurrentBar <= Length - 1)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? NetChgAvg = ( CP - CP[Length] ) / Length ;
    ? ? ? ? ? ? ? ? TotChgAvg = Average( Abs( CP - CP[1] ), Length ) ;
    ? ? ? ? }Else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? SF = 1/Length;
    ? ? ? ? ? ? ? ? Change = CP - CP[1] ;
    ? ? ? ? ? ? ? ? NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
    ? ? ? ? ? ? ? ? TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;? ? ? ?
    ? ? ? ? }
    ? ? ? ?
    ? ? ? ? If( TotChgAvg <> 0 )
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = NetChgAvg / TotChgAvg;
    ? ? ? ? }else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = 0 ;
    ? ? ? ? }? ? ? ?
    ? ? ? ? RSIValue = 50 * ( ChgRatio + 1 );? ? ? ?
    ? ? ? ? Return RSIValue;
    End

    //------------------------------------------------------------------------

    然后if條件可以這樣寫了:
    if(RSIvalue(length)>RSIvalue(length))
    {
    }

    但我實際在編譯這個RSI自編函數時無法通過編譯(將原RSI中的Close改成Close[1]之后,無法通過編譯了)

    ?

  • TB客服: 自已頂一下。

    或者我將RSI的自編函數中的Close用Close[1]表示,如下:
    //------------------------------------------------------------------------
    // 簡稱: RSIvalue
    // 名稱: 計算RSI值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
    ? ? ? ? Numeric Length(14) ;
    Vars
    ? ? ? ? NumericSeries NetChgAvg( 0 );
    ? ? ? ? NumericSeries TotChgAvg( 0 );
    ? ? ? ? Numeric SF( 0 );
    ? ? ? ? Numeric Change( 0 );? ? ? ?
    ? ? ? ? Numeric ChgRatio( 0 ) ;
    ? ? ? ? NumericSeries RSIValue;
    ? ? ? ? NumericSeries CP;
    Begin
    ? ? ? ? CP=Close[1];//修改了
    ? ? ? ? If(CurrentBar <= Length - 1)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? NetChgAvg = ( CP - CP[Length] ) / Length ;
    ? ? ? ? ? ? ? ? TotChgAvg = Average( Abs( CP - CP[1] ), Length ) ;
    ? ? ? ? }Else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? SF = 1/Length;
    ? ? ? ? ? ? ? ? Change = CP - CP[1] ;
    ? ? ? ? ? ? ? ? NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
    ? ? ? ? ? ? ? ? TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;? ? ? ?
    ? ? ? ? }
    ? ? ? ?
    ? ? ? ? If( TotChgAvg <> 0 )
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = NetChgAvg / TotChgAvg;
    ? ? ? ? }else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = 0 ;
    ? ? ? ? }? ? ? ?
    ? ? ? ? RSIValue = 50 * ( ChgRatio + 1 );? ? ? ?
    ? ? ? ? Return RSIValue;
    End

    //------------------------------------------------------------------------

    然后if條件可以這樣寫了:
    if(RSIvalue(length)>RSIvalue(length))
    {
    }

    但我實際在編譯這個RSI自編函數時無法通過編譯(將原RSI中的Close改成Close[1]之后,無法通過編譯了)

    ?

  • 網友回復: 自已頂一下。

    或者我將RSI的自編函數中的Close用Close[1]表示,如下:
    //------------------------------------------------------------------------
    // 簡稱: RSIvalue
    // 名稱: 計算RSI值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
    ? ? ? ? Numeric Length(14) ;
    Vars
    ? ? ? ? NumericSeries NetChgAvg( 0 );
    ? ? ? ? NumericSeries TotChgAvg( 0 );
    ? ? ? ? Numeric SF( 0 );
    ? ? ? ? Numeric Change( 0 );? ? ? ?
    ? ? ? ? Numeric ChgRatio( 0 ) ;
    ? ? ? ? NumericSeries RSIValue;
    ? ? ? ? NumericSeries CP;
    Begin
    ? ? ? ? CP=Close[1];//修改了
    ? ? ? ? If(CurrentBar <= Length - 1)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? NetChgAvg = ( CP - CP[Length] ) / Length ;
    ? ? ? ? ? ? ? ? TotChgAvg = Average( Abs( CP - CP[1] ), Length ) ;
    ? ? ? ? }Else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? SF = 1/Length;
    ? ? ? ? ? ? ? ? Change = CP - CP[1] ;
    ? ? ? ? ? ? ? ? NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
    ? ? ? ? ? ? ? ? TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;? ? ? ?
    ? ? ? ? }
    ? ? ? ?
    ? ? ? ? If( TotChgAvg <> 0 )
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = NetChgAvg / TotChgAvg;
    ? ? ? ? }else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = 0 ;
    ? ? ? ? }? ? ? ?
    ? ? ? ? RSIValue = 50 * ( ChgRatio + 1 );? ? ? ?
    ? ? ? ? Return RSIValue;
    End

    //------------------------------------------------------------------------

    然后if條件可以這樣寫了:
    if(RSIvalue(length)>RSIvalue(length))
    {
    }

    但我實際在編譯這個RSI自編函數時無法通過編譯(將原RSI中的Close改成Close[1]之后,無法通過編譯了)

    ?

  • 網友回復:
  • 自已頂一下。

    或者我將RSI的自編函數中的Close用Close[1]表示,如下:
    //------------------------------------------------------------------------
    // 簡稱: RSIvalue
    // 名稱: 計算RSI值
    // 類別: 用戶函數
    // 類型: 用戶函數
    // 輸出: 數值型
    //------------------------------------------------------------------------

    Params
    ? ? ? ? Numeric Length(14) ;
    Vars
    ? ? ? ? NumericSeries NetChgAvg( 0 );
    ? ? ? ? NumericSeries TotChgAvg( 0 );
    ? ? ? ? Numeric SF( 0 );
    ? ? ? ? Numeric Change( 0 );? ? ? ?
    ? ? ? ? Numeric ChgRatio( 0 ) ;
    ? ? ? ? NumericSeries RSIValue;
    ? ? ? ? NumericSeries CP;
    Begin
    ? ? ? ? CP=Close[1];//修改了
    ? ? ? ? If(CurrentBar <= Length - 1)
    ? ? ? ? {
    ? ? ? ? ? ? ? ? NetChgAvg = ( CP - CP[Length] ) / Length ;
    ? ? ? ? ? ? ? ? TotChgAvg = Average( Abs( CP - CP[1] ), Length ) ;
    ? ? ? ? }Else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? SF = 1/Length;
    ? ? ? ? ? ? ? ? Change = CP - CP[1] ;
    ? ? ? ? ? ? ? ? NetChgAvg = NetChgAvg[1] + SF * ( Change - NetChgAvg[1] ) ;
    ? ? ? ? ? ? ? ? TotChgAvg = TotChgAvg[1] + SF * ( Abs( Change ) - TotChgAvg[1] ) ;? ? ? ?
    ? ? ? ? }
    ? ? ? ?
    ? ? ? ? If( TotChgAvg <> 0 )
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = NetChgAvg / TotChgAvg;
    ? ? ? ? }else
    ? ? ? ? {
    ? ? ? ? ? ? ? ? ChgRatio = 0 ;
    ? ? ? ? }? ? ? ?
    ? ? ? ? RSIValue = 50 * ( ChgRatio + 1 );? ? ? ?
    ? ? ? ? Return RSIValue;
    End

    //------------------------------------------------------------------------

    然后if條件可以這樣寫了:
    if(RSIvalue(length)>RSIvalue(length))
    {
    }

    但我實際在編譯這個RSI自編函數時無法通過編譯(將原RSI中的Close改成Close[1]之后,無法通過編譯了)

 

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

可聯系技術人員 QQ: 511411198  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 亚洲久久影院 | 亚洲日韩欧洲无码av夜夜摸 | 九九久久国产 | 中文字幕99 | 我不卡老子影院午夜伦我不卡四虎 | 欧美日韩一区在线观看 | 第一福利在线视频 | 国产精品久久久久久网站 | 色拍拍欧美视频在线看 | 欧美日韩不卡中文字幕在线 | 四虎在线永久视频观看 | 免费一级欧美大片视频在线 | 国产羞羞羞视频在线观看 | 天天射美女 | 欧美色综合| 99久久99热久久精品免费 | 热伊人99re久久精品最新地 | 你懂得在线网站 | 日本伊人色 | 日韩毛片欧美一级a网站 | 婷婷五月天.com | 男人的天堂a在线 | 免费看人做人爱视频拍拍拍 | 91在线高清| 欧美午夜视频 | 国产福利区一区二在线观看 | 精品福利影院 | 日日狠狠久久偷偷四色综合免费 | 日本免费一级视频 | www.久草视频| 日韩黄色大片 | 欧美最大成人毛片视频网站 | 国产91精品高清一区二区三区 | 久久精品国产一区二区三区不卡 | 欧美操穴 | 干干操操 | 国产香蕉在线视频一级毛片 | 国产精品久久久久久一级毛片 | 国产成人精品久久免费动漫 | 日韩午夜免费视频 | 国产免费播放一区二区 |