getConfig method

dynamic getConfig(
  1. dynamic color,
  2. dynamic indicatorConfig
)

获取指标样式

Implementation

getConfig(color, indicatorConfig) {
  colorAry = color['colorAry'] ??
      [
      Color.fromRGBO(200, 68, 20, 1),
      Color.fromRGBO(149, 48, 11, 1),
      Color.fromRGBO(4, 200, 43, 1),
      Color.fromRGBO(20, 12, 186, 1),
      Color.fromRGBO(125, 7, 91, 1),
      Color.fromRGBO(109, 7, 65, 1),
      Color.fromRGBO(233, 7, 7, 1),
      Color.fromRGBO(7, 23, 7, 1),
      Color.fromRGBO(169, 234, 5, 1),
      Color.fromRGBO(220, 150, 9, 1),
      ];
  var colorHintUp = color['colorHintUp'] ?? Color.fromRGBO(233, 7, 7, 1);
  var colorHintDown = color['colorHintDown'] ?? Color.fromRGBO(169, 234, 5, 1);
  /*
      指标配置示例 KDJ的配置
      KDJ.title.name
          是指标提示内容的名字部分,
          如果KDJ.title.name的值是"",则代表此指标不需要展示名字
          如果KDJ.title.name的值不是"",则其参数部分由KDJ.params数组里的value拼接组成,如果KDJ.params长度为0(无参),则只展示指标名字
      KDJ.title.value
          是指标提示内容的字段值的部分,value里存放的是需要展示的指标字段,并且是按照value数组顺序展示,指标公式可能计算出很多字段,
          但是不一定都要展示,把需要展示的字段放入value数组中,比如value:["K","D","J"]
      KDJ.style.NAME
          是KDJ.title.name的文字样式 是固定关系
      KDJ.style.xxxx
          是其他指标字段生成线段的样式 这里xxxx的数量是和指标公式输出的字段保持一致的,KDJ.title.value里的字段颜色就从对应的KDJ.style.xxxx获取 name是字段名字(没有用到)label是字段别名(在编辑页面使用)
      KDJ.params
          是指标公式的计算参数,计算指标时传入KDJ.params的value值,min、max是value的可取值范围 name是参数名字(没有用到)label是参数别名(在编辑页面使用)

      KDJ:{
          'title':{
              'name':"KDJ(9,3,3)",
              'value':["K","D","J"]
          }
          'style':{
              'NAME':{'color':"#ff00ff",'strokeWidth':0,'name':"NAME",'label':"NAME"},
              K:{'color':"#ff00ff",'strokeWidth':1,'name':"K",'label':"k"},
              D:{'color':"#ff00ff",'strokeWidth':1,'name':"D",'label':"D"},
              J:{'color':"#ff00ff",'strokeWidth':1,'name':"J",'label':"J"},
          }
          'params':[
              {'value':9,'min':5,'max':200,'name':"K",'label':"k"},
              {'value':3,'min':5,'max':200,'name':"D",'label':"D"},
              {'value':3,'min':5,'max':200,'name':"J",'label':"J"},
          ]
      }
  */

  Map defalutConfig = {
    Indicator['MA']: {
      'name': Indicator['MA'],
      'title': {
        'name': "",
        'value': ["MA1", "MA2", "MA3"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'MA1': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "MA1",
          'label': "MA1"
        },
        'MA2': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MA2",
          'label': "MA2"
        },
        'MA3': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "MA3",
          'label': "MA3"
        }
      },
      'params': [
        {'value': 5, 'min': 1, 'max': 300, 'name': "MA1", 'label': "MA1"},
        {'value': 10, 'min': 1, 'max': 300, 'name': "MA2", 'label': "MA2"},
        {'value': 20, 'min': 1, 'max': 300, 'name': "MA3", 'label': "MA3"}
      ],
      'mNums': 3, //MA特有属性 多少根MA线
    },
    Indicator['BOLL']: {
      'name': Indicator['BOLL'],
      'title': {
        'name': "",
        'value': ["UPPER", "MID", "LOWER"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'UPPER': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "UPPER",
          'label': "UPPER"
        },
        'MID': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MID",
          'label': "MID"
        },
        'LOWER': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "LOWER",
          'label': "LOWER"
        }
      },
      'params': [
        {'value': 20, 'min': 5, 'max': 300, 'name': "N", 'label': "N"},
        {'value': 2, 'min': 1, 'max': 100, 'name': "M", 'label': "M"}
      ]
    },
    Indicator['CR']: {
      'name': Indicator['CR'],
      'title': {
        'name': "CR(26,5,10,20)",
        'value': ["CR", "MA1", "MA2", "MA3"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'CR': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "CR",
          'label': "CR"
        },
        'MA1': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MA1",
          'label': "MA1"
        },
        'MA2': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "MA2",
          'label': "MA2"
        },
        'MA3': {
          'color': colorAry[4],
          'strokeWidth': 1.0,
          'name': "MA3",
          'label': "MA3"
        }
      },
      'params': [
        {'value': 26, 'min': 5, 'max': 500, 'name': "P1", 'label': "P1"},
        {'value': 5, 'min': 1, 'max': 100, 'name': "P2", 'label': "P2"},
        {'value': 10, 'min': 1, 'max': 100, 'name': "P3", 'label': "P3"},
        {'value': 20, 'min': 1, 'max': 100, 'name': "P4", 'label': "P4"}
      ]
    },
    Indicator['DMI']: {
      'name': Indicator['DMI'],
      'title': {
        'name': "DMI(14,6)",
        'value': ["DI1", "DI2", "ADX", "ADXR"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'DI1': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "DI1",
          'label': "DI1"
        },
        'DI2': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "DI2",
          'label': "DI2"
        },
        'ADX': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "ADX",
          'label': "ADX"
        },
        'ADXR': {
          'color': colorAry[4],
          'strokeWidth': 1.0,
          'name': "ADXR",
          'label': "ADXR"
        }
      },
      'params': [
        {'value': 14, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['ARBR']: {
      'name': Indicator['ARBR'],
      'title': {
        'name': "ARBR(26,70,150)",
        'value': ["AR", "BR", "A", "B"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'AR': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "AR",
          'label': "AR"
        },
        'BR': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "BR",
          'label': "BR"
        },
        'A': {
          'color': colorHintUp,
          'strokeWidth': 1.0,
          'name': "A",
          'label': "A"
        },
        'B': {
          'color': colorHintDown,
          'strokeWidth': 1.0,
          'name': "B",
          'label': "B"
        }
      },
      'params': [
        {'value': 26, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 70, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 150, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"}
      ]
    },
    Indicator['RSI']: {
      'name': Indicator['RSI'],
      'title': {
        'name': "RSI(6,12,24)",
        'value': ["RSI1", "RSI2", "RSI3"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'RSI1': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "RSI1",
          'label': "RSI1"
        },
        'RSI2': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "RSI2",
          'label': "RSI2"
        },
        'RSI3': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "RSI3",
          'label': "RSI3"
        },
        'A': {
          'color': colorHintUp,
          'strokeWidth': 1.0,
          'name': "A",
          'label': "A"
        },
        'B': {
          'color': colorHintDown,
          'strokeWidth': 1.0,
          'name': "B",
          'label': "B"
        }
      },
      'params': [
        {'value': 6, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 12, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 24, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"},
        {'value': 20, 'min': 1, 'max': 300, 'name': "A", 'label': "A"},
        {'value': 80, 'min': 1, 'max': 300, 'name': "B", 'label': "B"}
      ]
    },
    Indicator['ADX']: {
      'name': Indicator['ADX'],
      'title': {
        'name': "ADX(14)",
        'value': ["ADX", "PDI", "MDI"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'ADX': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "ADX",
          'label': "ADX"
        },
        'PDI': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "PDI",
          'label': "PDI"
        },
        'MDI': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "MDI",
          'label': "MDI"
        }
      },
      'params': [
        {'value': 14, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['KDJ']: {
      'name': Indicator['KDJ'],
      'title': {
        'name': "KDJ(9,3,3)",
        'value': ["K", "D", "J"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'K': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "K",
          'label': "K"
        },
        'D': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "D",
          'label': "D"
        },
        'J': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "J",
          'label': "J"
        }
      },
      'params': [
        {'value': 9, 'min': 1, 'max': 300, 'name': "KP", 'label': "KP"},
        {'value': 3, 'min': 1, 'max': 300, 'name': "DP", 'label': "PDP1"},
        {'value': 3, 'min': 1, 'max': 300, 'name': "JP", 'label': "JP"}
      ]
    },
    Indicator['MACD']: {
      'name': Indicator['MACD'],
      'title': {
        'name': "MACD(12,26,9)",
        'value': ["MACD", "DIFF", "DEA"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'MACD': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "MACD",
          'label': "MACD"
        },
        'DIFF': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "DIFF",
          'label': "DIFF"
        },
        'DEA': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "DEA",
          'label': "DEA"
        }
      },
      'params': [
        {'value': 12, 'min': 1, 'max': 300, 'name': "ZP", 'label': "ZP"},
        {'value': 26, 'min': 1, 'max': 300, 'name': "DP", 'label': "DP"},
        {'value': 9, 'min': 1, 'max': 300, 'name': "XP", 'label': "XP"}
      ]
    },
    Indicator['MICD']: {
      'name': Indicator['MICD'],
      'title': {
        'name': "MICD(3,10,20)",
        'value': ["DIF", "MICD"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'DIF': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "DIF",
          'label': "DIF"
        },
        'MICD': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MICD",
          'label': "MICD"
        }
      },
      'params': [
        {'value': 3, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 10, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 20, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"}
      ]
    },
    Indicator['BIAS']: {
      'name': Indicator['BIAS'],
      'title': {
        'name': "BIAS(6,12,24)",
        'value': ["BIAS", "BIAS2", "BIAS3"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'BIAS': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "BIAS",
          'label': "BIAS"
        },
        'BIAS2': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "BIAS2",
          'label': "BIAS2"
        },
        'BIAS3': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "BIAS3",
          'label': "BIAS3"
        }
      },
      'params': [
        {'value': 6, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 12, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 24, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"}
      ]
    },
    Indicator['VOLUME']: {
      'name': Indicator['VOLUME'],
      'title': {
        'name': "",
        'value': ["VOL", "MAVOL1", "MAVOL2"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'VOL': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "VOL",
          'label': "VOL"
        },
        'MAVOL1': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MAVOL1",
          'label': "MAVOL1"
        },
        'MAVOL2': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "MAVOL2",
          'label': "MAVOL2"
        }
      },
      'params': [
        {'value': 5, 'min': 1, 'max': 300, 'name': "P", 'label': "P"},
        {'value': 10, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['WR']: {
      'name': Indicator['WR'],
      'title': {
        'name': "W&R(10,20,80)",
        'value': ["WR1", "WR2"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'WR1': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "WR1",
          'label': "WR1"
        },
        'WR2': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "WR2",
          'label': "WR2"
        },
        'A': {
          'color': colorHintUp,
          'strokeWidth': 1.0,
          'name': "A",
          'label': "A"
        },
        'B': {
          'color': colorHintDown,
          'strokeWidth': 1.0,
          'name': "B",
          'label': "B"
        }
      },
      'params': [
        {'value': 10, 'min': 1, 'max': 300, 'name': "P", 'label': "P"},
        {'value': 20, 'min': 1, 'max': 300, 'name': "A", 'label': "A"},
        {'value': 80, 'min': 1, 'max': 300, 'name': "B", 'label': "B"}
      ]
    },
    Indicator['BBI']: {
      'name': Indicator['BBI'],
      'title': {
        'name': "BBI(3,6,12,24)",
        'value': ["BBI", "A"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'BBI': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "BBI",
          'label': "BBI"
        },
        'A': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "A",
          'label': "A"
        }
      },
      'params': [
        {'value': 3, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 12, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"},
        {'value': 24, 'min': 1, 'max': 300, 'name': "P4", 'label': "P4"}
      ]
    },
    Indicator['ATR']: {
      'name': Indicator['ATR'],
      'title': {
        'name': "ATR(14)",
        'value': ["TR", "ATR"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'TR': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "TR",
          'label': "TR"
        },
        'ATR': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "ATR",
          'label': "ATR"
        }
      },
      'params': [
        {'value': 14, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['MI']: {
      'name': Indicator['MI'],
      'title': {
        'name': "MI(12)",
        'value': ["A", "MI"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'A': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "A",
          'label': "A"
        },
        'MI': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MI",
          'label': "MI"
        }
      },
      'params': [
        {'value': 12, 'min': 1, 'max': 300, 'name': "P", 'label': "P"}
      ]
    },
    Indicator['DBCD']: {
      'name': Indicator['DBCD'],
      'title': {
        'name': "DBCD(5,16,76)",
        'value': ["MM", "DBCD1"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'MM': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "MM",
          'label': "MM"
        },
        'DBCD1': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "DBCD1",
          'label': "DBCD1"
        }
      },
      'params': [
        {'value': 5, 'min': 1, 'max': 300, 'name': "XP", 'label': "XP"},
        {'value': 16, 'min': 1, 'max': 300, 'name': "ZP", 'label': "ZP"},
        {'value': 76, 'min': 1, 'max': 300, 'name': "DP", 'label': "DP"}
      ]
    },
    Indicator['DMA']: {
      'name': Indicator['DMA'],
      'title': {
        'name': "DMA(10,50,10)",
        'value': ["DDD", "AMA"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'DDD': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "DDD",
          'label': "DDD"
        },
        'AMA': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "AMA",
          'label': "AMA"
        }
      },
      'params': [
        {'value': 10, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 50, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 10, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"}
      ]
    },
    Indicator['RCCD']: {
      'name': Indicator['RCCD'],
      'title': {
        'name': "RCCD(59,21,18)",
        'value': ["DIF", "RCCD1"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'DIF': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "DIF",
          'label': "DIF"
        },
        'RCCD1': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "RCCD1",
          'label': "RCCD1"
        }
      },
      'params': [
        {'value': 59, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 21, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 18, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"}
      ]
    },
    Indicator['SRDM']: {
      'name': Indicator['SRDM'],
      'title': {
        'name': "SRDM(30)",
        'value': ["SRDM", "ASRDM"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'SRDM': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "SRDM",
          'label': "SRDM"
        },
        'ASRDM': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "ASRDM",
          'label': "ASRDM"
        }
      },
      'params': [
        {'value': 30, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['ROC']: {
      'name': Indicator['ROC'],
      'title': {
        'name': "ROC(12,6)",
        'value': ["ROC", "ROCMA"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'ROC': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "ROC",
          'label': "ROC"
        },
        'ROCMA': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "ROCMA",
          'label': "ROCMA"
        }
      },
      'params': [
        {'value': 12, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['ADTM']: {
      'name': Indicator['ADTM'],
      'title': {
        'name': "ADTM(23,8)",
        'value': ["ADTM", "MAADTM"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'ADTM': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "ADTM",
          'label': "ADTM"
        },
        'MAADTM': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MAADTM",
          'label': "MAADTM"
        }
      },
      'params': [
        {'value': 23, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 8, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['DPO']: {
      'name': Indicator['DPO'],
      'title': {
        'name': "DPO(20,10,6)",
        'value': ["DPO", "MADPO"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'DPO': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "DPO",
          'label': "DPO"
        },
        'MADPO': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MADPO",
          'label': "MADPO"
        }
      },
      'params': [
        {'value': 20, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 10, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 6, 'min': 1, 'max': 300, 'name': "P2", 'label': "P3"}
      ]
    },
    Indicator['TRIX']: {
      'name': Indicator['TRIX'],
      'title': {
        'name': "TRIX(12,20)",
        'value': ["TRIX", "TRMA"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'TRIX': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "TRIX",
          'label': "TRIX"
        },
        'TRMA': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "TRMA",
          'label': "TRMA"
        }
      },
      'params': [
        {'value': 12, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 20, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['MTM']: {
      'name': Indicator['MTM'],
      'title': {
        'name': "MTM(12,6)",
        'value': ["MTM", "MAMTM"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'MTM': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "MTM",
          'label': "MTM"
        },
        'MAMTM': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MAMTM",
          'label': "MAMTM"
        }
      },
      'params': [
        {'value': 12, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['ASI']: {
      'name': Indicator['ASI'],
      'title': {
        'name': "ASI(26,10)",
        'value': ["ASI", "ASIT"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'ASI': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "ASI",
          'label': "ASI"
        },
        'ASIT': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "ASIT",
          'label': "ASIT"
        }
      },
      'params': [
        {'value': 26, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 10, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['CCI']: {
      'name': Indicator['CCI'],
      'title': {
        'name': "CCI(14)",
        'value': ["CCI"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'CCI': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "CCI",
          'label': "CCI"
        },
        'A': {
          'color': colorHintUp,
          'strokeWidth': 1.0,
          'name': "A",
          'label': "A"
        },
        'B': {
          'color': colorHintDown,
          'strokeWidth': 1.0,
          'name': "B",
          'label': "B"
        }
      },
      'params': [
        {'value': 14, 'min': 1, 'max': 300, 'name': "P", 'label': "P"},
        {'value': 100, 'min': 1, 'max': 300, 'name': "A", 'label': "A"},
        {'value': -100, 'min': -300, 'max': 1, 'name': "B", 'label': "B"}
      ]
    },
    Indicator['PSY']: {
      'name': Indicator['PSY'],
      'title': {
        'name': "",
        'value': ["PSY"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'PSY': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "PSY",
          'label': "PSY"
        }
      },
      'params': [
        {'value': 12, 'min': 1, 'max': 300, 'name': "P", 'label': "P"}
      ]
    },
    Indicator['SAR']: {
      'name': Indicator['SAR'],
      'title': {
        'name': "",
        'value': ["SAR"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'SAR': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "SAR",
          'label': "SAR"
        },
        'UPSAR': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "UPSAR",
          'label': "UPSAR"
        },
        'DOWNSAR': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "DOWNSAR",
          'label': "DOWNSAR"
        }
      },
      'params': [
        {
          'value': 2,
          'min': 1,
          'max': 300,
          'name': "AFStep",
          'label': "AFStep"
        },
        {
          'value': 20,
          'min': 1,
          'max': 300,
          'name': "AFLimit",
          'label': "AFLimit"
        }
      ]
    },
    Indicator['KD']: {
      'name': Indicator['KD'],
      'title': {
        'name': "KD(9,3,3)",
        'value': ["K", "D"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'K': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "K",
          'label': "K"
        },
        'D': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "D",
          'label': "D"
        }
      },
      'params': [
        {'value': 9, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 3, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 3, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"}
      ]
    },
    Indicator['PBX']: {
      'name': Indicator['PBX'],
      'title': {
        'name': "PBX(4,6,9,13,18,24)",
        'value': ["PBX1", "PBX2", "PBX3", "PBX4", "PBX5", "PBX6"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'PBX1': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "PBX1",
          'label': "PBX1"
        },
        'PBX2': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "PBX2",
          'label': "PBX2"
        },
        'PBX3': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "PBX3",
          'label': "PBX3"
        },
        'PBX4': {
          'color': colorAry[4],
          'strokeWidth': 1.0,
          'name': "PBX4",
          'label': "PBX4"
        },
        'PBX5': {
          'color': colorAry[5],
          'strokeWidth': 1.0,
          'name': "PBX5",
          'label': "PBX5"
        },
        'PBX6': {
          'color': colorAry[6],
          'strokeWidth': 1.0,
          'name': "PBX6",
          'label': "PBX6"
        }
      },
      'params': [
        {'value': 4, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"},
        {'value': 9, 'min': 1, 'max': 300, 'name': "P3", 'label': "P3"},
        {'value': 13, 'min': 1, 'max': 300, 'name': "P4", 'label': "P4"},
        {'value': 18, 'min': 1, 'max': 300, 'name': "P5", 'label': "P5"},
        {'value': 24, 'min': 1, 'max': 300, 'name': "P6", 'label': "P6"}
      ]
    },
    Indicator['CDP']: {
      'name': Indicator['CDP'],
      'title': {
        'name': "CDP",
        'value': ["CDP", "AH", "NH", "NL", "AL"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'CDP': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "CDP",
          'label': "CDP"
        },
        'AH': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "AH",
          'label': "AH"
        },
        'NH': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "NH",
          'label': "NH"
        },
        'NL': {
          'color': colorAry[4],
          'strokeWidth': 1.0,
          'name': "NL",
          'label': "NL"
        },
        'AL': {
          'color': colorAry[5],
          'strokeWidth': 1.0,
          'name': "AL",
          'label': "AL"
        }
      },
      'params': []
    },
    Indicator['MIKE']: {
      'name': Indicator['MIKE'],
      'title': {
        'name': "MIKE(10)",
        'value': ["STOR", "MIDR", "WEKR", "WEKS", "MIDS", "STOS"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'STOR': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "STOR",
          'label': "STOR"
        },
        'MIDR': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MIDR",
          'label': "MIDR"
        },
        'WEKR': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "WEKR",
          'label': "WEKR"
        },
        'WEKS': {
          'color': colorAry[4],
          'strokeWidth': 1.0,
          'name': "WEKS",
          'label': "WEKS"
        },
        'MIDS': {
          'color': colorAry[5],
          'strokeWidth': 1.0,
          'name': "MIDS",
          'label': "MIDS"
        },
        'STOS': {
          'color': colorAry[6],
          'strokeWidth': 1.0,
          'name': "STOS",
          'label': "STOS"
        }
      },
      'params': [
        {'value': 10, 'min': 1, 'max': 120, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['DKX']: {
      'name': Indicator['DKX'],
      'title': {
        'name': "DKX(10)",
        'value': ["DKX", "MADKX"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'DKX': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "DKX",
          'label': "DKX"
        },
        'MADKX': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MADKX",
          'label': "MADKX"
        }
      },
      'params': [
        {'value': 10, 'min': 2, 'max': 250, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['BBIBOLL']: {
      'name': Indicator['BBIBOLL'],
      'title': {
        'name': "BBIBOLL(11,6)",
        'value': ["BBIBOLL", "UPR", "DWN"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'BBIBOLL': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "BBIBOLL",
          'label': "BBIBOLL"
        },
        'UPR': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "UPR",
          'label': "UPR"
        },
        'DWN': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "DWN",
          'label': "DWN"
        }
      },
      'params': [
        {'value': 11, 'min': 2, 'max': 100, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 100, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['HCL']: {
      'name': Indicator['HCL'],
      'title': {
        'name': "HCL(10)",
        'value': ["MAH", "MAL", "MAC"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'MAH': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "MAH",
          'label': "MAH"
        },
        'MAL': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MAL",
          'label': "MAL"
        },
        'MAC': {
          'color': colorAry[3],
          'strokeWidth': 1.0,
          'name': "MAC",
          'label': "MAC"
        }
      },
      'params': [
        {'value': 10, 'min': 1, 'max': 1000, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['SP']: {
      'name': Indicator['SP'],
      'title': {
        'name': "SP",
        'value': ["SP"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'SP': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "SP",
          'label': "SP"
        }
      },
      'params': []
    },
    Indicator['EMA']: {
      'name': Indicator['EMA'],
      'title': {
        'name': "EMA(10)",
        'value': ["EMA"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'EMA': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "EMA",
          'label': "EMA"
        }
      },
      'params': [
        {'value': 10, 'min': 1, 'max': 1000, 'name': "P1", 'label': "P1"}
      ]
    },
    Indicator['OBV']: {
      'name': Indicator['OBV'],
      'title': {
        'name': "",
        'value': ["OBV"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'OBV': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "OBV",
          'label': "OBV"
        }
      },
      'params': []
    },
    Indicator['EMV']: {
      'name': Indicator['EMV'],
      'title': {
        'name': "EMV(14,9)",
        'value': ["EMV", "MAEMV"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'EMV': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "EMV",
          'label': "EMV"
        },
        'MAEMV': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MAEMV",
          'label': "MAEMV"
        }
      },
      'params': [
        {'value': 14, 'min': 1, 'max': 300, 'name': "P1", 'label': "P1"},
        {'value': 9, 'min': 1, 'max': 300, 'name': "P2", 'label': "P2"}
      ]
    },
    Indicator['VR']: {
      'name': Indicator['VR'],
      'title': {
        'name': "VR(24,6)",
        'value': ["VR", "MAVR"]
      },
      'style': {
        'NAME': {
          'color': colorAry[0],
          'strokeWidth': 0.0,
          'name': "NAME",
          'label': "NAME"
        },
        'VR': {
          'color': colorAry[1],
          'strokeWidth': 1.0,
          'name': "VR",
          'label': "VR"
        },
        'MAVR': {
          'color': colorAry[2],
          'strokeWidth': 1.0,
          'name': "MAVR",
          'label': "MAVR"
        }
      },
      'params': [
        {'value': 4, 'min': 1, 'max': 1000, 'name': "P1", 'label': "P1"},
        {'value': 6, 'min': 1, 'max': 1000, 'name': "P2", 'label': "P2"}
      ]
    }
  };

  for (var key in indicatorConfig.keys) {
    if (defalutConfig.containsKey(key)) {
      defalutConfig[key] = <String, dynamic>{
        ...defalutConfig[key],
        ...indicatorConfig[key]
      };
    }
  }
  return defalutConfig;
}