diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml index 7659825..77aa9f4 100644 --- a/nbproject/private/private.xml +++ b/nbproject/private/private.xml @@ -4,61 +4,26 @@ file:/home/tube/NetBeansProjects/SeSim/src/chart/MasterChart.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Quote.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/tools/NummericCellRenderer.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/AutoTraderInterface.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Account.java - file:/home/tube/NetBeansProjects/SeSim/src/traders/ManTrader/ManTraderConsoleDialog.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/SeSimApplication.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/Globals.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/OHLCChartPainter.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/QuotePanel.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/MainChart.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/ChartDef.java + file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/ChartCrossPainter.java file:/home/tube/NetBeansProjects/SeSim/src/sesim/OHLCData.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/MinMax.java + file:/home/tube/NetBeansProjects/SeSim/src/resources/files/defaultcfg.json + file:/home/tube/NetBeansProjects/SeSim/src/sesim/AutoTraderInterface.java file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/XLegendPainter.java file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/LineChartPainter.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Exchange.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Stock.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Locker.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/ChartPanel.java - file:/home/tube/NetBeansProjects/SeSim/src/indicators/BaseIndicator.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/OHLCDataItem.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/AboutDialog.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/OpenOrdersList.java - file:/home/tube/NetBeansProjects/SeSim/src/indicators/RSIIndicator.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/YLegendPainter.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/AskBook.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/TestChartdialog.java - file:/home/tube/NetBeansProjects/SeSim/src/traders/RandomTraderA.java - file:/home/tube/NetBeansProjects/SeSim/test/sesim/Test.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/ChartCrossPainter.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/StatisticsPanel.java + file:/home/tube/NetBeansProjects/SeSim/nbproject/private/private.xml + file:/home/tube/NetBeansProjects/SeSim/src/sesim/AutoTraderGui.java file:/home/tube/NetBeansProjects/SeSim/src/sesim/AutoTraderLoader.java - file:/home/tube/NetBeansProjects/SeSim/src/traders/ManTrader/ManTrader.java + file:/home/tube/NetBeansProjects/SeSim/src/gui/Globals.java file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/ChartPainter.java file:/home/tube/NetBeansProjects/SeSim/src/indicators/SMAIndicator.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/OHLCDataProvider.java - file:/home/tube/NetBeansProjects/SeSim/src/traders/RandomTraderB.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Logger.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/EditPreferencesDialog.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Indicator.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/AutoTraderBase.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/Statistics.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/EditStrategies.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/Chart.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/IDGenerator.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/AutoTraderGui.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/jp99.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/orderbook/OrderBook.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/OrderBook.java - file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/CandleStickChartPainter.java - file:/home/tube/NetBeansProjects/SeSim/src/gui/BidBook.java - file:/home/tube/NetBeansProjects/SeSim/src/sesim/Scheduler.java + file:/home/tube/NetBeansProjects/SeSim/.git/config + file:/home/tube/NetBeansProjects/SeSim/src/chart/painter/OHLCChartPainter.java + file:/home/tube/NetBeansProjects/SeSim/src/indicators/RSIIndicator.java file:/home/tube/NetBeansProjects/SeSim/src/chart/SuperDlg.java + file:/home/tube/NetBeansProjects/SeSim/src/sesim/Indicator.java + file:/home/tube/NetBeansProjects/SeSim/src/sesim/SeSimClassLoader.java file:/home/tube/NetBeansProjects/SeSim/src/sesim/Order.java - file:/home/tube/NetBeansProjects/SeSim/README.md + file:/home/tube/NetBeansProjects/SeSim/src/chart/Chart.java diff --git a/nbproject/project.properties b/nbproject/project.properties index ee84478..e8faa3d 100644 --- a/nbproject/project.properties +++ b/nbproject/project.properties @@ -1,4 +1,4 @@ -#Sun, 19 Nov 2017 14:47:09 +0100 +#Sun, 19 Nov 2017 18:17:22 +0100 annotation.processing.enabled=true annotation.processing.enabled.in.editor=false annotation.processing.processors.list= diff --git a/src/chart/MasterChart.form b/src/chart/MasterChart.form index b80be11..d9f87d4 100644 --- a/src/chart/MasterChart.form +++ b/src/chart/MasterChart.form @@ -54,7 +54,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -120,4 +120,4 @@ - + \ No newline at end of file diff --git a/src/chart/MasterChart.java b/src/chart/MasterChart.java index c4ba23f..872925d 100644 --- a/src/chart/MasterChart.java +++ b/src/chart/MasterChart.java @@ -25,6 +25,7 @@ */ package chart; +import sesim.ChartDef; import chart.painter.CandleStickChartPainter; import chart.painter.ChartPainter; import chart.painter.XLegendPainter; @@ -148,9 +149,9 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver { // //GEN-BEGIN:initComponents private void initComponents() { - chart = new chart.ChartPanel(); - yLegend = new chart.ChartPanel(); - xLegend = new chart.ChartPanel(); + chart = new sesim.ChartPanel(); + yLegend = new sesim.ChartPanel(); + xLegend = new sesim.ChartPanel(); xScrollBar = new javax.swing.JScrollBar(); addMouseWheelListener(new java.awt.event.MouseWheelListener() { @@ -266,10 +267,10 @@ public class MasterChart extends javax.swing.JPanel implements QuoteReceiver { // Variables declaration - do not modify//GEN-BEGIN:variables - private chart.ChartPanel chart; - private chart.ChartPanel xLegend; + private sesim.ChartPanel chart; + private sesim.ChartPanel xLegend; private javax.swing.JScrollBar xScrollBar; - private chart.ChartPanel yLegend; + private sesim.ChartPanel yLegend; // End of variables declaration//GEN-END:variables @Override diff --git a/src/chart/painter/ChartCrossPainter.java b/src/chart/painter/ChartCrossPainter.java index b84d77e..4537a6d 100644 --- a/src/chart/painter/ChartCrossPainter.java +++ b/src/chart/painter/ChartCrossPainter.java @@ -25,8 +25,8 @@ */ package chart.painter; -import chart.ChartDef; -import chart.ChartPanel; +import sesim.ChartDef; +import sesim.ChartPanel; import java.awt.Graphics2D; import java.awt.Point; diff --git a/src/chart/painter/ChartPainter.java b/src/chart/painter/ChartPainter.java index e6e91f0..7836ede 100644 --- a/src/chart/painter/ChartPainter.java +++ b/src/chart/painter/ChartPainter.java @@ -25,10 +25,11 @@ */ package chart.painter; -import chart.ChartDef; -import chart.ChartPanel; +import sesim.ChartDef; +import sesim.ChartPanel; import java.awt.Dimension; import java.awt.Graphics2D; +import sesim.ChartPainterInterface; import sesim.MinMax; import sesim.OHLCData; @@ -36,7 +37,7 @@ import sesim.OHLCData; * * @author 7u83 <7u83@mail.ru> */ -abstract public class ChartPainter { +abstract public class ChartPainter implements ChartPainterInterface{ protected int em_size; diff --git a/src/chart/painter/OHLCChartPainter.java b/src/chart/painter/OHLCChartPainter.java index b54d353..09ea366 100644 --- a/src/chart/painter/OHLCChartPainter.java +++ b/src/chart/painter/OHLCChartPainter.java @@ -25,8 +25,8 @@ */ package chart.painter; -import chart.ChartDef; -import chart.ChartPanel; +import sesim.ChartDef; +import sesim.ChartPanel; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; diff --git a/src/chart/painter/XLegendPainter.java b/src/chart/painter/XLegendPainter.java index b6605e2..6ffc17f 100644 --- a/src/chart/painter/XLegendPainter.java +++ b/src/chart/painter/XLegendPainter.java @@ -25,8 +25,8 @@ */ package chart.painter; -import chart.ChartDef; -import chart.ChartPanel; +import sesim.ChartDef; +import sesim.ChartPanel; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; diff --git a/src/chart/painter/YLegendPainter.java b/src/chart/painter/YLegendPainter.java index 64c0d4d..3e3a303 100644 --- a/src/chart/painter/YLegendPainter.java +++ b/src/chart/painter/YLegendPainter.java @@ -26,8 +26,8 @@ package chart.painter; import chart.Chart; -import chart.ChartDef; -import chart.ChartPanel; +import sesim.ChartDef; +import sesim.ChartPanel; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Rectangle; diff --git a/src/gui/jp99.form b/src/gui/jp99.form index 39c058e..48abb80 100644 --- a/src/gui/jp99.form +++ b/src/gui/jp99.form @@ -38,7 +38,7 @@ - + diff --git a/src/gui/jp99.java b/src/gui/jp99.java index 0c80e04..b4065ef 100644 --- a/src/gui/jp99.java +++ b/src/gui/jp99.java @@ -28,7 +28,7 @@ public class jp99 extends javax.swing.JPanel { private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane(); - chart11 = new chart.ChartPanel(); + chart11 = new sesim.ChartPanel(); javax.swing.GroupLayout chart11Layout = new javax.swing.GroupLayout(chart11); chart11.setLayout(chart11Layout); @@ -63,7 +63,7 @@ public class jp99 extends javax.swing.JPanel { // Variables declaration - do not modify//GEN-BEGIN:variables - private chart.ChartPanel chart11; + private sesim.ChartPanel chart11; private javax.swing.JScrollPane jScrollPane1; // End of variables declaration//GEN-END:variables } diff --git a/src/indicators/SMAIndicator.java b/src/indicators/SMAIndicator.java index 376782f..6dba64c 100644 --- a/src/indicators/SMAIndicator.java +++ b/src/indicators/SMAIndicator.java @@ -42,10 +42,14 @@ public class SMAIndicator extends BaseIndicator { this.parent = parent; indicator = new OHLCData(); } + + public void setParent(OHLCData parent){ + + } int len = 20; - float getAt(int pos) { + private float getAt(int pos) { if (parent.size() == 0) { return 0; } @@ -56,9 +60,7 @@ public class SMAIndicator extends BaseIndicator { } float sum = 0; for (int i = start; i <= pos; i++) { - //sum += parent.get(i).getAverage(); sum += parent.get(i).close; - } return sum / (pos - start + 1); diff --git a/src/chart/ChartDef.java b/src/sesim/ChartDef.java similarity index 97% rename from src/chart/ChartDef.java rename to src/sesim/ChartDef.java index bc07a36..69c6aab 100644 --- a/src/chart/ChartDef.java +++ b/src/sesim/ChartDef.java @@ -23,7 +23,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ -package chart; +package sesim; import javax.swing.JScrollBar; @@ -39,7 +39,7 @@ public class ChartDef { */ public double x_unit_width=1.0; - ChartDef(){ + public ChartDef(){ } diff --git a/src/sesim/ChartPainterInterface.java b/src/sesim/ChartPainterInterface.java new file mode 100644 index 0000000..2d92393 --- /dev/null +++ b/src/sesim/ChartPainterInterface.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2017, 7u83 <7u83@mail.ru> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +package sesim; + +import java.awt.Graphics2D; + +/** + * + * @author 7u83 <7u83@mail.ru> + */ +public interface ChartPainterInterface { + abstract public void drawChart(Graphics2D g, ChartPanel p, ChartDef def); +} diff --git a/src/chart/ChartPanel.form b/src/sesim/ChartPanel.form similarity index 100% rename from src/chart/ChartPanel.form rename to src/sesim/ChartPanel.form diff --git a/src/chart/ChartPanel.java b/src/sesim/ChartPanel.java similarity index 99% rename from src/chart/ChartPanel.java rename to src/sesim/ChartPanel.java index 036c8f8..8568708 100644 --- a/src/chart/ChartPanel.java +++ b/src/sesim/ChartPanel.java @@ -1,4 +1,4 @@ -package chart; +package sesim; import chart.painter.ChartPainter; import gui.Globals; diff --git a/src/sesim/IndicatorLoader.java b/src/sesim/IndicatorLoader.java new file mode 100644 index 0000000..d8c590a --- /dev/null +++ b/src/sesim/IndicatorLoader.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2017, 7u83 <7u83@mail.ru> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ +package sesim; + +import java.util.ArrayList; + +/** + * + * @author 7u83 <7u83@mail.ru> + */ +public class IndicatorLoader extends SeSimClassLoader { + + ArrayList> cache; + + /** + * Get a list of all traders found in class path + * + * @return List of traders + */ + public ArrayList> getInstalledIndicators() { + + if (cache != null) { + return cache; + } + + Class tube = null; + + ArrayList> trl; + ArrayList> result = new ArrayList<>(); + trl = getInstalledClasses(new ArrayList(), tube); + for (Class c : trl) { + result.add((Class) c); + } + + cache = result; + return cache; + + } + +}