+ContextScript.IndicatorParametersByName, IndicatorParameter<ScriptParameter, ...

BROKEN JsonDeserialize() fails which makes StrategyGUID rewritted and all ContextScript parameters forgotten
TODO Indicator.BuildParametersFromAttributes(): make it non-overwriting, introduce overridable Indicator.InitializeImplementationSpecific() and invoke it first
TODO Script.ParametersById: merge with ContextScript; how does it survive restart now?... (IndicatorParametersById is the pioneer now)
TODO unify ScriptParameter and IndicatorParameter in terms of SliderBordersShown and SliderNumericUpdownsShown
TODO IndicatorParametersByName<string, IndicatorParameter> > to <string, List<IndicatorParameter>> and uncomposite the key
+indicator sliders are drawn after restart & backtest, sliderChange saves ValueCurrent to Strategy.IndicatorParametersByName and re-backtests

BEFORE_I_BREAK_EVERYTHING for CLEANER_INDICATORS idea
TODO NYI SetSliderNumericUpdownShownForIndicatorParameterName
+yeps Attributes are evil; much cleaner lifecycle when Script initializes its own indicators in Script.ctor()

TODO apply CLEANER_SCRIPT_PARAMETERS, refactor PullCurrentContextParametersFromStrategyTwoWayMergeSaveStrategy
TODO +IndicatorParameter.ShowBorder,ShowNumeric => -Strategy.SliderBordersShownByParameterId,SliderNumericUpdownsShownByParameterId
TODO Slider for IndicatorParameter("Period", 5, 1, 11, 2) has 2-4-6-8 instead of 1-3-5-7
TODO EnterEveryBar doesn't draw MAfast
+MultiSplitContainer integrated

TODO MultiSplitContainer.EventGenerator.cs: add Dragged and Resized
TODO reanimate splitContainerPriceVsVolume_SplitterMoved & restoring splitDistance on deserialization
TODO experiment with IndicatorAverageTrueRange.ctor(): base.ChartPanelType = ChartPanelType.PanelIndicatorSingle