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

如何獲取某一時段內的開高低收 [MC]

  • MC用戶求助:

    MCpro版本有HighS和LowS函數,沒有OpenS和CloseS函數,MC8.8和MC8s都沒有。下面是OHLCPeriodsAgo的代碼。

    inputs:?

    ? ? ? ? PeriodType( numericsimple ),? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? PeriodsAgo( numericsimple ),?

    ? ? ? ? oPeriodOpen( numericref ),?

    ? ? ? ? oPeriodHigh( numericref ),?

    ? ? ? ? oPeriodLow( numericref ),?

    ? ? ? ? oPeriodClose( numericref ) ;

    variables:

    ? ? ? ? var0( 0 ), sess_last_bar(false) ;

    arrays:

    ? ? ? ? arr0[ 4, 50 ]( -1 ) ;

    sess_last_bar = sessionlastbar;

    condition1 = PeriodsAgo > 50 or BarType > IFF(PeriodType<>0, PeriodType + 1, PeriodType + 2) or BarType > 4 ;

    if condition1 then

    ? ? ? ? begin

    ? ? ? ? oPeriodOpen = -1 ;

    ? ? ? ? oPeriodHigh = -1 ;

    ? ? ? ? oPeriodLow = -1 ;

    ? ? ? ? oPeriodClose = -1 ;

    ? ? ? ? OHLCPeriodsAgo = -1 ;

    ? ? ? ? end

    else

    ? ? ? ? begin? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ? ? ? ? if PeriodType = 0 then

    ? ? ? ? ? ? ? ? Condition1 = sess_last_bar[1]

    ? ? ? ? else if PeriodType = 1 then

    ? ? ? ? ? ? ? ? Condition1 = Date <> Date[1]

    ? ? ? ? else if PeriodType = 2 then

    ? ? ? ? ? ? ? ? Condition1 = DayOfWeek( Date ) < DayOfWeek( Date[1] )

    ? ? ? ? else if PeriodType = 3 then

    ? ? ? ? ? ? ? ? Condition1 = Month( Date ) <> Month( Date[1] )?

    ? ? ? ? else if PeriodType = 4 then

    ? ? ? ? ? ? ? ? Condition1 = Year( Date ) <> Year( Date[1] ) ;

    ? ? ? ? condition1 = CurrentBar = 1 or Condition1 ;

    ? ? ? ? if condition1 then? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? var0 = var0 - 1 ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? if var0 = -1?

    ? ? ? ? ? ? ? ? ? ? ? ? then var0 = 50 ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? arr0[ 1, var0 ] = O ;

    ? ? ? ? ? ? ? ? arr0[ 2, var0 ] = H ;

    ? ? ? ? ? ? ? ? arr0[ 3, var0 ] = L ;

    ? ? ? ? ? ? ? ? arr0[ 4, var0 ] = C ;

    ? ? ? ? ? ? ? ? end?

    ? ? ? ? else? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? condition1 = H > arr0[ 2, var0 ] ;

    ? ? ? ? ? ? ? ? if condition1 then arr0[ 2, var0 ] = H ;

    ? ? ? ? ? ? ? ? condition1 = L < arr0[ 3, var0 ] ;

    ? ? ? ? ? ? ? ? if condition1 then arr0[ 3, var0 ] = L ;

    ? ? ? ? ? ? ? ? arr0[ 4, var0 ] = C ;

    ? ? ? ? ? ? ? ? end ;

    ? ? ? ? oPeriodOpen = arr0[ 1, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? oPeriodHigh = arr0[ 2, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? oPeriodLow = arr0[ 3, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? oPeriodClose = arr0[ 4, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? OHLCPeriodsAgo = 1 ;

    ? ? ? ? end ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    if false then

    ? ? ? ? Value1 = OHLCPeriodsAgo[1] ;

    ?

  • MC回復討論一:

    MCpro版本有HighS和LowS函數,沒有OpenS和CloseS函數,MC8.8和MC8s都沒有。下面是OHLCPeriodsAgo的代碼。

    inputs:?

    ? ? ? ? PeriodType( numericsimple ),? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? PeriodsAgo( numericsimple ),?

    ? ? ? ? oPeriodOpen( numericref ),?

    ? ? ? ? oPeriodHigh( numericref ),?

    ? ? ? ? oPeriodLow( numericref ),?

    ? ? ? ? oPeriodClose( numericref ) ;

    variables:

    ? ? ? ? var0( 0 ), sess_last_bar(false) ;

    arrays:

    ? ? ? ? arr0[ 4, 50 ]( -1 ) ;

    sess_last_bar = sessionlastbar;

    condition1 = PeriodsAgo > 50 or BarType > IFF(PeriodType<>0, PeriodType + 1, PeriodType + 2) or BarType > 4 ;

    if condition1 then

    ? ? ? ? begin

    ? ? ? ? oPeriodOpen = -1 ;

    ? ? ? ? oPeriodHigh = -1 ;

    ? ? ? ? oPeriodLow = -1 ;

    ? ? ? ? oPeriodClose = -1 ;

    ? ? ? ? OHLCPeriodsAgo = -1 ;

    ? ? ? ? end

    else

    ? ? ? ? begin? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ? ? ? ? if PeriodType = 0 then

    ? ? ? ? ? ? ? ? Condition1 = sess_last_bar[1]

    ? ? ? ? else if PeriodType = 1 then

    ? ? ? ? ? ? ? ? Condition1 = Date <> Date[1]

    ? ? ? ? else if PeriodType = 2 then

    ? ? ? ? ? ? ? ? Condition1 = DayOfWeek( Date ) < DayOfWeek( Date[1] )

    ? ? ? ? else if PeriodType = 3 then

    ? ? ? ? ? ? ? ? Condition1 = Month( Date ) <> Month( Date[1] )?

    ? ? ? ? else if PeriodType = 4 then

    ? ? ? ? ? ? ? ? Condition1 = Year( Date ) <> Year( Date[1] ) ;

    ? ? ? ? condition1 = CurrentBar = 1 or Condition1 ;

    ? ? ? ? if condition1 then? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? var0 = var0 - 1 ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ? ? ? ? ? ? ? ? if var0 = -1?

    ? ? ? ? ? ? ? ? ? ? ? ? then var0 = 50 ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? arr0[ 1, var0 ] = O ;

    ? ? ? ? ? ? ? ? arr0[ 2, var0 ] = H ;

    ? ? ? ? ? ? ? ? arr0[ 3, var0 ] = L ;

    ? ? ? ? ? ? ? ? arr0[ 4, var0 ] = C ;

    ? ? ? ? ? ? ? ? end?

    ? ? ? ? else? ? ? ? ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? begin

    ? ? ? ? ? ? ? ? condition1 = H > arr0[ 2, var0 ] ;

    ? ? ? ? ? ? ? ? if condition1 then arr0[ 2, var0 ] = H ;

    ? ? ? ? ? ? ? ? condition1 = L < arr0[ 3, var0 ] ;

    ? ? ? ? ? ? ? ? if condition1 then arr0[ 3, var0 ] = L ;

    ? ? ? ? ? ? ? ? arr0[ 4, var0 ] = C ;

    ? ? ? ? ? ? ? ? end ;

    ? ? ? ? oPeriodOpen = arr0[ 1, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? oPeriodHigh = arr0[ 2, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? oPeriodLow = arr0[ 3, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? oPeriodClose = arr0[ 4, Mod( var0 + PeriodsAgo, 51 ) ] ;

    ? ? ? ? OHLCPeriodsAgo = 1 ;

    ? ? ? ? end ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    if false then

    ? ? ? ? Value1 = OHLCPeriodsAgo[1] ;

    ?

  • MC回復討論二:

    再請教下老師:

    之前的問題算是明白了。但關于這個Session的定義與計算,我發現周五夜盤與周一早盤,系統會當成是兩個Session(如圖),這樣會導致我的策略計算有誤,請問有何辦法解決這個問題?

    ?

  • MC回復討論三:

    我將原始的OHLCPeriodsAgo函數的代碼做了調整,使該代碼可以完全用于國內期貨交易所的時間段,不會出現周五夜盤與周一早盤分成兩個交易時段的問題。詳細見代碼附件,順便寫了調整后的HighS和lowS代碼

    代碼見鏈接:

    http://dl.icetech.com.cn/download/forums/test_OHLCPeriodsAgo.rar

    ?

  • MC回復討論四:

    我將原始的OHLCPeriodsAgo函數的代碼做了調整,使該代碼可以完全用于國內期貨交易所的時間段,不會出現周五夜盤與周一早盤分成兩個交易時段的問題。詳細見代碼附件,順便寫了調整后的HighS和lowS代碼

    代碼見鏈接:

    http://dl.icetech.com.cn/download/forums/test_OHLCPeriodsAgo.rar

 

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

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


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

相關文章

    沒有相關內容
主站蜘蛛池模板: 日本熟妇色熟妇在线视频播放 | 成年女人免费碰碰视频| 女人张开腿男人猛桶视频| 国产精品对白刺激久久久| 国产强伦姧在线观看| 光棍影院y11111| 亚洲AV无码无在线观看红杏| 一级黄色毛片播放| 窝窝午夜看片七次郎青草视频| 老司机免费午夜精品视频| 欧美精品亚洲精品日韩专区| 武林高贵肥臀胖乳美妇| 日本老妇人乱xxy| 国模吧2021新入口| 国产一区二区精品久久岳| 亚洲欧美日韩精品久久亚洲区| 久久久久国产成人精品| 77777亚洲午夜久久多喷| 精品视频在线观看你懂的一区| 黑人粗大猛烈进出高潮视频 | 成人午夜app| 国产福利免费视频| 免费看无码自慰一区二区| 久草视频免费在线| 99在线免费观看| 美女黄网站人色视频免费国产| 欧美性另类高清极品| 好男人社区神马www| 国产乱子伦视频大全| 亚洲伊人久久大香线蕉在观| www.99热| 老师你好电影高清完整版在线观看 | 亚洲自偷自偷在线制服| 久久人人妻人人做人人爽| 最新黄色免费网站| 特级毛片全部免费播放a一级| 成人自拍视频在线观看| 国产在线播放你懂的| 亚洲国产成人精品女人久久久 | 男女下面一进一出视频在线观看 | 人妻少妇乱子伦精品|