f_k_chart 1.8.9 copy "f_k_chart: ^1.8.9" to clipboard
f_k_chart: ^1.8.9 copied to clipboard

equity market chart.

example/lib/main.dart

import 'dart:convert';
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:f_k_chart/f_k_chart.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<KLineEntity> datas = [];
  bool showLoading = true;
  MainState _mainState = MainState.BOLL;
  bool _volHidden = false;
  SecondaryState _secondaryState = SecondaryState.MACD;
  bool isLine = true;
  bool isChinese = true;
  bool _hideGrid = false;
  bool _showNowPrice = true;
  bool isChangeUI = false;
  String uniqueMark;

  @override
  void initState() {
    super.initState();
    getData('1day');
  }

  @override
  Widget build(BuildContext context) {
    return ListView(
      shrinkWrap: true,
      children: <Widget>[
        Stack(children: <Widget>[
          Container(
            height: 450,
            width: double.infinity,
            child: KlineScrollWidget(
              datas,
              isLine: isLine,
              pointWidth: isLine ? 1.3 : ChartStyle.pointWidth,
              canScale: isLine ? false : true,
              maxRectWidth: isLine ? null : 15.0,
              minRectWidth: isLine ? null : 4.0,
              mainState: _mainState,
              secondaryState: _secondaryState,
              edge: EdgeInsets.only(right: 0.0),
              userFriendlyMinPointWidth: 2,
              uniqueMark: uniqueMark,
            ),
          ),
          if (showLoading)
            Container(
                width: double.infinity,
                height: 450,
                alignment: Alignment.center,
                child: const CircularProgressIndicator()),
        ]),
        buildButtons(),
      ],
    );
  }

  Widget buildButtons() {
    return Wrap(
      alignment: WrapAlignment.spaceEvenly,
      children: <Widget>[
        button("Time Mode", onPressed: () {
          isLine = true;
          uniqueMark = Random().nextDouble().toString();
        }),
        button("K Line Mode", onPressed: () {
          isLine = false;
          uniqueMark = Random().nextDouble().toString();
        }),
        button("Line:MA", onPressed: () => _mainState = MainState.MA),
        button("Line:BOLL", onPressed: () => _mainState = MainState.BOLL),
        button("Hide Line", onPressed: () => _mainState = MainState.NONE),
        button("Secondary Chart:MACD", onPressed: () => _secondaryState = SecondaryState.MACD),
        button("Secondary Chart:KDJ", onPressed: () => _secondaryState = SecondaryState.KDJ),
        button("Secondary Chart:RSI", onPressed: () => _secondaryState = SecondaryState.RSI),
        button("Secondary Chart:WR", onPressed: () => _secondaryState = SecondaryState.WR),
        button("Secondary Chart:Hide", onPressed: () => _secondaryState = SecondaryState.NONE),
        button(_volHidden ? "Show Vol" : "Hide Vol", onPressed: () => _volHidden = !_volHidden),
        button("Change Language", onPressed: () => isChinese = !isChinese),
        button(_hideGrid ? "Show Grid" : "Hide Grid", onPressed: () => _hideGrid = !_hideGrid),
        button(_showNowPrice ? "Hide Now Price" : "Show Now Price", onPressed: () => _showNowPrice = !_showNowPrice),
        button("Customize UI", onPressed: () {
          getData('1day');
        }),
        button("getData", onPressed: () {
          getData2('1day');
        }),
      ],
    );
  }

  Widget button(String text, {VoidCallback onPressed}) {
    return TextButton(
      onPressed: () {
        if (onPressed != null) {
          onPressed();
          setState(() {});
        }
      },
      child: Text(text),
      style: TextButton.styleFrom(
        primary: Colors.white,
        minimumSize: const Size(88, 44),
        padding: const EdgeInsets.symmetric(horizontal: 16.0),
        shape: const RoundedRectangleBorder(
          borderRadius: BorderRadius.all(Radius.circular(2.0)),
        ),
        backgroundColor: Colors.blue,
      ),
    );
  }

  void getData(String period) {
    uniqueMark = Random().nextDouble().toString();
    var parseJson = {"ch": "market.btcusdt.kline.1day", "status": "ok", "ts": 1633682856059, "data": []};
    final list = parseJson['data'] as List<dynamic>;
    datas = list
        .map((item) {
          KLineEntity k = KLineEntity.fromJson(item as Map<String, dynamic>);
          k.time = item['id'];
          return k;
        })
        .toList()
        .reversed
        .toList()
        .cast<KLineEntity>();
    DataUtil.calculate(datas);
    showLoading = false;
    Future.delayed(Duration(seconds: 3), () {
      setState(() {
        //print('${datas}');
      });
    });
    // final Future<String> future = getIPAddress(period);
    // future.then((String result) {
    //   final Map parseJson = json.decode(result) as Map<dynamic, dynamic>;
    //   final list = parseJson['data'] as List<dynamic>;
    //   datas = list
    //       .map((item) => KLineEntity.fromJson(item as Map<String, dynamic>))
    //       .toList()
    //       .reversed
    //       .toList()
    //       .cast<KLineEntity>();
    //   DataUtil.calculate(datas!);
    //   showLoading = false;
    //   setState(() {});
    // }).catchError((_) {
    //   showLoading = false;
    //   setState(() {});
    //   print('### datas error $_');
    // });
  }

  void getData2(String period) {
    uniqueMark = Random().nextDouble().toString();

    List data = getData3();
    var parseJson = {
      "ch": "market.btcusdt.kline.1day",
      "status": "ok",
      "ts": 1633682856059,
       "data":data
    };
    final list = parseJson['data'] as List<dynamic>;
    datas = list
        .map((item) {
          KLineEntity k = KLineEntity.fromJson(item as Map<String, dynamic>);
          // k.time = item['time'];
          k.vol = double.parse(item['time'].toString());
          return k;
        })
        .toList()
        .reversed
        .toList()
        .cast<KLineEntity>();
    DataUtil.calculate(datas);
    showLoading = false;
    Future.delayed(Duration(seconds: 3), () {
      setState(() {
        //print('${datas}');
      });
    });
    // final Future<String> future = getIPAddress(period);
    // future.then((String result) {
    //   final Map parseJson = json.decode(result) as Map<dynamic, dynamic>;
    //   final list = parseJson['data'] as List<dynamic>;
    //   datas = list
    //       .map((item) => KLineEntity.fromJson(item as Map<String, dynamic>))
    //       .toList()
    //       .reversed
    //       .toList()
    //       .cast<KLineEntity>();
    //   DataUtil.calculate(datas!);
    //   showLoading = false;
    //   setState(() {});
    // }).catchError((_) {
    //   showLoading = false;
    //   setState(() {});
    //   print('### datas error $_');
    // });
  }

  // List getData3() {
  //   return [];
  // }
  List getData3() {
    return [
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:01:00",
        "flag": -1,
        "last": 61480,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61585,
        "low": 61448,
        "contName": null,
        "time": 1635728460000,
        "sourceClose": 0,
        "close": 61661,
        "seq": 0,
        "open": 61551
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:02:00",
        "flag": -1,
        "last": 61477,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61480,
        "low": 61477,
        "contName": null,
        "time": 1635728520000,
        "sourceClose": 0,
        "close": 61480,
        "seq": 0,
        "open": 61480
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:03:00",
        "flag": -1,
        "last": 61393,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61477,
        "low": 61390,
        "contName": null,
        "time": 1635728580000,
        "sourceClose": 0,
        "close": 61477,
        "seq": 0,
        "open": 61477
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:04:00",
        "flag": -1,
        "last": 61367,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61393,
        "low": 61364,
        "contName": null,
        "time": 1635728640000,
        "sourceClose": 0,
        "close": 61393,
        "seq": 0,
        "open": 61393
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:05:00",
        "flag": -1,
        "last": 61331,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61367,
        "low": 61328,
        "contName": null,
        "time": 1635728700000,
        "sourceClose": 0,
        "close": 61367,
        "seq": 0,
        "open": 61367
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:06:00",
        "flag": -1,
        "last": 61344,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61344,
        "low": 61331,
        "contName": null,
        "time": 1635728760000,
        "sourceClose": 0,
        "close": 61331,
        "seq": 0,
        "open": 61331
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:07:00",
        "flag": -1,
        "last": 61377,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61377,
        "low": 61344,
        "contName": null,
        "time": 1635728820000,
        "sourceClose": 0,
        "close": 61344,
        "seq": 0,
        "open": 61344
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:08:00",
        "flag": -1,
        "last": 61386,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61386,
        "low": 61373,
        "contName": null,
        "time": 1635728880000,
        "sourceClose": 0,
        "close": 61377,
        "seq": 0,
        "open": 61377
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:09:00",
        "flag": -1,
        "last": 61441,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61441,
        "low": 61386,
        "contName": null,
        "time": 1635728940000,
        "sourceClose": 0,
        "close": 61386,
        "seq": 0,
        "open": 61386
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:10:00",
        "flag": -1,
        "last": 61441,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61441,
        "low": 61441,
        "contName": null,
        "time": 1635729000000,
        "sourceClose": 0,
        "close": 61441,
        "seq": 0,
        "open": 61441
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:11:00",
        "flag": -1,
        "last": 61435,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61464,
        "low": 61435,
        "contName": null,
        "time": 1635729060000,
        "sourceClose": 0,
        "close": 61441,
        "seq": 0,
        "open": 61441
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:12:00",
        "flag": -1,
        "last": 61435,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61435,
        "low": 61435,
        "contName": null,
        "time": 1635729120000,
        "sourceClose": 0,
        "close": 61435,
        "seq": 0,
        "open": 61435
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:13:00",
        "flag": -1,
        "last": 61435,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61435,
        "low": 61435,
        "contName": null,
        "time": 1635729180000,
        "sourceClose": 0,
        "close": 61435,
        "seq": 0,
        "open": 61435
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:14:00",
        "flag": -1,
        "last": 61402,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61435,
        "low": 61380,
        "contName": null,
        "time": 1635729240000,
        "sourceClose": 0,
        "close": 61435,
        "seq": 0,
        "open": 61435
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:15:00",
        "flag": -1,
        "last": 61480,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61480,
        "low": 61402,
        "contName": null,
        "time": 1635729300000,
        "sourceClose": 0,
        "close": 61402,
        "seq": 0,
        "open": 61402
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:16:00",
        "flag": -1,
        "last": 61480,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61480,
        "low": 61480,
        "contName": null,
        "time": 1635729360000,
        "sourceClose": 0,
        "close": 61480,
        "seq": 0,
        "open": 61480
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:17:00",
        "flag": -1,
        "last": 61377,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61480,
        "low": 61367,
        "contName": null,
        "time": 1635729420000,
        "sourceClose": 0,
        "close": 61480,
        "seq": 0,
        "open": 61480
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:18:00",
        "flag": -1,
        "last": 61377,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61377,
        "low": 61377,
        "contName": null,
        "time": 1635729480000,
        "sourceClose": 0,
        "close": 61377,
        "seq": 0,
        "open": 61377
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:19:00",
        "flag": -1,
        "last": 61377,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61377,
        "low": 61377,
        "contName": null,
        "time": 1635729540000,
        "sourceClose": 0,
        "close": 61377,
        "seq": 0,
        "open": 61377
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:20:00",
        "flag": -1,
        "last": 61377,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61377,
        "low": 61377,
        "contName": null,
        "time": 1635729600000,
        "sourceClose": 0,
        "close": 61377,
        "seq": 0,
        "open": 61377
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:21:00",
        "flag": -1,
        "last": 61351,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61377,
        "low": 61351,
        "contName": null,
        "time": 1635729660000,
        "sourceClose": 0,
        "close": 61377,
        "seq": 0,
        "open": 61377
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:22:00",
        "flag": -1,
        "last": 61351,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61351,
        "low": 61351,
        "contName": null,
        "time": 1635729720000,
        "sourceClose": 0,
        "close": 61351,
        "seq": 0,
        "open": 61351
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:23:00",
        "flag": -1,
        "last": 61351,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61351,
        "low": 61351,
        "contName": null,
        "time": 1635729780000,
        "sourceClose": 0,
        "close": 61351,
        "seq": 0,
        "open": 61351
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:24:00",
        "flag": -1,
        "last": 61441,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61441,
        "low": 61351,
        "contName": null,
        "time": 1635729840000,
        "sourceClose": 0,
        "close": 61351,
        "seq": 0,
        "open": 61351
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:25:00",
        "flag": -1,
        "last": 61464,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61464,
        "low": 61441,
        "contName": null,
        "time": 1635729900000,
        "sourceClose": 0,
        "close": 61441,
        "seq": 0,
        "open": 61441
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:26:00",
        "flag": -1,
        "last": 61506,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61506,
        "low": 61464,
        "contName": null,
        "time": 1635729960000,
        "sourceClose": 0,
        "close": 61464,
        "seq": 0,
        "open": 61464
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:27:00",
        "flag": -1,
        "last": 61506,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61506,
        "low": 61506,
        "contName": null,
        "time": 1635730020000,
        "sourceClose": 0,
        "close": 61506,
        "seq": 0,
        "open": 61506
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:28:00",
        "flag": -1,
        "last": 61506,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61506,
        "low": 61506,
        "contName": null,
        "time": 1635730080000,
        "sourceClose": 0,
        "close": 61506,
        "seq": 0,
        "open": 61506
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:29:00",
        "flag": -1,
        "last": 61467,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61506,
        "low": 61467,
        "contName": null,
        "time": 1635730140000,
        "sourceClose": 0,
        "close": 61506,
        "seq": 0,
        "open": 61506
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:30:00",
        "flag": -1,
        "last": 61435,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61474,
        "low": 61435,
        "contName": null,
        "time": 1635730200000,
        "sourceClose": 0,
        "close": 61467,
        "seq": 0,
        "open": 61467
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:31:00",
        "flag": -1,
        "last": 61435,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61435,
        "low": 61435,
        "contName": null,
        "time": 1635730260000,
        "sourceClose": 0,
        "close": 61435,
        "seq": 0,
        "open": 61435
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:32:00",
        "flag": -1,
        "last": 61344,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61435,
        "low": 61344,
        "contName": null,
        "time": 1635730320000,
        "sourceClose": 0,
        "close": 61435,
        "seq": 0,
        "open": 61435
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:33:00",
        "flag": -1,
        "last": 61357,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61357,
        "low": 61344,
        "contName": null,
        "time": 1635730380000,
        "sourceClose": 0,
        "close": 61344,
        "seq": 0,
        "open": 61344
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:34:00",
        "flag": -1,
        "last": 61406,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61406,
        "low": 61357,
        "contName": null,
        "time": 1635730440000,
        "sourceClose": 0,
        "close": 61357,
        "seq": 0,
        "open": 61357
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:35:00",
        "flag": -1,
        "last": 61399,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61406,
        "low": 61399,
        "contName": null,
        "time": 1635730500000,
        "sourceClose": 0,
        "close": 61406,
        "seq": 0,
        "open": 61406
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:36:00",
        "flag": -1,
        "last": 61496,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61496,
        "low": 61399,
        "contName": null,
        "time": 1635730560000,
        "sourceClose": 0,
        "close": 61399,
        "seq": 0,
        "open": 61399
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:37:00",
        "flag": -1,
        "last": 61448,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61496,
        "low": 61441,
        "contName": null,
        "time": 1635730620000,
        "sourceClose": 0,
        "close": 61496,
        "seq": 0,
        "open": 61496
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:38:00",
        "flag": -1,
        "last": 61451,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61461,
        "low": 61438,
        "contName": null,
        "time": 1635730680000,
        "sourceClose": 0,
        "close": 61448,
        "seq": 0,
        "open": 61448
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:39:00",
        "flag": -1,
        "last": 61461,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61461,
        "low": 61448,
        "contName": null,
        "time": 1635730740000,
        "sourceClose": 0,
        "close": 61451,
        "seq": 0,
        "open": 61451
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:40:00",
        "flag": -1,
        "last": 61461,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61461,
        "low": 61448,
        "contName": null,
        "time": 1635730800000,
        "sourceClose": 0,
        "close": 61461,
        "seq": 0,
        "open": 61461
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:41:00",
        "flag": -1,
        "last": 61461,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61461,
        "low": 61461,
        "contName": null,
        "time": 1635730860000,
        "sourceClose": 0,
        "close": 61461,
        "seq": 0,
        "open": 61461
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:42:00",
        "flag": -1,
        "last": 61499,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61512,
        "low": 61499,
        "contName": null,
        "time": 1635730920000,
        "sourceClose": 0,
        "close": 61461,
        "seq": 0,
        "open": 61512
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:43:00",
        "flag": -1,
        "last": 61493,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61499,
        "low": 61493,
        "contName": null,
        "time": 1635730980000,
        "sourceClose": 0,
        "close": 61499,
        "seq": 0,
        "open": 61499
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:44:00",
        "flag": -1,
        "last": 61493,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61493,
        "low": 61493,
        "contName": null,
        "time": 1635731040000,
        "sourceClose": 0,
        "close": 61493,
        "seq": 0,
        "open": 61493
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:45:00",
        "flag": -1,
        "last": 61496,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61496,
        "low": 61493,
        "contName": null,
        "time": 1635731100000,
        "sourceClose": 0,
        "close": 61493,
        "seq": 0,
        "open": 61493
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:46:00",
        "flag": -1,
        "last": 61522,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61522,
        "low": 61496,
        "contName": null,
        "time": 1635731160000,
        "sourceClose": 0,
        "close": 61496,
        "seq": 0,
        "open": 61496
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:47:00",
        "flag": -1,
        "last": 61587,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61590,
        "low": 61522,
        "contName": null,
        "time": 1635731220000,
        "sourceClose": 0,
        "close": 61522,
        "seq": 0,
        "open": 61522
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:48:00",
        "flag": -1,
        "last": 61577,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61587,
        "low": 61535,
        "contName": null,
        "time": 1635731280000,
        "sourceClose": 0,
        "close": 61587,
        "seq": 0,
        "open": 61587
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:49:00",
        "flag": -1,
        "last": 61509,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61577,
        "low": 61509,
        "contName": null,
        "time": 1635731340000,
        "sourceClose": 0,
        "close": 61577,
        "seq": 0,
        "open": 61577
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:50:00",
        "flag": -1,
        "last": 61509,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61509,
        "low": 61509,
        "contName": null,
        "time": 1635731400000,
        "sourceClose": 0,
        "close": 61509,
        "seq": 0,
        "open": 61509
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:51:00",
        "flag": -1,
        "last": 61528,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61528,
        "low": 61509,
        "contName": null,
        "time": 1635731460000,
        "sourceClose": 0,
        "close": 61509,
        "seq": 0,
        "open": 61509
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:52:00",
        "flag": -1,
        "last": 61528,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61528,
        "low": 61528,
        "contName": null,
        "time": 1635731520000,
        "sourceClose": 0,
        "close": 61528,
        "seq": 0,
        "open": 61528
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:53:00",
        "flag": -1,
        "last": 61528,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61528,
        "low": 61528,
        "contName": null,
        "time": 1635731580000,
        "sourceClose": 0,
        "close": 61528,
        "seq": 0,
        "open": 61528
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:54:00",
        "flag": -1,
        "last": 61606,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61606,
        "low": 61528,
        "contName": null,
        "time": 1635731640000,
        "sourceClose": 0,
        "close": 61528,
        "seq": 0,
        "open": 61528
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:55:00",
        "flag": -1,
        "last": 61693,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61696,
        "low": 61606,
        "contName": null,
        "time": 1635731700000,
        "sourceClose": 0,
        "close": 61606,
        "seq": 0,
        "open": 61606
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:56:00",
        "flag": -1,
        "last": 61693,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61693,
        "low": 61693,
        "contName": null,
        "time": 1635731760000,
        "sourceClose": 0,
        "close": 61693,
        "seq": 0,
        "open": 61693
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:57:00",
        "flag": -1,
        "last": 61700,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61700,
        "low": 61687,
        "contName": null,
        "time": 1635731820000,
        "sourceClose": 0,
        "close": 61693,
        "seq": 0,
        "open": 61693
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:58:00",
        "flag": -1,
        "last": 61738,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61738,
        "low": 61700,
        "contName": null,
        "time": 1635731880000,
        "sourceClose": 0,
        "close": 61700,
        "seq": 0,
        "open": 61700
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 09:59:00",
        "flag": -1,
        "last": 61764,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61764,
        "low": 61738,
        "contName": null,
        "time": 1635731940000,
        "sourceClose": 0,
        "close": 61738,
        "seq": 0,
        "open": 61738
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:00:00",
        "flag": -1,
        "last": 61761,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61764,
        "low": 61761,
        "contName": null,
        "time": 1635732000000,
        "sourceClose": 0,
        "close": 61764,
        "seq": 0,
        "open": 61764
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:01:00",
        "flag": -1,
        "last": 61696,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61761,
        "low": 61696,
        "contName": null,
        "time": 1635732060000,
        "sourceClose": 0,
        "close": 61761,
        "seq": 0,
        "open": 61761
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:02:00",
        "flag": -1,
        "last": 61696,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61696,
        "low": 61696,
        "contName": null,
        "time": 1635732120000,
        "sourceClose": 0,
        "close": 61696,
        "seq": 0,
        "open": 61696
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:03:00",
        "flag": -1,
        "last": 61696,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61696,
        "low": 61696,
        "contName": null,
        "time": 1635732180000,
        "sourceClose": 0,
        "close": 61696,
        "seq": 0,
        "open": 61696
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:04:00",
        "flag": -1,
        "last": 61816,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61816,
        "low": 61696,
        "contName": null,
        "time": 1635732240000,
        "sourceClose": 0,
        "close": 61696,
        "seq": 0,
        "open": 61696
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:05:00",
        "flag": -1,
        "last": 61816,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61816,
        "low": 61816,
        "contName": null,
        "time": 1635732300000,
        "sourceClose": 0,
        "close": 61816,
        "seq": 0,
        "open": 61816
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:06:00",
        "flag": -1,
        "last": 61793,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61816,
        "low": 61793,
        "contName": null,
        "time": 1635732360000,
        "sourceClose": 0,
        "close": 61816,
        "seq": 0,
        "open": 61816
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:07:00",
        "flag": -1,
        "last": 61745,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61793,
        "low": 61745,
        "contName": null,
        "time": 1635732420000,
        "sourceClose": 0,
        "close": 61793,
        "seq": 0,
        "open": 61793
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:08:00",
        "flag": -1,
        "last": 61732,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61745,
        "low": 61693,
        "contName": null,
        "time": 1635732480000,
        "sourceClose": 0,
        "close": 61745,
        "seq": 0,
        "open": 61745
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:09:00",
        "flag": -1,
        "last": 61732,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61732,
        "low": 61732,
        "contName": null,
        "time": 1635732540000,
        "sourceClose": 0,
        "close": 61732,
        "seq": 0,
        "open": 61732
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:10:00",
        "flag": -1,
        "last": 61732,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61732,
        "low": 61732,
        "contName": null,
        "time": 1635732600000,
        "sourceClose": 0,
        "close": 61732,
        "seq": 0,
        "open": 61732
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:11:00",
        "flag": -1,
        "last": 61732,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61732,
        "low": 61732,
        "contName": null,
        "time": 1635732660000,
        "sourceClose": 0,
        "close": 61732,
        "seq": 0,
        "open": 61732
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:12:00",
        "flag": -1,
        "last": 61732,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61732,
        "low": 61732,
        "contName": null,
        "time": 1635732720000,
        "sourceClose": 0,
        "close": 61732,
        "seq": 0,
        "open": 61732
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:13:00",
        "flag": -1,
        "last": 61768,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61768,
        "low": 61726,
        "contName": null,
        "time": 1635732780000,
        "sourceClose": 0,
        "close": 61732,
        "seq": 0,
        "open": 61732
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:14:00",
        "flag": -1,
        "last": 61797,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61797,
        "low": 61768,
        "contName": null,
        "time": 1635732840000,
        "sourceClose": 0,
        "close": 61768,
        "seq": 0,
        "open": 61768
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:15:00",
        "flag": -1,
        "last": 61774,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61797,
        "low": 61774,
        "contName": null,
        "time": 1635732900000,
        "sourceClose": 0,
        "close": 61797,
        "seq": 0,
        "open": 61797
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:16:00",
        "flag": -1,
        "last": 61816,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61816,
        "low": 61768,
        "contName": null,
        "time": 1635732960000,
        "sourceClose": 0,
        "close": 61774,
        "seq": 0,
        "open": 61774
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:17:00",
        "flag": -1,
        "last": 61751,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61816,
        "low": 61751,
        "contName": null,
        "time": 1635733020000,
        "sourceClose": 0,
        "close": 61816,
        "seq": 0,
        "open": 61816
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:18:00",
        "flag": -1,
        "last": 61748,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61751,
        "low": 61748,
        "contName": null,
        "time": 1635733080000,
        "sourceClose": 0,
        "close": 61751,
        "seq": 0,
        "open": 61751
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:19:00",
        "flag": -1,
        "last": 61751,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61751,
        "low": 61738,
        "contName": null,
        "time": 1635733140000,
        "sourceClose": 0,
        "close": 61748,
        "seq": 0,
        "open": 61748
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:20:00",
        "flag": -1,
        "last": 61742,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61755,
        "low": 61742,
        "contName": null,
        "time": 1635733200000,
        "sourceClose": 0,
        "close": 61751,
        "seq": 0,
        "open": 61751
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:21:00",
        "flag": -1,
        "last": 61748,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61748,
        "low": 61742,
        "contName": null,
        "time": 1635733260000,
        "sourceClose": 0,
        "close": 61742,
        "seq": 0,
        "open": 61742
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:22:00",
        "flag": -1,
        "last": 61751,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61751,
        "low": 61745,
        "contName": null,
        "time": 1635733320000,
        "sourceClose": 0,
        "close": 61748,
        "seq": 0,
        "open": 61748
      },
      {
        "sourceSeq": 0,
        "periodWithDate": "2021-11-01 10:23:00",
        "flag": -1,
        "last": 61735,
        "contract": null,
        "sourceTime": null,
        "volume": 0,
        "sourceDate": null,
        "high": 61745,
        "low": 61735,
        "contName": null,
        "time": 1635733380000,
        "sourceClose": 0,
        "close": 61751,
        "seq": 0,
        "open": 61745
      },
    ];
  }
// //获取火币数据,需要翻墙
// Future<String> getIPAddress(String? period) async {
//   var url =
//       'https://api.huobi.br.com/market/history/kline?period=${period ?? '1day'}&size=300&symbol=btcusdt';
//   late String result;
//   final response = await http.get(Uri.parse(url));
//   if (response.statusCode == 200) {
//     result = response.body;
//   } else {
//     print('Failed getting IP address');
//   }
//   return result;
// }
}
0
likes
30
pub points
0%
popularity

Publisher

unverified uploader

equity market chart.

Homepage

License

MIT (LICENSE)

Dependencies

cupertino_icons, flutter, intl, rxdart

More

Packages that depend on f_k_chart