Dieser könnte tun. Es zersetzt die Zeit in Stunden, Minuten und Sekunden, dann können Sie einen von ihnen (alle oder nur zwei oder nur einen der drei Teile) separat einplanen.
Gewarnt werden, dass eine einzelne Ziffer nicht ausgerichtet wird, da sie als gemeinsame Zahl verarbeitet wird, nicht als Teil der Zeit:
// Rainer-Franz Wirth - rf.wirth@hotmail.de - Rainer FW (RFW) @prorealcode.com
// Jegliche Haftung aus der Nutzung ist ausgeschlossen.
//********************************************************************************************************************************************************************
Defparam Drawonlastbaronly = True
Defparam CalculateOnLastBars = 10000
//********************************************************************************************************************************************************************
//TXTD = 0.0003 // Differenz Zeilenabstand
HighTxTFx1 = 1+TXTD
HighTxTFx2 = 1+(TXTD*2)
HighTxTFx3 = 1+(TXTD*3)
HighTxTFx4 = 1+(TXTD*4)
HighTxTFx5 = 1+(TXTD*5)
HighTxTFx6 = 1+(TXTD*6)
HighTxTFx7 = 1+(TXTD*7)
LowTxTFx1 = 1-TXTD
//********************************************************************************************************************************************************************
Timeframe (1 Day, Updateonclose)
RATR1 = AverageTrueRange[ATRPerioden][1] // Vortages ATR
RATR2 = AverageTrueRange[ATRPerioden]/2 // aktuelle 1/2 Tages ATR
//********************************************************************************************************************************************************************
TimeFrame(1 Hour)
RATR3 = AverageTrueRange[ATRPerioden] // 60 Min ATR
//********************************************************************************************************************************************************************
TimeFrame(Default)
//****************
If IsLastBarupdate Then
//********************************************************************************************************************************************************************
For BIOx = 0 To LookBack DO // BarIndex OpenTime suchen
If Time[BIOx] = ROpenTime Then
OpenBI = BarIndex[BIOx]
//OTime = Time[BIOx]
x = Time[BIOx]
OTime = x
oSS = x MOD 100 // Seconds
x = (x - oSS) / 100
oMM = x MOD 100 // Minutes
oHH = (x - oMM) / 100 // Hours
For BICx = (BIOx-1) DownTo 0 Do
If Time[BICx] = RCloseTime Then // BarIndex CloseTime suchen
CloseBI = BarIndex[BICx]
//CTime = Time[BICx]/10000
x = Time[BICx]
CTime = x / 10000
cSS = x MOD 100 // Seconds
x = (x - cSS) / 100
cMM = x MOD 100 // Minutes
cHH = (x - cMM) / 100 // Hours
RLOW = 999999999
For RLOWx = BIOx DownTo BICx Do // Low Range-Berechnung suchen
If Low[RLOWx] < RLOW Then
RLOW = Low[RLOWx]
EndIf
Next
RHIGH = 0
For RHIGHx = BIOx DownTo BICx Do // High Range-Berechnung suchen
If High[RHIGHx] > RHIGH Then
RHIGH = High[RHIGHx]
EndIf
Next
ORange = Abs(RHIGH-RLOW)
BITXT = 15
DrawSegment(BarIndex[BIOx],RHIGH,BarIndex[BICx],RHIGH)Coloured(0,255,0)Style(Line,3)
DrawSegment(BarIndex[BIOx],RLOW,BarIndex[BICx],RLOW)Coloured(255,0,0)Style(Line,3)
DrawText("Low = #RLOW#",BarIndex[BIOx],RLOW*LowTxTFx1,Dialog,Bold,14)// coloured(255,255,255,155)
DrawText("High = #RHIGH#",BarIndex[BIOx],RHIGH*HighTxTFx1,Dialog,Bold,14)// coloured(255,255,255,155)
//DrawText("#ORange# = Range / #OTime#- #CTime# Uhr",BarIndex+BITXT,HIGH*HighTxTFx2,Dialog,Bold,14) //coloured(255,255,255,155)
//DrawText("#ORange# = Range / #oHH#:#oMM#:#oSS# - #cHH#:#cMM#:#cSS# Uhr",BarIndex+BITXT,HIGH*HighTxTFx2,Dialog,Bold,14) //coloured(255,255,255,155)
DrawText("#ORange# = Range / #oHH#:#oMM# - #cHH#:#cMM# Uhr",BarIndex+BITXT,HIGH*HighTxTFx2,Dialog,Bold,14) //coloured(255,255,255,155)
If ORange < RATR3 Then
DRAWTEXT("OpenRange < ATR 60min", BarIndex+BITXT,HIGH*HighTxTFx3, Dialog, bold, 14) Coloured(0,255,0)
ElsIf Orange > RATR3 Then
DRAWTEXT("OpenRange > ATR 60min", BarIndex+BITXT,HIGH*HighTxTFx3, Dialog, bold, 14) Coloured(0,255,0)
Endif
DrawText("ATR 60min / #RATR3#",BarIndex+BITXT,HIGH*HighTxTFx4,Dialog,Bold,14) //coloured(255,255,255,155)
If ORange > RATR2 Then
DRAWTEXT("OpenRange > 1/2 ATR-D", BarIndex+BITXT,HIGH*HighTxTFx5, Dialog, bold, 14) Coloured(0,255,0)
ElsIf Orange < RATR2 Then
DRAWTEXT("OpenRange < 1/2 ATR-D", BarIndex+BITXT,HIGH*HighTxTFx5, Dialog, bold, 14) Coloured(0,255,0)
EndIf
DrawText("1/2 ATR-D / #RATR2#",BarIndex+BITXT,HIGH*HighTxTFx6,Dialog,Bold,14) //coloured(255,255,255,155)
DrawText("ATR Vortag / #RATR1#",BarIndex+BITXT,HIGH*HighTxTFx7,Dialog,Bold,14) //coloured(255,255,255,155)
ElsIf (Time > ROpenTime) And (Time < RCloseTime) Then
BICx = 0
CloseBI = BarIndex[BICx]
CTime = Time[BICx]/10000
RLOW = 999999999
For RLOWx = BIOx DownTo BICx Do // Low Range-Berechnung suchen
If Low[RLOWx] < RLOW Then
RLOW = Low[RLOWx]
EndIf
Next
RHIGH = 0
For RHIGHx = BIOx DownTo BICx Do // High Range-Berechnung suchen
If High[RHIGHx] > RHIGH Then
RHIGH = High[RHIGHx]
EndIf
Next
ORange = Abs(RHIGH-RLOW)
BITXT = 15
DrawSegment(BarIndex[BIOx],RHIGH,BarIndex[BICx],RHIGH)Coloured(0,255,0)Style(Line,3)
DrawSegment(BarIndex[BIOx],RLOW,BarIndex[BICx],RLOW)Coloured(255,0,0)Style(Line,3)
DrawText("Low = #RLOW#",BarIndex[BIOx],RLOW*LowTxTFx1,Dialog,Bold,14)// coloured(255,255,255,155)
DrawText("High = #RHIGH#",BarIndex[BIOx],RHIGH*HighTxTFx1,Dialog,Bold,14)// coloured(255,255,255,155)
DrawText("#ORange# = Range / #OTime#- #CTime# Uhr",BarIndex+BITXT,HIGH*HighTxTFx2,Dialog,Bold,14) //coloured(255,255,255,155)
If ORange < RATR3 Then
DRAWTEXT("OpenRange < ATR 60min", BarIndex+BITXT,HIGH*HighTxTFx3, Dialog, bold, 14) Coloured(0,255,0)
ElsIf Orange > RATR3 Then
DRAWTEXT("OpenRange > ATR 60min", BarIndex+BITXT,HIGH*HighTxTFx3, Dialog, bold, 14) Coloured(0,255,0)
Endif
DrawText("ATR 60min / #RATR3#",BarIndex+BITXT,HIGH*HighTxTFx4,Dialog,Bold,14) //coloured(255,255,255,155)
If ORange > RATR2 Then
DRAWTEXT("OpenRange > 1/2 ATR-D", BarIndex+BITXT,HIGH*HighTxTFx5, Dialog, bold, 14) Coloured(0,255,0)
ElsIf Orange < RATR2 Then
DRAWTEXT("OpenRange < 1/2 ATR-D", BarIndex+BITXT,HIGH*HighTxTFx5, Dialog, bold, 14) Coloured(0,255,0)
EndIf
DrawText("1/2 ATR-D / #RATR2#",BarIndex+BITXT,HIGH*HighTxTFx6,Dialog,Bold,14) //coloured(255,255,255,155)
DrawText("ATR Vortag / #RATR1#",BarIndex+BITXT,HIGH*HighTxTFx7,Dialog,Bold,14) //coloured(255,255,255,155)
EndIf
Next
Break
EndIf
Next
EndIf
Return
Ich hielt sowohl die ursprünglichen Linien als auch die Linie mit Sekunden (ich kommentierte es nur Stunden und Minuten).