#region Using declarations
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Xml.Serialization;
using NinjaTrader.Cbi;
using NinjaTrader.Gui;
using NinjaTrader.Gui.Chart;
using NinjaTrader.Gui.SuperDom;
using NinjaTrader.Gui.Tools;
using NinjaTrader.Data;
using NinjaTrader.NinjaScript;
using NinjaTrader.Core.FloatingPoint;

#endregion



#region NinjaScript generated code. Neither change nor remove.

namespace NinjaTrader.NinjaScript.Indicators
{
	public partial class Indicator : NinjaTrader.Gui.NinjaScript.IndicatorRenderBase
	{
		
		private TradeSaber.TS_MACDMomentum[] cacheTS_MACDMomentum;

		
		public TradeSaber.TS_MACDMomentum TS_MACDMomentum(bool showSocials, string author, string version, string tradeSaber, string discord, string youTube, int momentumPeriod, int momentumEMAPeriod, int momentumOpacity, int momentumLookbackBars, int mACDFast, int mACDSlow, int mACDSmooth, int diffOpacity, int mACDLineOpacity, int signalLineOpacity, int diffLookbackBars, int mACDLineLookbackBars, int fastEMAPeriod, int slowEMAPeriod, int eMACrossOpacity, int fastEMALookbackBars, int slowEMALookbackBars, string longEntry, string shortEntry)
		{
			return TS_MACDMomentum(Input, showSocials, author, version, tradeSaber, discord, youTube, momentumPeriod, momentumEMAPeriod, momentumOpacity, momentumLookbackBars, mACDFast, mACDSlow, mACDSmooth, diffOpacity, mACDLineOpacity, signalLineOpacity, diffLookbackBars, mACDLineLookbackBars, fastEMAPeriod, slowEMAPeriod, eMACrossOpacity, fastEMALookbackBars, slowEMALookbackBars, longEntry, shortEntry);
		}


		
		public TradeSaber.TS_MACDMomentum TS_MACDMomentum(ISeries<double> input, bool showSocials, string author, string version, string tradeSaber, string discord, string youTube, int momentumPeriod, int momentumEMAPeriod, int momentumOpacity, int momentumLookbackBars, int mACDFast, int mACDSlow, int mACDSmooth, int diffOpacity, int mACDLineOpacity, int signalLineOpacity, int diffLookbackBars, int mACDLineLookbackBars, int fastEMAPeriod, int slowEMAPeriod, int eMACrossOpacity, int fastEMALookbackBars, int slowEMALookbackBars, string longEntry, string shortEntry)
		{
			if (cacheTS_MACDMomentum != null)
				for (int idx = 0; idx < cacheTS_MACDMomentum.Length; idx++)
					if (cacheTS_MACDMomentum[idx].ShowSocials == showSocials && cacheTS_MACDMomentum[idx].Author == author && cacheTS_MACDMomentum[idx].Version == version && cacheTS_MACDMomentum[idx].TradeSaber == tradeSaber && cacheTS_MACDMomentum[idx].Discord == discord && cacheTS_MACDMomentum[idx].YouTube == youTube && cacheTS_MACDMomentum[idx].MomentumPeriod == momentumPeriod && cacheTS_MACDMomentum[idx].MomentumEMAPeriod == momentumEMAPeriod && cacheTS_MACDMomentum[idx].MomentumOpacity == momentumOpacity && cacheTS_MACDMomentum[idx].MomentumLookbackBars == momentumLookbackBars && cacheTS_MACDMomentum[idx].MACDFast == mACDFast && cacheTS_MACDMomentum[idx].MACDSlow == mACDSlow && cacheTS_MACDMomentum[idx].MACDSmooth == mACDSmooth && cacheTS_MACDMomentum[idx].DiffOpacity == diffOpacity && cacheTS_MACDMomentum[idx].MACDLineOpacity == mACDLineOpacity && cacheTS_MACDMomentum[idx].SignalLineOpacity == signalLineOpacity && cacheTS_MACDMomentum[idx].DiffLookbackBars == diffLookbackBars && cacheTS_MACDMomentum[idx].MACDLineLookbackBars == mACDLineLookbackBars && cacheTS_MACDMomentum[idx].FastEMAPeriod == fastEMAPeriod && cacheTS_MACDMomentum[idx].SlowEMAPeriod == slowEMAPeriod && cacheTS_MACDMomentum[idx].EMACrossOpacity == eMACrossOpacity && cacheTS_MACDMomentum[idx].FastEMALookbackBars == fastEMALookbackBars && cacheTS_MACDMomentum[idx].SlowEMALookbackBars == slowEMALookbackBars && cacheTS_MACDMomentum[idx].LongEntry == longEntry && cacheTS_MACDMomentum[idx].ShortEntry == shortEntry && cacheTS_MACDMomentum[idx].EqualsInput(input))
						return cacheTS_MACDMomentum[idx];
			return CacheIndicator<TradeSaber.TS_MACDMomentum>(new TradeSaber.TS_MACDMomentum(){ ShowSocials = showSocials, Author = author, Version = version, TradeSaber = tradeSaber, Discord = discord, YouTube = youTube, MomentumPeriod = momentumPeriod, MomentumEMAPeriod = momentumEMAPeriod, MomentumOpacity = momentumOpacity, MomentumLookbackBars = momentumLookbackBars, MACDFast = mACDFast, MACDSlow = mACDSlow, MACDSmooth = mACDSmooth, DiffOpacity = diffOpacity, MACDLineOpacity = mACDLineOpacity, SignalLineOpacity = signalLineOpacity, DiffLookbackBars = diffLookbackBars, MACDLineLookbackBars = mACDLineLookbackBars, FastEMAPeriod = fastEMAPeriod, SlowEMAPeriod = slowEMAPeriod, EMACrossOpacity = eMACrossOpacity, FastEMALookbackBars = fastEMALookbackBars, SlowEMALookbackBars = slowEMALookbackBars, LongEntry = longEntry, ShortEntry = shortEntry }, input, ref cacheTS_MACDMomentum);
		}

	}
}

namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
{
	public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
	{
		
		public Indicators.TradeSaber.TS_MACDMomentum TS_MACDMomentum(bool showSocials, string author, string version, string tradeSaber, string discord, string youTube, int momentumPeriod, int momentumEMAPeriod, int momentumOpacity, int momentumLookbackBars, int mACDFast, int mACDSlow, int mACDSmooth, int diffOpacity, int mACDLineOpacity, int signalLineOpacity, int diffLookbackBars, int mACDLineLookbackBars, int fastEMAPeriod, int slowEMAPeriod, int eMACrossOpacity, int fastEMALookbackBars, int slowEMALookbackBars, string longEntry, string shortEntry)
		{
			return indicator.TS_MACDMomentum(Input, showSocials, author, version, tradeSaber, discord, youTube, momentumPeriod, momentumEMAPeriod, momentumOpacity, momentumLookbackBars, mACDFast, mACDSlow, mACDSmooth, diffOpacity, mACDLineOpacity, signalLineOpacity, diffLookbackBars, mACDLineLookbackBars, fastEMAPeriod, slowEMAPeriod, eMACrossOpacity, fastEMALookbackBars, slowEMALookbackBars, longEntry, shortEntry);
		}


		
		public Indicators.TradeSaber.TS_MACDMomentum TS_MACDMomentum(ISeries<double> input , bool showSocials, string author, string version, string tradeSaber, string discord, string youTube, int momentumPeriod, int momentumEMAPeriod, int momentumOpacity, int momentumLookbackBars, int mACDFast, int mACDSlow, int mACDSmooth, int diffOpacity, int mACDLineOpacity, int signalLineOpacity, int diffLookbackBars, int mACDLineLookbackBars, int fastEMAPeriod, int slowEMAPeriod, int eMACrossOpacity, int fastEMALookbackBars, int slowEMALookbackBars, string longEntry, string shortEntry)
		{
			return indicator.TS_MACDMomentum(input, showSocials, author, version, tradeSaber, discord, youTube, momentumPeriod, momentumEMAPeriod, momentumOpacity, momentumLookbackBars, mACDFast, mACDSlow, mACDSmooth, diffOpacity, mACDLineOpacity, signalLineOpacity, diffLookbackBars, mACDLineLookbackBars, fastEMAPeriod, slowEMAPeriod, eMACrossOpacity, fastEMALookbackBars, slowEMALookbackBars, longEntry, shortEntry);
		}
	
	}
}

namespace NinjaTrader.NinjaScript.Strategies
{
	public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
	{
		
		public Indicators.TradeSaber.TS_MACDMomentum TS_MACDMomentum(bool showSocials, string author, string version, string tradeSaber, string discord, string youTube, int momentumPeriod, int momentumEMAPeriod, int momentumOpacity, int momentumLookbackBars, int mACDFast, int mACDSlow, int mACDSmooth, int diffOpacity, int mACDLineOpacity, int signalLineOpacity, int diffLookbackBars, int mACDLineLookbackBars, int fastEMAPeriod, int slowEMAPeriod, int eMACrossOpacity, int fastEMALookbackBars, int slowEMALookbackBars, string longEntry, string shortEntry)
		{
			return indicator.TS_MACDMomentum(Input, showSocials, author, version, tradeSaber, discord, youTube, momentumPeriod, momentumEMAPeriod, momentumOpacity, momentumLookbackBars, mACDFast, mACDSlow, mACDSmooth, diffOpacity, mACDLineOpacity, signalLineOpacity, diffLookbackBars, mACDLineLookbackBars, fastEMAPeriod, slowEMAPeriod, eMACrossOpacity, fastEMALookbackBars, slowEMALookbackBars, longEntry, shortEntry);
		}


		
		public Indicators.TradeSaber.TS_MACDMomentum TS_MACDMomentum(ISeries<double> input , bool showSocials, string author, string version, string tradeSaber, string discord, string youTube, int momentumPeriod, int momentumEMAPeriod, int momentumOpacity, int momentumLookbackBars, int mACDFast, int mACDSlow, int mACDSmooth, int diffOpacity, int mACDLineOpacity, int signalLineOpacity, int diffLookbackBars, int mACDLineLookbackBars, int fastEMAPeriod, int slowEMAPeriod, int eMACrossOpacity, int fastEMALookbackBars, int slowEMALookbackBars, string longEntry, string shortEntry)
		{
			return indicator.TS_MACDMomentum(input, showSocials, author, version, tradeSaber, discord, youTube, momentumPeriod, momentumEMAPeriod, momentumOpacity, momentumLookbackBars, mACDFast, mACDSlow, mACDSmooth, diffOpacity, mACDLineOpacity, signalLineOpacity, diffLookbackBars, mACDLineLookbackBars, fastEMAPeriod, slowEMAPeriod, eMACrossOpacity, fastEMALookbackBars, slowEMALookbackBars, longEntry, shortEntry);
		}

	}
}

#endregion
