I have coded a number of indicators with several outputParameters where I set the default colors for the outputs in indicator onStart(). It appears beyond a certain number of outputs (10 or more?) if you reload the JForex platform that the default colors/line styles are rearranged!
default colors for the indicator as set in OnStart method

and here is the indicator on the chart with the correct default colors....

and after a JForex platform restart all the line colors and style have changed...

private Color RoyalBlue = new Color(65, 105, 225);
private Color Crimson = new Color(220, 20, 60);
private Color DarkGray = new Color(85, 85, 85);
private Color DemiBlack = new Color(64, 64, 64);
private Color Orchid = new Color(218, 112, 214);
public void onStart(IIndicatorContext context)
{
this.context = context;
indicatorInfo = new IndicatorInfo("FLOOR PIVOTS", "Floor Pivots", "Support & Resistance Indicators", true, false, true, 2, 9, 23);
indicatorInfo.setSparceIndicator(true);
// indicatorInfo.setShowOnTicks(false);
indicatorInfo.setRecalculateAll(true);
calculationTimeframe = new InputParameterInfo("Calculation Input data", InputParameterInfo.Type.BAR);
calculationTimeframe.setPeriod(Period.DAILY_SUNDAY_IN_MONDAY);
calculationTimeframe.setFilter(Filter.WEEKENDS);
displayTimeframe = new InputParameterInfo("Display Input data", InputParameterInfo.Type.BAR);
displayTimeframe.setFilter(Filter.WEEKENDS);
inputParameterInfos = new InputParameterInfo[]
{
displayTimeframe,
calculationTimeframe
};
setPeriods();
optInputParameterInfos = new OptInputParameterInfo[]
{
new OptInputParameterInfo("Period", OptInputParameterInfo.Type.OTHER, new IntegerListDescription(period, periodValues, periodNames)),
new OptInputParameterInfo("Number Periods Lookback", OptInputParameterInfo.Type.OTHER, new IntegerRangeDescription(periodLookback, 1, 50, 1)),
new OptInputParameterInfo("Label Offset (candles)", OptInputParameterInfo.Type.OTHER, new IntegerRangeDescription(labelOffset, 0, 25, 1)),
new OptInputParameterInfo("Show MidPivot Levels", OptInputParameterInfo.Type.OTHER, new BooleanOptInputDescription(showMidPivotLevels)),
new OptInputParameterInfo("Show Central Pivot Range", OptInputParameterInfo.Type.OTHER, new BooleanOptInputDescription(showCentralPivotRange)),
new OptInputParameterInfo("Show Previous Open/High/Low", OptInputParameterInfo.Type.OTHER, new BooleanOptInputDescription(showYesterdayLevels)),
new OptInputParameterInfo("Large Labels", OptInputParameterInfo.Type.OTHER, new BooleanOptInputDescription(largeLabels)),
new OptInputParameterInfo("Align Labels Left", OptInputParameterInfo.Type.OTHER, new BooleanOptInputDescription(labelsLeft)),
new OptInputParameterInfo("Display Period", OptInputParameterInfo.Type.OTHER, new BooleanOptInputDescription(displayPeriod))
};
outputParameterInfos = new OutputParameterInfo[]
{
createOutputParameterInfo("PV", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.LINE),
createOutputParameterInfo("TC", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.LINE),
createOutputParameterInfo("BC", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.LINE),
createOutputParameterInfo("R1", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("R2", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("R3", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("R4", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("S1", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("S2", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("S3", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("S4", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("High", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("Low", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("Open", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mR1", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mR2", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mR3", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mR4", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mS1", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mS2", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mS3", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("mS4", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.DASH_LINE ),
createOutputParameterInfo("Separators", OutputParameterInfo.Type.DOUBLE, OutputParameterInfo.DrawingStyle.LINE )
};
// central pivot, and top, bottom of central pivot range
outputParameterInfos[0].setColor(DemiBlack);
outputParameterInfos[1].setColor(Orchid);
outputParameterInfos[2].setColor(Orchid);
// outputParameterInfos[1].setLineWidth(3); // this compiles in eclipse, but not in JForex
// outputParameterInfos[2].setLineWidth(3);
// resistance levels
outputParameterInfos[3].setColor(Crimson);
outputParameterInfos[4].setColor(Crimson);
outputParameterInfos[5].setColor(Crimson);
outputParameterInfos[6].setColor(Crimson);
// support levels
outputParameterInfos[7].setColor(RoyalBlue);
outputParameterInfos[8].setColor(RoyalBlue);
outputParameterInfos[9].setColor(RoyalBlue);
outputParameterInfos[10].setColor(RoyalBlue);
// yesterday high, low, open
outputParameterInfos[11].setColor(DemiBlack);
outputParameterInfos[12].setColor(DemiBlack);
outputParameterInfos[13].setColor(DemiBlack);
// mid pivots
outputParameterInfos[14].setColor(DarkGray);
outputParameterInfos[15].setColor(DarkGray);
outputParameterInfos[16].setColor(DarkGray);
outputParameterInfos[17].setColor(DarkGray);
outputParameterInfos[18].setColor(DarkGray);
outputParameterInfos[19].setColor(DarkGray);
outputParameterInfos[20].setColor(DarkGray);
outputParameterInfos[21].setColor(DarkGray);
// separators
outputParameterInfos[22].setColor(DemiBlack);
decimalFormat = new DecimalFormat("0.0000");
}
this is a big time waster if you setup your charts to provide at a glance color coded information for trading...
can we get it fixed with the next release of the JForex platform please?