title: How to disable MSChart candlestick's automatic "PriceUp/Down" colors and fill when needed?
body: <p>Is there ANY ways possible to manipulate, maybe even override the way the candlestick charts are colored?</p>
  
  <p>What I'm trying to do, should look like this:
  <img src="https://i.stack.imgur.com/LO011.png" alt="MSChart edited result"></p>
  
  <p>What happens here, is that the candles are filled with its color when the "Open" prices are higher than "Close" prices, and black when it's the other way around.</p>
  
  <p>But this isn't possible in MS Chart? I was thinking about creating another candlestick series on top of the other, and get filled boxes from that, <strike>but it wouldn't work, since MS Chart automatically uses the "PriceDown/Up" colors.</strike> ...See my answer below.</p>
  
  <p>Here's the code I use and which doesn't work the way I would like to:</p>
  
  <pre><code>DataPointCollection dpcCandle = Series[Candle].Points;
  DataPointCollection dpcPrice = Series[Price].Points;
  
  int candleCount = dpcCandle.Count;
  
  dpcCandle.AddXY(time, high);
  dpcCandle[candleCount].YValues[1] = low;
  dpcCandle[candleCount].YValues[2] = open;
  dpcCandle[candleCount].YValues[3] = close;
  
  if( candleCount &gt; 1 )
  {
      Color col;
      float oldClose = (float)dpcCandle[candleCount-1].YValues[3];
      float oldOpen = (float)dpcCandle[candleCount-1].YValues[2];
  
      dpcCandle[candleCount].BorderWidth = 1;
  
      // Determine color
      if( oldClose &lt;= close) // Price up!
          col = Color.ForestGreen;
      else // Price down...
          col = Color.Red;
  
      // Determine fill
      if( open &lt; close )
      {
          dpcCandle[candleCount].Color = Color.Black;
          dpcCandle[candleCount].BorderColor = col;
      }
      else
      {
          dpcCandle[candleCount].Color = col;
          dpcCandle[candleCount].BorderColor = col;
      }
  
      if( oldOpen.Equals(close) )
      {
          dpcCandle[candleCount].Color = dpcCandle[candleCount-1].Color;
          dpcCandle[candleCount].BorderColor = dpcCandle[candleCount-1].BorderColor;
      }
  }
  </code></pre>
  
  <p>Well, it works, but the result looks like this:
  <img src="https://i.stack.imgur.com/HTpSI.png" alt="MSChart original result"></p>
  
  <p>...with these settings:</p>
  
  <pre><code>Series[Candle]["PriceUpColor"] = "Black";
  Series[Candle]["PriceDownColor"] = "Black";
  </code></pre>
  
  <p>And when I change those to these:</p>
  
  <pre><code>Series[Candle]["PriceUpColor"] = "ForestGreen";
  Series[Candle]["PriceDownColor"] = "Red";
  </code></pre>
  
  <p>...I get this ugly mess for a result:
  <img src="https://i.stack.imgur.com/u4QpJ.png" alt="enter image description here"></p>
  
  <p>Thanks in advance.</p>