diff --git a/src/Gui/Chart.java b/src/Gui/Chart.java
index 26808fe..697640e 100644
--- a/src/Gui/Chart.java
+++ b/src/Gui/Chart.java
@@ -48,11 +48,102 @@ import SeSim.Exchange;
*/
public class Chart extends javax.swing.JPanel implements Exchange.QuoteReceiver {
+ SeSim.Exchange se;
+
+ private DefaultHighLowDataset createDataset() {
+
+ System.out.print("Making Data");
+ int s = se.quoteHistory.size();
+ System.out.print(("SIZE"));
+ System.out.println(s);
+
+ int serice = 115;
+
+ Date[] date = new Date[serice];
+ double[] high = new double[serice];
+ double[] low = new double[serice];
+ double[] open = new double[serice];
+ double[] close = new double[serice];
+ double[] volume = new double[serice];
+
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(2008, 5, 1);
+
+ for (int i = 0; i < serice; i++) {
+ date[i] = createData(2008, 8, i + 1);
+ high[i] = 30 + Math.round(10) + new Double(Math.random() * 20.0);
+ low[i] = 30 + Math.round(10) + new Double(Math.random() * 20.0);
+ open[i] = 10 + Math.round(10) + new Double(Math.random() * 20.0);
+ close[i] = 10 + Math.round(10) + new Double(Math.random() * 20.0);
+ volume[i] = 10.0 + new Double(Math.random() * 20.0);
+ }
+
+ DefaultHighLowDataset data = new DefaultHighLowDataset("", date, high,
+ low, open, close, volume);
+ return data;
+ }
+
+ private Date createData(int year, int month, int date) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(year, month - 1, date);
+ return calendar.getTime();
+ }
+
+ private JFreeChart createChart(final DefaultHighLowDataset dataset) {
+// final JFreeChart chart = ChartFactory.createCandlestickChart(
+ //"Candlestick Demo", "Time", "Price", dataset, false);
+
+// final JFreeChart chart = ChartFactory.createCandlestickChart(
+// "Candlestick Demo", "Time", "Price", dataset, false);
+ final JFreeChart chart = ChartFactory.createXYLineChart(
+ "Hallo", "X acse", "yachse", dataset,
+ PlotOrientation.VERTICAL,
+ true, // include legend
+ true, // tooltips
+ false // urls;
+ );
+
+ //"Candlestick Demo", "Time", "Price", dataset, false);
+ return chart;
+ }
+
/**
* Creates new form Chart
*/
public Chart() {
initComponents();
+
+ this.se = MainWin.se;
+ if (this.se == null) {
+ return;
+ }
+
+ final DefaultHighLowDataset dataset = createDataset();
+ final JFreeChart chart = createChart(dataset);
+
+ final ChartPanel chartPanel = new ChartPanel(chart);
+ chartPanel.setPreferredSize(new java.awt.Dimension(800, 350));
+ // setContentPane(chartPanel);
+ initChart(chartPanel);
+
+ }
+
+ private void initChart(ChartPanel chart) {
+
+ // orderBook1 = new Gui.OrderBook();
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+ this.setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(chart, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(chart, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(16, Short.MAX_VALUE))
+ );
}
/**
@@ -77,7 +168,6 @@ public class Chart extends javax.swing.JPanel implements Exchange.QuoteReceiver
}// //GEN-END:initComponents
@Override
-
public void UpdateQuote(Exchange.Quote q) {
System.out.print("Quote received");
System.out.println(q.price);
diff --git a/src/Gui/MainWin.form b/src/Gui/MainWin.form
index 4e33a84..0e5db1b 100644
--- a/src/Gui/MainWin.form
+++ b/src/Gui/MainWin.form
@@ -75,7 +75,7 @@
-
+
@@ -114,25 +114,12 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/Gui/MainWin.java b/src/Gui/MainWin.java
index a7e6cf6..5d2c7e2 100644
--- a/src/Gui/MainWin.java
+++ b/src/Gui/MainWin.java
@@ -41,7 +41,7 @@ public class MainWin extends javax.swing.JFrame {
jLabel2 = new javax.swing.JLabel();
orderBook1 = new Gui.OrderBook();
controlPanel2 = new Gui.ControlPanel();
- chart1 = new Gui.Chart();
+ chart2 = new Gui.Chart();
MainMenu = new javax.swing.JMenuBar();
FileMenu = new javax.swing.JMenu();
FileNew = new javax.swing.JMenuItem();
@@ -67,19 +67,7 @@ public class MainWin extends javax.swing.JFrame {
getContentPane().add(jLabel2, java.awt.BorderLayout.CENTER);
getContentPane().add(orderBook1, java.awt.BorderLayout.PAGE_END);
getContentPane().add(controlPanel2, java.awt.BorderLayout.LINE_END);
-
- javax.swing.GroupLayout chart1Layout = new javax.swing.GroupLayout(chart1);
- chart1.setLayout(chart1Layout);
- chart1Layout.setHorizontalGroup(
- chart1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 273, Short.MAX_VALUE)
- );
- chart1Layout.setVerticalGroup(
- chart1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 151, Short.MAX_VALUE)
- );
-
- getContentPane().add(chart1, java.awt.BorderLayout.CENTER);
+ getContentPane().add(chart2, java.awt.BorderLayout.CENTER);
FileMenu.setBackground(new java.awt.Color(254, 203, 1));
FileMenu.setText("File");
@@ -202,7 +190,7 @@ public class MainWin extends javax.swing.JFrame {
private javax.swing.JMenuItem FileNew;
private javax.swing.JMenuItem FileRun;
private javax.swing.JMenuBar MainMenu;
- private Gui.Chart chart1;
+ private Gui.Chart chart2;
private Gui.ControlPanel controlPanel2;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
diff --git a/src/SeSim/Exchange.java b/src/SeSim/Exchange.java
index 93f1917..f18db8f 100644
--- a/src/SeSim/Exchange.java
+++ b/src/SeSim/Exchange.java
@@ -6,6 +6,18 @@ import java.util.concurrent.*;
import SeSim.Order.OrderStatus;
public class Exchange extends Thread {
+
+ /**
+ * Histrory of all quotes
+ */
+ public ArrayList quoteHistory;
+
+ /**
+ * Constructor
+ */
+ public Exchange() {
+ this.quoteHistory = new ArrayList<>();
+ }
// Class to describe an executed order
public class Quote {
@@ -42,7 +54,7 @@ public class Exchange extends Thread {
}
}
- public ArrayList quoteHistory = new ArrayList<>();
+
// long time = 0;
double price = 12.9;