?
?
?
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 ;
? ?? ???test_OHLCPeriodsAgo = -1 ;
? ?? ???end
else
? ?? ???begin
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
? ?? ???if PeriodType = 0 then
? ?? ?? ?? ?? ? Condition1 = sess_last_bar[1] and time[1]<=1600 and time[1]>=1130
? ?? ???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 if PeriodType = 1 and time<=1630 then? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ?? ?? ?? ?? ? 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?
? ?? ???else if periodtype<>1 then
? ?? ?? ?? ?? ? 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 ) ] ;
? ?? ???test_OHLCPeriodsAgo = 1 ;
? ?? ???end ;
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
if false then
? ?? ???Value1 = test_OHLCPeriodsAgo[1] ;
這個是您需要的代碼,新建一個函數腳本,名稱命名為test_ohlcperiodsago即可,然后再新建test_highd函數,在內部調用test_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 ;
? ?? ???test_OHLCPeriodsAgo = -1 ;
? ?? ???end
else
? ?? ???begin
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
? ?? ???if PeriodType = 0 then
? ?? ?? ?? ?? ? Condition1 = sess_last_bar[1] and time[1]<=1600 and time[1]>=1130
? ?? ???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 if PeriodType = 1 and time<=1630 then? ?? ?? ?? ?? ?? ?? ?? ?? ???
? ?? ?? ?? ?? ? 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?
? ?? ???else if periodtype<>1 then
? ?? ?? ?? ?? ? 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 ) ] ;
? ?? ???test_OHLCPeriodsAgo = 1 ;
? ?? ???end ;
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
if false then
? ?? ???Value1 = test_OHLCPeriodsAgo[1] ;
這個是您需要的代碼,新建一個函數腳本,名稱命名為test_ohlcperiodsago即可,然后再新建test_highd函數,在內部調用test_ohlcperiodsago函數即可。