#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 RaidoSessionMap[] cacheRaidoSessionMap;

		
		public RaidoSessionMap RaidoSessionMap(string licenseKey, RaidoSessionMapLanguage language, bool enableAsia, int asiaStart, int asiaEnd, int asiaOpacity, bool enableEurope, int europeStart, int europeEnd, int europeOpacity, bool enableUSCash, int uSCashStart, int uSCashEnd, int uSCashOpacity, bool showSessionLabels, bool showVerticalSessionLines, bool showStatusPanel, bool showWatermark, string panelPosition, int panelSlot, int boxOpacity, int lineWidth, int sessionLineWidth, bool extendZonesRight, bool showOverlapZones, bool fillSessionBoxes, bool showOverlapFill, int overlapOpacity, int tripleOverlapOpacity, int sessionBoxOpacity)
		{
			return RaidoSessionMap(Input, licenseKey, language, enableAsia, asiaStart, asiaEnd, asiaOpacity, enableEurope, europeStart, europeEnd, europeOpacity, enableUSCash, uSCashStart, uSCashEnd, uSCashOpacity, showSessionLabels, showVerticalSessionLines, showStatusPanel, showWatermark, panelPosition, panelSlot, boxOpacity, lineWidth, sessionLineWidth, extendZonesRight, showOverlapZones, fillSessionBoxes, showOverlapFill, overlapOpacity, tripleOverlapOpacity, sessionBoxOpacity);
		}


		
		public RaidoSessionMap RaidoSessionMap(ISeries<double> input, string licenseKey, RaidoSessionMapLanguage language, bool enableAsia, int asiaStart, int asiaEnd, int asiaOpacity, bool enableEurope, int europeStart, int europeEnd, int europeOpacity, bool enableUSCash, int uSCashStart, int uSCashEnd, int uSCashOpacity, bool showSessionLabels, bool showVerticalSessionLines, bool showStatusPanel, bool showWatermark, string panelPosition, int panelSlot, int boxOpacity, int lineWidth, int sessionLineWidth, bool extendZonesRight, bool showOverlapZones, bool fillSessionBoxes, bool showOverlapFill, int overlapOpacity, int tripleOverlapOpacity, int sessionBoxOpacity)
		{
			if (cacheRaidoSessionMap != null)
				for (int idx = 0; idx < cacheRaidoSessionMap.Length; idx++)
					if (cacheRaidoSessionMap[idx].LicenseKey == licenseKey && cacheRaidoSessionMap[idx].Language == language && cacheRaidoSessionMap[idx].EnableAsia == enableAsia && cacheRaidoSessionMap[idx].AsiaStart == asiaStart && cacheRaidoSessionMap[idx].AsiaEnd == asiaEnd && cacheRaidoSessionMap[idx].AsiaOpacity == asiaOpacity && cacheRaidoSessionMap[idx].EnableEurope == enableEurope && cacheRaidoSessionMap[idx].EuropeStart == europeStart && cacheRaidoSessionMap[idx].EuropeEnd == europeEnd && cacheRaidoSessionMap[idx].EuropeOpacity == europeOpacity && cacheRaidoSessionMap[idx].EnableUSCash == enableUSCash && cacheRaidoSessionMap[idx].USCashStart == uSCashStart && cacheRaidoSessionMap[idx].USCashEnd == uSCashEnd && cacheRaidoSessionMap[idx].USCashOpacity == uSCashOpacity && cacheRaidoSessionMap[idx].ShowSessionLabels == showSessionLabels && cacheRaidoSessionMap[idx].ShowVerticalSessionLines == showVerticalSessionLines && cacheRaidoSessionMap[idx].ShowStatusPanel == showStatusPanel && cacheRaidoSessionMap[idx].ShowWatermark == showWatermark && cacheRaidoSessionMap[idx].PanelPosition == panelPosition && cacheRaidoSessionMap[idx].PanelSlot == panelSlot && cacheRaidoSessionMap[idx].BoxOpacity == boxOpacity && cacheRaidoSessionMap[idx].LineWidth == lineWidth && cacheRaidoSessionMap[idx].SessionLineWidth == sessionLineWidth && cacheRaidoSessionMap[idx].ExtendZonesRight == extendZonesRight && cacheRaidoSessionMap[idx].ShowOverlapZones == showOverlapZones && cacheRaidoSessionMap[idx].FillSessionBoxes == fillSessionBoxes && cacheRaidoSessionMap[idx].ShowOverlapFill == showOverlapFill && cacheRaidoSessionMap[idx].OverlapOpacity == overlapOpacity && cacheRaidoSessionMap[idx].TripleOverlapOpacity == tripleOverlapOpacity && cacheRaidoSessionMap[idx].SessionBoxOpacity == sessionBoxOpacity && cacheRaidoSessionMap[idx].EqualsInput(input))
						return cacheRaidoSessionMap[idx];
			return CacheIndicator<RaidoSessionMap>(new RaidoSessionMap(){ LicenseKey = licenseKey, Language = language, EnableAsia = enableAsia, AsiaStart = asiaStart, AsiaEnd = asiaEnd, AsiaOpacity = asiaOpacity, EnableEurope = enableEurope, EuropeStart = europeStart, EuropeEnd = europeEnd, EuropeOpacity = europeOpacity, EnableUSCash = enableUSCash, USCashStart = uSCashStart, USCashEnd = uSCashEnd, USCashOpacity = uSCashOpacity, ShowSessionLabels = showSessionLabels, ShowVerticalSessionLines = showVerticalSessionLines, ShowStatusPanel = showStatusPanel, ShowWatermark = showWatermark, PanelPosition = panelPosition, PanelSlot = panelSlot, BoxOpacity = boxOpacity, LineWidth = lineWidth, SessionLineWidth = sessionLineWidth, ExtendZonesRight = extendZonesRight, ShowOverlapZones = showOverlapZones, FillSessionBoxes = fillSessionBoxes, ShowOverlapFill = showOverlapFill, OverlapOpacity = overlapOpacity, TripleOverlapOpacity = tripleOverlapOpacity, SessionBoxOpacity = sessionBoxOpacity }, input, ref cacheRaidoSessionMap);
		}

	}
}

namespace NinjaTrader.NinjaScript.MarketAnalyzerColumns
{
	public partial class MarketAnalyzerColumn : MarketAnalyzerColumnBase
	{
		
		public Indicators.RaidoSessionMap RaidoSessionMap(string licenseKey, RaidoSessionMapLanguage language, bool enableAsia, int asiaStart, int asiaEnd, int asiaOpacity, bool enableEurope, int europeStart, int europeEnd, int europeOpacity, bool enableUSCash, int uSCashStart, int uSCashEnd, int uSCashOpacity, bool showSessionLabels, bool showVerticalSessionLines, bool showStatusPanel, bool showWatermark, string panelPosition, int panelSlot, int boxOpacity, int lineWidth, int sessionLineWidth, bool extendZonesRight, bool showOverlapZones, bool fillSessionBoxes, bool showOverlapFill, int overlapOpacity, int tripleOverlapOpacity, int sessionBoxOpacity)
		{
			return indicator.RaidoSessionMap(Input, licenseKey, language, enableAsia, asiaStart, asiaEnd, asiaOpacity, enableEurope, europeStart, europeEnd, europeOpacity, enableUSCash, uSCashStart, uSCashEnd, uSCashOpacity, showSessionLabels, showVerticalSessionLines, showStatusPanel, showWatermark, panelPosition, panelSlot, boxOpacity, lineWidth, sessionLineWidth, extendZonesRight, showOverlapZones, fillSessionBoxes, showOverlapFill, overlapOpacity, tripleOverlapOpacity, sessionBoxOpacity);
		}


		
		public Indicators.RaidoSessionMap RaidoSessionMap(ISeries<double> input , string licenseKey, RaidoSessionMapLanguage language, bool enableAsia, int asiaStart, int asiaEnd, int asiaOpacity, bool enableEurope, int europeStart, int europeEnd, int europeOpacity, bool enableUSCash, int uSCashStart, int uSCashEnd, int uSCashOpacity, bool showSessionLabels, bool showVerticalSessionLines, bool showStatusPanel, bool showWatermark, string panelPosition, int panelSlot, int boxOpacity, int lineWidth, int sessionLineWidth, bool extendZonesRight, bool showOverlapZones, bool fillSessionBoxes, bool showOverlapFill, int overlapOpacity, int tripleOverlapOpacity, int sessionBoxOpacity)
		{
			return indicator.RaidoSessionMap(input, licenseKey, language, enableAsia, asiaStart, asiaEnd, asiaOpacity, enableEurope, europeStart, europeEnd, europeOpacity, enableUSCash, uSCashStart, uSCashEnd, uSCashOpacity, showSessionLabels, showVerticalSessionLines, showStatusPanel, showWatermark, panelPosition, panelSlot, boxOpacity, lineWidth, sessionLineWidth, extendZonesRight, showOverlapZones, fillSessionBoxes, showOverlapFill, overlapOpacity, tripleOverlapOpacity, sessionBoxOpacity);
		}
	
	}
}

namespace NinjaTrader.NinjaScript.Strategies
{
	public partial class Strategy : NinjaTrader.Gui.NinjaScript.StrategyRenderBase
	{
		
		public Indicators.RaidoSessionMap RaidoSessionMap(string licenseKey, RaidoSessionMapLanguage language, bool enableAsia, int asiaStart, int asiaEnd, int asiaOpacity, bool enableEurope, int europeStart, int europeEnd, int europeOpacity, bool enableUSCash, int uSCashStart, int uSCashEnd, int uSCashOpacity, bool showSessionLabels, bool showVerticalSessionLines, bool showStatusPanel, bool showWatermark, string panelPosition, int panelSlot, int boxOpacity, int lineWidth, int sessionLineWidth, bool extendZonesRight, bool showOverlapZones, bool fillSessionBoxes, bool showOverlapFill, int overlapOpacity, int tripleOverlapOpacity, int sessionBoxOpacity)
		{
			return indicator.RaidoSessionMap(Input, licenseKey, language, enableAsia, asiaStart, asiaEnd, asiaOpacity, enableEurope, europeStart, europeEnd, europeOpacity, enableUSCash, uSCashStart, uSCashEnd, uSCashOpacity, showSessionLabels, showVerticalSessionLines, showStatusPanel, showWatermark, panelPosition, panelSlot, boxOpacity, lineWidth, sessionLineWidth, extendZonesRight, showOverlapZones, fillSessionBoxes, showOverlapFill, overlapOpacity, tripleOverlapOpacity, sessionBoxOpacity);
		}


		
		public Indicators.RaidoSessionMap RaidoSessionMap(ISeries<double> input , string licenseKey, RaidoSessionMapLanguage language, bool enableAsia, int asiaStart, int asiaEnd, int asiaOpacity, bool enableEurope, int europeStart, int europeEnd, int europeOpacity, bool enableUSCash, int uSCashStart, int uSCashEnd, int uSCashOpacity, bool showSessionLabels, bool showVerticalSessionLines, bool showStatusPanel, bool showWatermark, string panelPosition, int panelSlot, int boxOpacity, int lineWidth, int sessionLineWidth, bool extendZonesRight, bool showOverlapZones, bool fillSessionBoxes, bool showOverlapFill, int overlapOpacity, int tripleOverlapOpacity, int sessionBoxOpacity)
		{
			return indicator.RaidoSessionMap(input, licenseKey, language, enableAsia, asiaStart, asiaEnd, asiaOpacity, enableEurope, europeStart, europeEnd, europeOpacity, enableUSCash, uSCashStart, uSCashEnd, uSCashOpacity, showSessionLabels, showVerticalSessionLines, showStatusPanel, showWatermark, panelPosition, panelSlot, boxOpacity, lineWidth, sessionLineWidth, extendZonesRight, showOverlapZones, fillSessionBoxes, showOverlapFill, overlapOpacity, tripleOverlapOpacity, sessionBoxOpacity);
		}

	}
}

#endregion
