/// <summary> /// ACD buy sell signal with 3 params, tickbuffer, OR time, and A time /// </summary> /// <returns></returns> public ZZACDwith3paramsAPriceConfirmation ZZACDwith3paramsAPriceConfirmation(Data.IDataSeries input, int numBarAsignal, int oRNumBars, int tickBuffer) { if (cacheZZACDwith3paramsAPriceConfirmation != null) { for (int idx = 0; idx < cacheZZACDwith3paramsAPriceConfirmation.Length; idx++) { if (cacheZZACDwith3paramsAPriceConfirmation[idx].NumBarAsignal == numBarAsignal && cacheZZACDwith3paramsAPriceConfirmation[idx].ORNumBars == oRNumBars && cacheZZACDwith3paramsAPriceConfirmation[idx].TickBuffer == tickBuffer && cacheZZACDwith3paramsAPriceConfirmation[idx].EqualsInput(input)) { return(cacheZZACDwith3paramsAPriceConfirmation[idx]); } } } lock (checkZZACDwith3paramsAPriceConfirmation) { checkZZACDwith3paramsAPriceConfirmation.NumBarAsignal = numBarAsignal; numBarAsignal = checkZZACDwith3paramsAPriceConfirmation.NumBarAsignal; checkZZACDwith3paramsAPriceConfirmation.ORNumBars = oRNumBars; oRNumBars = checkZZACDwith3paramsAPriceConfirmation.ORNumBars; checkZZACDwith3paramsAPriceConfirmation.TickBuffer = tickBuffer; tickBuffer = checkZZACDwith3paramsAPriceConfirmation.TickBuffer; if (cacheZZACDwith3paramsAPriceConfirmation != null) { for (int idx = 0; idx < cacheZZACDwith3paramsAPriceConfirmation.Length; idx++) { if (cacheZZACDwith3paramsAPriceConfirmation[idx].NumBarAsignal == numBarAsignal && cacheZZACDwith3paramsAPriceConfirmation[idx].ORNumBars == oRNumBars && cacheZZACDwith3paramsAPriceConfirmation[idx].TickBuffer == tickBuffer && cacheZZACDwith3paramsAPriceConfirmation[idx].EqualsInput(input)) { return(cacheZZACDwith3paramsAPriceConfirmation[idx]); } } } ZZACDwith3paramsAPriceConfirmation indicator = new ZZACDwith3paramsAPriceConfirmation(); indicator.BarsRequired = BarsRequired; indicator.CalculateOnBarClose = CalculateOnBarClose; #if NT7 indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256; indicator.MaximumBarsLookBack = MaximumBarsLookBack; #endif indicator.Input = input; indicator.NumBarAsignal = numBarAsignal; indicator.ORNumBars = oRNumBars; indicator.TickBuffer = tickBuffer; Indicators.Add(indicator); indicator.SetUp(); ZZACDwith3paramsAPriceConfirmation[] tmp = new ZZACDwith3paramsAPriceConfirmation[cacheZZACDwith3paramsAPriceConfirmation == null ? 1 : cacheZZACDwith3paramsAPriceConfirmation.Length + 1]; if (cacheZZACDwith3paramsAPriceConfirmation != null) { cacheZZACDwith3paramsAPriceConfirmation.CopyTo(tmp, 0); } tmp[tmp.Length - 1] = indicator; cacheZZACDwith3paramsAPriceConfirmation = tmp; return(indicator); } }
/// <summary> /// ACD buy sell signal with 3 params, tickbuffer, OR time, and A time /// </summary> /// <returns></returns> public ZZACDwith3paramsAPriceConfirmation ZZACDwith3paramsAPriceConfirmation(Data.IDataSeries input, int numBarAsignal, int oRNumBars, int tickBuffer) { if (cacheZZACDwith3paramsAPriceConfirmation != null) for (int idx = 0; idx < cacheZZACDwith3paramsAPriceConfirmation.Length; idx++) if (cacheZZACDwith3paramsAPriceConfirmation[idx].NumBarAsignal == numBarAsignal && cacheZZACDwith3paramsAPriceConfirmation[idx].ORNumBars == oRNumBars && cacheZZACDwith3paramsAPriceConfirmation[idx].TickBuffer == tickBuffer && cacheZZACDwith3paramsAPriceConfirmation[idx].EqualsInput(input)) return cacheZZACDwith3paramsAPriceConfirmation[idx]; lock (checkZZACDwith3paramsAPriceConfirmation) { checkZZACDwith3paramsAPriceConfirmation.NumBarAsignal = numBarAsignal; numBarAsignal = checkZZACDwith3paramsAPriceConfirmation.NumBarAsignal; checkZZACDwith3paramsAPriceConfirmation.ORNumBars = oRNumBars; oRNumBars = checkZZACDwith3paramsAPriceConfirmation.ORNumBars; checkZZACDwith3paramsAPriceConfirmation.TickBuffer = tickBuffer; tickBuffer = checkZZACDwith3paramsAPriceConfirmation.TickBuffer; if (cacheZZACDwith3paramsAPriceConfirmation != null) for (int idx = 0; idx < cacheZZACDwith3paramsAPriceConfirmation.Length; idx++) if (cacheZZACDwith3paramsAPriceConfirmation[idx].NumBarAsignal == numBarAsignal && cacheZZACDwith3paramsAPriceConfirmation[idx].ORNumBars == oRNumBars && cacheZZACDwith3paramsAPriceConfirmation[idx].TickBuffer == tickBuffer && cacheZZACDwith3paramsAPriceConfirmation[idx].EqualsInput(input)) return cacheZZACDwith3paramsAPriceConfirmation[idx]; ZZACDwith3paramsAPriceConfirmation indicator = new ZZACDwith3paramsAPriceConfirmation(); indicator.BarsRequired = BarsRequired; indicator.CalculateOnBarClose = CalculateOnBarClose; #if NT7 indicator.ForceMaximumBarsLookBack256 = ForceMaximumBarsLookBack256; indicator.MaximumBarsLookBack = MaximumBarsLookBack; #endif indicator.Input = input; indicator.NumBarAsignal = numBarAsignal; indicator.ORNumBars = oRNumBars; indicator.TickBuffer = tickBuffer; Indicators.Add(indicator); indicator.SetUp(); ZZACDwith3paramsAPriceConfirmation[] tmp = new ZZACDwith3paramsAPriceConfirmation[cacheZZACDwith3paramsAPriceConfirmation == null ? 1 : cacheZZACDwith3paramsAPriceConfirmation.Length + 1]; if (cacheZZACDwith3paramsAPriceConfirmation != null) cacheZZACDwith3paramsAPriceConfirmation.CopyTo(tmp, 0); tmp[tmp.Length - 1] = indicator; cacheZZACDwith3paramsAPriceConfirmation = tmp; return indicator; } }