AirControl  1.3.0
Open Source, Modular, and Extensible Flight Simulator For Deep Learning Research
Example90_Candlestick.cs
1 /************************************************/
2 /* */
3 /* Copyright (c) 2018 - 2021 monitor1394 */
4 /* https://github.com/monitor1394 */
5 /* */
6 /************************************************/
7 
8 
9 using UnityEngine;
10 
11 namespace XCharts.Examples
12 {
13  [DisallowMultipleComponent]
14  [ExecuteInEditMode]
15  public class Example90_Candlestick : MonoBehaviour
16  {
17  private CandlestickChart chart;
18  private float updateTime;
19  public int dataCount = 100;
20 
21  void Awake()
22  {
23  chart = gameObject.GetComponent<CandlestickChart>();
24  if (chart == null)
25  {
26  chart = gameObject.AddComponent<CandlestickChart>();
27  }
28  GenerateOHLC(dataCount);
29  }
30 
31  void Update()
32  {
33  if (Input.GetKeyDown(KeyCode.Space))
34  {
35  AddData();
36  }
37  }
38 
39  void AddData()
40  {
41  }
42 
43  void GenerateOHLC(int count)
44  {
45  chart.ClearData();
46 
47  var xValue = System.DateTime.Now;
48  var baseValue = Random.Range(0f, 1f) * 12000;
49  var boxVals = new float[4];
50  var dayRange = 12;
51 
52  for (int i = 0; i < count; i++)
53  {
54  baseValue = baseValue + Random.Range(0f,1f) * 30 - 10;
55  for(int j=0;j< 4;j++){
56  boxVals[j] = (Random.Range(0f,1f) - 0.5f) * dayRange + baseValue;
57  }
58  System.Array.Sort(boxVals);
59  var openIdx = Mathf.RoundToInt(Random.Range(0f,1f) * 3);
60  var closeIdx = Mathf.RoundToInt(Random.Range(0f,1f) * 2);
61  if(openIdx == closeIdx){
62  closeIdx ++;
63  }
64  //var volumn = boxVals[3]*(1000+Random.Range(0f,1f) * 500);
65  var open = boxVals[openIdx];
66  var close = boxVals[closeIdx];
67  var lowest = boxVals[0];
68  var heighest = boxVals[3];
69 
70  chart.AddXAxisData(i.ToString());
71  chart.AddData(0,open,close,lowest,heighest);
72  }
73  }
74  }
75 }
XCharts.CoordinateChart.AddXAxisData
void AddXAxisData(string category, int xAxisIndex=0)
Add a category data to xAxis. 添加一个类目数据到指定的x轴。
Definition: CoordinateChart_API.cs:101
XCharts.CoordinateChart.ClearData
override void ClearData()
Remove all data from series,legend and axis. It just emptying all of serie's data without emptying th...
Definition: CoordinateChart_API.cs:60
XCharts.CandlestickChart
Definition: CandlestickChart.cs:17
XCharts.Examples
Definition: RewardChart.cs:14
XCharts.Examples.Example90_Candlestick
Definition: Example90_Candlestick.cs:15