如何獲取某一時(shí)段內(nèi)的開高低收 [MC]
-
MC用戶求助:
MCpro版本有HighS和LowS函數(shù),沒有OpenS和CloseS函數(shù),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回復(fù)討論一:
MCpro版本有HighS和LowS函數(shù),沒有OpenS和CloseS函數(shù),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回復(fù)討論二:
再請(qǐng)教下老師:
之前的問(wèn)題算是明白了。但關(guān)于這個(gè)Session的定義與計(jì)算,我發(fā)現(xiàn)周五夜盤與周一早盤,系統(tǒng)會(huì)當(dāng)成是兩個(gè)Session(如圖),這樣會(huì)導(dǎo)致我的策略計(jì)算有誤,請(qǐng)問(wèn)有何辦法解決這個(gè)問(wèn)題?
?
-
MC回復(fù)討論三:
我將原始的OHLCPeriodsAgo函數(shù)的代碼做了調(diào)整,使該代碼可以完全用于國(guó)內(nèi)期貨交易所的時(shí)間段,不會(huì)出現(xiàn)周五夜盤與周一早盤分成兩個(gè)交易時(shí)段的問(wèn)題。詳細(xì)見代碼附件,順便寫了調(diào)整后的HighS和lowS代碼
代碼見鏈接:
http://dl.icetech.com.cn/download/forums/test_OHLCPeriodsAgo.rar
?
-
MC回復(fù)討論四:
我將原始的OHLCPeriodsAgo函數(shù)的代碼做了調(diào)整,使該代碼可以完全用于國(guó)內(nèi)期貨交易所的時(shí)間段,不會(huì)出現(xiàn)周五夜盤與周一早盤分成兩個(gè)交易時(shí)段的問(wèn)題。詳細(xì)見代碼附件,順便寫了調(diào)整后的HighS和lowS代碼
代碼見鏈接:
http://dl.icetech.com.cn/download/forums/test_OHLCPeriodsAgo.rar
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容