Moved ohls_data from Exchange to Stock class

This commit is contained in:
7u83 2017-12-10 18:46:37 +01:00
parent 6b2d382f8b
commit 11fec6e022
5 changed files with 14 additions and 11 deletions

View File

@ -1,4 +1,4 @@
#Sun, 10 Dec 2017 18:25:56 +0100 #Sun, 10 Dec 2017 18:46:05 +0100
annotation.processing.enabled=true annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false annotation.processing.enabled.in.editor=false
annotation.processing.processors.list= annotation.processing.processors.list=

View File

@ -150,7 +150,7 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver {
this.yLegend.setChartDef(chartDef); this.yLegend.setChartDef(chartDef);
ChartPainter p; ChartPainter p;
mydata = Globals.se.getOHLCdata(60000 * 20); mydata = Globals.se.getOHLCdata(Globals.se.getDefaultStock(),60000 * 20);
this.xScrollBar.setMaximum(0); this.xScrollBar.setMaximum(0);

View File

@ -122,7 +122,7 @@ setCursor(new MyCursor(Cursor.CROSSHAIR_CURSOR));
protected final void setCompression0(int timeFrame) { protected final void setCompression0(int timeFrame) {
javax.swing.SwingUtilities.invokeLater(() -> { javax.swing.SwingUtilities.invokeLater(() -> {
data = Globals.se.getOHLCdata(timeFrame); data = Globals.se.getOHLCdata(Globals.se.getDefaultStock(),timeFrame);
invalidate(); invalidate();
repaint(); repaint();
}); });

View File

@ -144,7 +144,7 @@ public class Exchange {
public void orderUpdated(Order o); public void orderUpdated(Order o);
} }
HashMap<Integer, OHLCData> ohlc_data = new HashMap<>(); //HashMap<Integer, OHLCData> ohlc_data = new HashMap<>();
public OHLCData buildOHLCData(int timeFrame) { public OHLCData buildOHLCData(int timeFrame) {
Stock stock = getDefaultStock(); Stock stock = getDefaultStock();
@ -193,21 +193,21 @@ public class Exchange {
} }
public OHLCData getOHLCdata(Integer timeFrame) { public OHLCData getOHLCdata(Stock stock,Integer timeFrame) {
OHLCData data; OHLCData data;
data = ohlc_data.get(timeFrame); data = stock.ohlc_data.get(timeFrame);
if (data == null) { if (data == null) {
synchronized (executor) { synchronized (executor) {
data = this.buildOHLCData(timeFrame); data = this.buildOHLCData(timeFrame);
ohlc_data.put(timeFrame, data); stock.ohlc_data.put(timeFrame, data);
} }
} }
return data; return data;
} }
void updateOHLCData(Quote q) { void updateOHLCData(Stock stock,Quote q) {
Iterator<OHLCData> it = ohlc_data.values().iterator(); Iterator<OHLCData> it = stock.ohlc_data.values().iterator();
while (it.hasNext()) { while (it.hasNext()) {
OHLCData data = it.next(); OHLCData data = it.next();
data.realTimeAdd(q.time, (float) q.price, (float) q.volume); data.realTimeAdd(q.time, (float) q.price, (float) q.volume);
@ -319,7 +319,7 @@ public class Exchange {
statistics = new Statistics(); statistics = new Statistics();
//num_trades = 0; //num_trades = 0;
this.ohlc_data = new HashMap(); // getDefaultStock().ohlc_data = new HashMap();
// Create order books // Create order books
@ -917,7 +917,7 @@ public class Exchange {
Stock stock = getDefaultStock(); Stock stock = getDefaultStock();
stock.quoteHistory.add(q); stock.quoteHistory.add(q);
updateOHLCData(q); updateOHLCData(stock,q);
updateQuoteReceivers(q); updateQuoteReceivers(q);
} }

View File

@ -57,6 +57,7 @@ public class Stock {
} }
quoteHistory = new TreeSet(); quoteHistory = new TreeSet();
ohlc_data = new HashMap();
} }
String getSymbol() { String getSymbol() {
@ -75,4 +76,6 @@ public class Stock {
*/ */
public TreeSet<Quote> quoteHistory; // = new TreeSet<>(); public TreeSet<Quote> quoteHistory; // = new TreeSet<>();
HashMap<Integer, OHLCData> ohlc_data = new HashMap<>();
} }