public static IStockViewableSeries CreateInitialisedFrom(IStockViewableSeries aViewableSerie, StockSerie stockSerie) { if (!stockSerie.Initialise()) return null; IStockViewableSeries viewableSerie = null; switch (aViewableSerie.Type) { case ViewableItemType.Indicator: viewableSerie = stockSerie.GetIndicator(aViewableSerie.Name); break; case ViewableItemType.Decorator: viewableSerie = stockSerie.GetDecorator(aViewableSerie.Name, ((IStockDecorator)aViewableSerie).DecoratedItem); break; case ViewableItemType.PaintBar: viewableSerie = stockSerie.GetPaintBar(aViewableSerie.Name); break; case ViewableItemType.TrailStop: viewableSerie = stockSerie.GetTrailStop(aViewableSerie.Name); break; case ViewableItemType.Trail: viewableSerie = stockSerie.GetTrail(aViewableSerie.Name, ((IStockTrail)aViewableSerie).TrailedItem); break; default: break; } return viewableSerie; }
public static IStockViewableSeries GetViewableItem(string fullString, StockSerie stockSerie) { IStockViewableSeries viewableSerie = null; string[] fields = fullString.Split('|'); int offset = 2; switch (fields[0].ToUpper()) { case "INDICATOR": if (stockSerie == null) { viewableSerie = StockIndicatorManager.CreateIndicator(fields[1]); } else { viewableSerie = stockSerie.GetIndicator(fields[1]); } offset = 2; break; case "PAINTBAR": if (stockSerie == null) { viewableSerie = StockPaintBarManager.CreatePaintBar(fields[1]); } else { viewableSerie = stockSerie.GetPaintBar(fields[1]); } offset = 2; break; case "TRAILSTOP": if (stockSerie == null) { viewableSerie = StockTrailStopManager.CreateTrailStop(fields[1]); } else { viewableSerie = stockSerie.GetTrailStop(fields[1]); } offset = 2; break; case "DECORATOR": if (stockSerie == null) { viewableSerie = StockDecoratorManager.CreateDecorator(fields[1], fields[2]); } else { viewableSerie = stockSerie.GetDecorator(fields[1], fields[2]); } offset = 3; break; case "TRAIL": if (stockSerie == null) { viewableSerie = StockTrailManager.CreateTrail(fields[1], fields[2]); } else { viewableSerie = stockSerie.GetTrail(fields[1], fields[2]); } offset = 3; break; default: return null; } if (viewableSerie != null) { for (int i = 0; i < viewableSerie.SeriesCount; i++) { int index = 2 * i + offset; if (index < fields.Length) { viewableSerie.SeriePens[i] = GraphCurveType.PenFromString(fields[index]); viewableSerie.SerieVisibility[i] = bool.Parse(fields[index + 1]); } else { viewableSerie.SerieVisibility[i] = true; } } if (fields[0].ToUpper() == "DECORATOR") { offset += viewableSerie.SeriesCount*2; IStockDecorator decorator = viewableSerie as IStockDecorator; for (int i = 0; i < decorator.EventCount; i++) { int index = 2 * i + offset; if (index < fields.Length) { decorator.EventPens[i] = GraphCurveType.PenFromString(fields[index]); decorator.EventVisibility[i] = bool.Parse(fields[index + 1]); } else { decorator.EventVisibility[i] = true; } } } } return viewableSerie; }
public bool TrailHL(int i, StockSerie stockSerie, ref string eventName) { eventName = "UpBreak_TRAILHL(4)"; BoolSerie upTrend = stockSerie.GetTrailStop("TRAILHL(1)").Events[0]; BoolSerie upBar = stockSerie.GetPaintBar("HIGHLOWDAYS(6)").Events[0]; FloatSerie roc = stockSerie.GetIndicator("ROCEX3(200,100,50,10,20)").Series[0]; return upTrend[i] && roc[i] > 0 && (upBar[i] && !upBar[i - 1]); }