Multi-Timeframe 5/21 EMA Cross Utility Labels input fastLength = 5; input slowLength = 21; #Month def MonthFastEMA; def MonthSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Month{ MonthFastEMA = ExpAverage(close(period = "Month"), fastLength); MonthSlowEMA = ExpAverage(close(period = "Month"), slowlength); } else { MonthFastEMA = 0; MonthSlowEMA = 0; } AddLabel(yes, "M", if MonthFastEMA > MonthSlowEMA then color.Green else if MonthFastEMA < MonthSlowEMA then color.Red else color.White); #Week def WeekFastEMA; def WeekSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Week{ WeekFastEMA = ExpAverage(close(period = "Week"), fastLength); WeekSlowEMA = ExpAverage(close(period = "Week"), slowlength); } else { WeekFastEMA = 0; WeekSlowEMA = 0; } AddLabel(yes, "W", if WeekFastEMA > WeekSlowEMA then color.Green else if WeekFastEMA < WeekSlowEMA then color.Red else color.White); #Four_Days def FourDaysFastEMA; def FourDaysSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Four_Days{ FourDaysFastEMA = ExpAverage(close(period = "4 Days"), fastLength); FourDaysSlowEMA = ExpAverage(close(period = "4 Days"), slowlength); } else { FourDaysFastEMA = 0; FourDaysSlowEMA = 0; } AddLabel(yes, "4D", if FourDaysFastEMA > FourDaysSlowEMA then color.Green else if FourDaysFastEMA < FourDaysSlowEMA then color.Red else color.White); #Three_Days def ThreeDaysFastEMA; def ThreeDaysSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Three_Days{ ThreeDaysFastEMA = ExpAverage(close(period = "3 Days"), fastLength); ThreeDaysSlowEMA = ExpAverage(close(period = "3 Days"), slowlength); } else { ThreeDaysFastEMA = 0; ThreeDaysSlowEMA = 0; } AddLabel(yes, "3D", if ThreeDaysFastEMA > ThreeDaysSlowEMA then color.Green else if ThreeDaysFastEMA < ThreeDaysSlowEMA then color.Red else color.White); #Two_Days def TwoDaysFastEMA; def TwoDaysSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Two_Days{ TwoDaysFastEMA = ExpAverage(close(period = "2 Days"), fastLength); TwoDaysSlowEMA = ExpAverage(close(period = "2 Days"), slowlength); } else { TwoDaysFastEMA = 0; TwoDaysSlowEMA = 0; } AddLabel(yes, "2D", if TwoDaysFastEMA > TwoDaysSlowEMA then color.Green else if TwoDaysFastEMA < TwoDaysSlowEMA then color.Red else color.White); #One_Day def DayFastEMA; def DaySlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Day{ DayFastEMA = ExpAverage(close(period = "Day"), fastLength); DaySlowEMA = ExpAverage(close(period = "Day"), slowlength); } else { DayFastEMA = 0; DaySlowEMA = 0; } AddLabel(yes, "D", if DayFastEMA > DaySlowEMA then color.Green else if DayFastEMA < DaySlowEMA then color.Red else color.White); #Four_Hours def FourHoursFastEMA; def FourHoursSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Four_Hours{ FourHoursFastEMA = ExpAverage(close(period = "4 Hours"), fastLength); FourHoursSlowEMA = ExpAverage(close(period = "4 Hours"), slowlength); } else { FourHoursFastEMA = 0; FourHoursSlowEMA = 0; } AddLabel(yes, "4H", if FourHoursFastEMA > FourHoursSlowEMA then color.Green else if FourHoursFastEMA < FourHoursSlowEMA then color.Red else color.White); #Two_Hours def TwoHoursFastEMA; def TwoHoursSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Two_Hours{ TwoHoursFastEMA = ExpAverage(close(period = "2 Hours"), fastLength); TwoHoursSlowEMA = ExpAverage(close(period = "2 Hours"), slowlength); } else { TwoHoursFastEMA = 0; TwoHoursSlowEMA = 0; } AddLabel(yes, "2H", if TwoHoursFastEMA > TwoHoursSlowEMA then color.Green else if TwoHoursFastEMA < TwoHoursSlowEMA then color.Red else color.White); #One_Hour def HourFastEMA; def HourSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Hour{ HourFastEMA = ExpAverage(close(period = "1 Hour"), fastLength); HourSlowEMA = ExpAverage(close(period = "1 Hour"), slowlength); } else { HourFastEMA = 0; HourSlowEMA = 0; } AddLabel(yes, "1H", if HourFastEMA > HourSlowEMA then color.Green else if HourFastEMA < HourSlowEMA then color.Red else color.White); #Thirty_Min def ThirtyFastEMA; def ThirtySlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Thirty_Min{ ThirtyFastEMA = ExpAverage(close(period = "30 Min"), fastLength); ThirtySlowEMA = ExpAverage(close(period = "30 Min"), slowlength); } else { ThirtyFastEMA = 0; ThirtySlowEMA = 0; } AddLabel(yes, "30m", if ThirtyFastEMA > ThirtySlowEMA then color.Green else if ThirtyFastEMA < ThirtySlowEMA then color.Red else color.White); #Twenty_Min def TwentyFastEMA; def TwentySlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Twenty_Min{ TwentyFastEMA = ExpAverage(close(period = "20 Min"), fastLength); TwentySlowEMA = ExpAverage(close(period = "20 Min"), slowlength); } else { TwentyFastEMA = 0; TwentySlowEMA = 0; } AddLabel(yes, "20m", if TwentyFastEMA > TwentySlowEMA then color.Green else if TwentyFastEMA < TwentyySlowEMA then color.Red else color.White); #Fifteen_Min def FifteenFastEMA; def FifteenSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Fifteen_Min{ FifteenFastEMA = ExpAverage(close(period = "15 Min"), fastLength); FifteenSlowEMA = ExpAverage(close(period = "15 Min"), slowlength); } else { FifteenFastEMA = 0; FifteenSlowEMA = 0; } AddLabel(yes, "15m", if FifteenFastEMA > FifteenSlowEMA then color.Green else if FifteenFastEMA < FifteenSlowEMA then color.Red else color.White); #Ten_Min def TenFastEMA; def TenSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Ten_Min{ TenFastEMA = ExpAverage(close(period = "10 Min"), fastLength); TenSlowEMA = ExpAverage(close(period = "10 Min"), slowlength); } else { TenFastEMA = 0; TenSlowEMA = 0; } AddLabel(yes, "10m", if TenFastEMA > TenSlowEMA then color.Green else if TenFastEMA < TenSlowEMA then color.Red else color.White); #Five_Min def FiveFastEMA; def FiveSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Five_Min{ FiveFastEMA = ExpAverage(close(period = "5 Min"), fastLength); FiveSlowEMA = ExpAverage(close(period = "5 Min"), slowlength); } else { FiveFastEMA = 0; FiveSlowEMA = 0; } AddLabel(yes, "5m", if FiveFastEMA > FiveSlowEMA then color.Green else if FiveFastEMA < FiveSlowEMA then color.Red else color.White); #Four_Min def FourFastEMA; def FourSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Four_Min{ FourFastEMA = ExpAverage(close(period = "4 Min"), fastLength); FourSlowEMA = ExpAverage(close(period = "4 Min"), slowlength); } else { FourFastEMA = 0; FourSlowEMA = 0; } AddLabel(yes, "4m", if FourFastEMA > FourSlowEMA then color.Green else if FourFastEMA < FourSlowEMA then color.Red else color.White); #Three_Min def ThreeFastEMA; def ThreeSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Three_Min{ ThreeFastEMA = ExpAverage(close(period = "3 Min"), fastLength); ThreeSlowEMA = ExpAverage(close(period = "3 Min"), slowlength); } else { ThreeFastEMA = 0; ThreeSlowEMA = 0; } AddLabel(yes, "3m", if ThreeFastEMA > ThreeSlowEMA then color.Green else if ThreeFastEMA < ThreeSlowEMA then color.Red else color.White); #Two_Min def TwoFastEMA; def TwoSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Two_Min{ TwoFastEMA = ExpAverage(close(period = "2 Min"), fastLength); TwoSlowEMA = ExpAverage(close(period = "2 Min"), slowlength); } else { TwoFastEMA = 0; TwoSlowEMA = 0; } AddLabel(yes, "2m", if TwoFastEMA > TwoSlowEMA then color.Green else if TwoFastEMA < TwoSlowEMA then color.Red else color.White); #One_Min def OneFastEMA; def OneSlowEMA; if GetAggregationPeriod() <= AggregationPeriod.Min{ OneFastEMA = ExpAverage(close(period = "1 Min"), fastLength); OneSlowEMA = ExpAverage(close(period = "1 Min"), slowlength); } else { OneFastEMA = 0; OneSlowEMA = 0; } AddLabel(yes, "1m", if OneFastEMA > OneSlowEMA then color.Green else if OneFastEMA < OneSlowEMA then color.Red else color.White);