{ "type": "class",
  "qname": "mx.charts.series.CandlestickSeries",
  "baseClassname": "mx.charts.chartClasses.HLOCSeriesBase"
  ,
    "description": "Represents financial data as a series of candlesticks representing the high, low, opening, and closing values of a data series. The top and bottom of the vertical line in each candlestick represent the high and low values for the datapoint, while the top and bottom of the filled box represent the opening and closing values. Each candlestick is filled differently depending on whether the closing value for the datapoint is higher or lower than the opening value.  <p> The <code>&lt;mx:CandlestickSeries&gt;</code> tag inherits all the properties of its parent classes, and the following properties: </p> <pre>\\n &lt;mx:CandlestickSeries\\n <strong>Properties</strong>\\n fillFunction=&quot;<i>Internal fill function</i>&quot;\\n \\n <strong>Styles</strong>\\n boxStroke=&quot;<i>IStroke; no default</i>&quot;\\n declineFill=&quot;<i>IFill; no default</i>&quot;\\n fill=&quot;<i>IFill; no default</i>&quot;\\n fills=&quot;<i>IFill; no default</i>&quot;\\n stroke=&quot;<i>IStroke; no default</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["../examples/CandlestickChartExample.mxml"]},
      {  "tagName": "see",
         "values": ["mx.charts.CandlestickChart"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.series.CandlestickSeries",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Function",
        "qname": "fillFunction",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a method that returns the fill for the current chart item in the series. If this property is set, the return value of the custom fill function takes precedence over the <code>fill</code> and <code>fills</code> style properties. But if it returns null, then <code>fills</code> and <code>fill</code> will be prefered in that order.  <p>The custom <code>fillFunction</code> has the following signature:  <pre>\\n <i>function_name</i> (item:ChartItem, index:Number):IFill { ... }\\n </pre>  <code>item</code> is a reference to the chart item that is being rendered. <code>index</code> is the index of the chart item in the renderData's cache. This is different from the index of the chart's data provider because it is sorted based on the x, y, and z values. This function returns an object that implements the <code>IFill</code> interface. </p>  <p>An example usage of a customized <code>fillFunction</code> is to return a fill based on some threshold.</p>  <pre>\\n public function myFillFunction(item:ChartItem, index:Number):IFill {\\n var curItem:HLOCSeriesItem = HLOCSeriesItem(item);\\n if (curItem.closeNumber > 10)\\n return(new SolidColor(0x123456, .75));\\n else\\n return(new SolidColor(0x563412, .75));\\n }\\n </pre>  <p> If you specify a custom fill function for your chart series and you want to have a Legend control, you must manually create a Legend control and add LegendItems to it. </p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "example",
               "values": []},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFlexModuleFactory",
        "qname": "moduleFactory",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "findDataPoints",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "Array",
          "params": [{ "name": "x", "type": "Number"},
        { "name": "y", "type": "Number"},
        { "name": "sensitivity", "type": "Number"}]}
      ]
  }
