Here is the strategy script:
if (CurrentBar == 0)
{
MACDCrossFast().fastEma.Set(Input[0]);
MACDCrossFast().slowEma.Set(Input[0]);
MACDCrossFast().Value.Set(0);
MACDCrossFast().Avg.Set(0);
MACDCrossFast().Diff.Set(0);
MACDCrossSlow().fastEma.Set(Input[0]);
MACDCrossSlow().slowEma.Set(Input[0]);
MACDCrossSlow().Value.Set(0);
MACDCrossSlow().Avg.Set(0);
MACDCrossSlow().Diff.Set(0);
}
else
{
if(BarsInProgress == fastseries)
{
MACDCrossFast().fastEma.Set((2.0 / (1 + Fast)) * Input[0] + (1 - (2.0 / (1 + Fast))) * MACDCrossFast().fastEma[1]);
MACDCrossFast().slowEma.Set((2.0 / (1 + Slow)) * Input[0] + (1 - (2.0 / (1 + Slow))) * MACDCrossFast().slowEma[1]);
macd = MACDCrossFast().fastEma[0] - MACDCrossFast().slowEma[0];
macdAvg = (2.0 / (1 + Smooth)) * macd + (1 - (2.0 / (1 + Smooth))) * MACDCrossFast().Avg[1];
MACDCrossFast().Value.Set(macd);
MACDCrossFast().Avg.Set(macdAvg);
MACDCrossFast().Diff.Set(macd - macdAvg);
}
if(BarsInProgress == slowseries)
{
MACDCrossSlow().fastEma.Set((2.0 / (1 + Fast)) * Input[0] + (1 - (2.0 / (1 + Fast))) * MACDCrossSlow().fastEma[1]);
MACDCrossSlow().slowEma.Set((2.0 / (1 + Slow)) * Input[0] + (1 - (2.0 / (1 + Slow))) * MACDCrossSlow().slowEma[1]);
macd = MACDCrossSlow().fastEma[0] - MACDCrossSlow().slowEma[0];
macdAvg = (2.0 / (1 + Smooth)) * macd + (1 - (2.0 / (1 + Smooth))) * MACDCrossSlow().Avg[1];
MACDCrossSlow().Value.Set(macd);
MACDCrossSlow().Avg.Set(macdAvg);
MACDCrossSlow().Diff.Set(macd - macdAvg);
}
}
protected override void Initialize()
{
Add(new Plot(Color.Green, PlotStyle.Dot, "Macd"));
Add(new Plot(Color.Black, "Avg"));
Add(new Plot(new Pen(Color.Navy, 2), PlotStyle.Bar, "Diff"));
Add(new Line(Color.DarkGray, 0, "ZeroLine"));
fastEma = new DataSeries(this);
slowEma = new DataSeries(this);
}
Both plot if I use the default series for both.
Hmm... Neither plot using series 1, but the Print() reprsents the values properly...
here is the script that creates the series:
PeriodType ID = BarsPeriod.Id; int VAL = BarsPeriod.Value; Print(ID+", "+VAL); Add(ID,VAL*2);//Scale 1 Add(ID,VAL*4);//Scale 2 Add(ID,VAL*8);//Scale 3 Add(ID,VAL*16);//Scale 4 Add(ID,VAL*32);//Scale 5 Add(ID,VAL*64);//Scale 6 Add(ID,VAL*128);//Scale 7 Add(ID,VAL*256);//Scale 8 Add(ID,VAL*512);//Scale 9 Add(ID,VAL*1024);//Scale 10 Add(ID,VAL*4096);//Scale 11

Comment