public override void Get(ref object Prototype, IIndicatorValues Ind) { IDivergentIndicator divergentIndicator = (IDivergentIndicator)this.IndicatorParameters.List[0]; (Prototype as Trends).PeakToPeak = divergentIndicator.GetPeakToPeakLine(0, Ind); (Prototype as Trends).DipToDip = divergentIndicator.GetDipToDipLine(0, Ind); }
public override void GetAll(IIndicatorValues Ind) { IDivergentIndicator divergentIndicator = (IDivergentIndicator)this.IndicatorParameters.List[0]; if (!Ind.Trends(divergentIndicator).IsPopulated) { int oldCurrentBar = Ind.Bar.CurrentBar; for (int i = 1; i <= Ind.Bar.MaxBar; i++) { Ind.Bar.CurrentBar = i; object prototype = null; if (i == 1) { prototype = new Trends(); } else { prototype = (Trends)Ind.Trends(divergentIndicator)[1].Clone(); } Get(ref prototype, Ind); Ind.Trends(divergentIndicator)[0] = (Trends)prototype; Ind.Trends(divergentIndicator).IsPopulated = true; // set here so instance is guaranteed to exits } Ind.Bar.CurrentBar = oldCurrentBar; } }
protected override String GetIndicatorHeader(IndicatorParameters IndicatorParameters) { IDivergentIndicator studyIndicator = (IDivergentIndicator)IndicatorParameters.List[0]; IDivergentIndicator divergenceIndicator = (IDivergentIndicator)IndicatorParameters.List[1]; return(String.Format("{0} P2P|{0} D2D|{1} P2P|{1} D2D|Up|Down|Reversal||", studyIndicator.ToString(), divergenceIndicator.ToString())); }
public override void Get(ref object Prototype, IIndicatorValues Ind) { IDivergentIndicator studyIndicator = (IDivergentIndicator)this.IndicatorParameters.List[0]; IDivergentIndicator divergenceIndicator = (IDivergentIndicator)this.IndicatorParameters.List[1]; TrendLine studyPeakToPeak = studyIndicator.GetPeakToPeakLine(0, Ind); TrendLine studyDipToDip = studyIndicator.GetDipToDipLine(0, Ind); TrendLine divergencePeakToPeak = divergenceIndicator.GetPeakToPeakLine(0, Ind); TrendLine divergenceDipToDip = divergenceIndicator.GetDipToDipLine(0, Ind); (Prototype as Divergence).StudyPeakToPeakValue = (studyPeakToPeak == null) ? (decimal?)null : studyPeakToPeak.GetValueAt(Ind.Bar[0].Number); (Prototype as Divergence).StudyPeakToPeakGradient = (studyPeakToPeak == null) ? (decimal?)null : studyPeakToPeak.Gradient; (Prototype as Divergence).StudyDipToDipValue = (studyDipToDip == null) ? (decimal?)null : studyDipToDip.GetValueAt(Ind.Bar[0].Number); (Prototype as Divergence).StudyDipToDipGradient = (studyDipToDip == null) ? (decimal?)null : studyDipToDip.Gradient; (Prototype as Divergence).DivergencePeakToPeakValue = (divergencePeakToPeak == null) ? (decimal?)null : divergencePeakToPeak.GetValueAt(Ind.Bar[0].Number); (Prototype as Divergence).DivergencePeakToPeakGradient = (divergencePeakToPeak == null) ? (decimal?)null : divergencePeakToPeak.Gradient; (Prototype as Divergence).DivergenceDipToDipValue = (divergenceDipToDip == null) ? (decimal?)null : divergenceDipToDip.GetValueAt(Ind.Bar[0].Number); (Prototype as Divergence).DivergenceDipToDipInstantGradient = (divergenceDipToDip == null) ? (decimal?)null : divergenceDipToDip.Gradient; }
public IndicatorTrends(IDivergentIndicator DivergentIndicator) : this(new IndicatorParameters(DivergentIndicator)) { }
public IndicatorDivergence(IDivergentIndicator StudyIndicator, IDivergentIndicator DivergenceIndicator) : this(new IndicatorParameters(StudyIndicator, DivergenceIndicator)) { }