file reset to defaults, save, load etc works/improved.
This commit is contained in:
parent
d461decaa8
commit
6ae62ba294
@ -1,4 +1,4 @@
|
|||||||
#Sat, 08 Apr 2017 22:54:05 +0200
|
#Sun, 09 Apr 2017 00:33:50 +0200
|
||||||
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=
|
||||||
|
@ -219,6 +219,7 @@ public class Globals {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void saveFile(File f) throws FileNotFoundException {
|
public static void saveFile(File f) throws FileNotFoundException {
|
||||||
|
|
||||||
JSONObject sobj = new JSONObject();
|
JSONObject sobj = new JSONObject();
|
||||||
@ -237,12 +238,7 @@ public class Globals {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void loadFile(File f) throws IOException {
|
public static void loadString(String s) throws IOException{
|
||||||
|
|
||||||
f.getAbsoluteFile();
|
|
||||||
|
|
||||||
String s;
|
|
||||||
s = new String(Files.readAllBytes(f.toPath()));
|
|
||||||
JSONObject sobj = new JSONObject(s);
|
JSONObject sobj = new JSONObject(s);
|
||||||
|
|
||||||
Double version = sobj.getDouble(PrefKeys.SESIMVERSION);
|
Double version = sobj.getDouble(PrefKeys.SESIMVERSION);
|
||||||
@ -257,5 +253,15 @@ public class Globals {
|
|||||||
putTraders(traders);
|
putTraders(traders);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void loadFile(File f) throws IOException {
|
||||||
|
|
||||||
|
f.getAbsoluteFile();
|
||||||
|
String s;
|
||||||
|
s = new String(Files.readAllBytes(f.toPath()));
|
||||||
|
|
||||||
|
loadString(s);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ public class MainChart extends chart.Chart {
|
|||||||
1 * 24 * 3600 * 1000, 2 * 24 * 3600 * 1000
|
1 * 24 * 3600 * 1000, 2 * 24 * 3600 * 1000
|
||||||
};
|
};
|
||||||
|
|
||||||
private final Integer default_cmopression = 60 * 1000;
|
private final Integer default_cmopression = 60 * 60 * 1000;
|
||||||
|
|
||||||
private void initCtxMenu() {
|
private void initCtxMenu() {
|
||||||
ButtonGroup group = new ButtonGroup();
|
ButtonGroup group = new ButtonGroup();
|
||||||
|
@ -53,17 +53,6 @@
|
|||||||
<Property name="text" type="java.lang.String" value="File"/>
|
<Property name="text" type="java.lang.String" value="File"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<SubComponents>
|
<SubComponents>
|
||||||
<MenuItem class="javax.swing.JMenuItem" name="resetMenuItem">
|
|
||||||
<Properties>
|
|
||||||
<Property name="mnemonic" type="int" value="114"/>
|
|
||||||
<Property name="text" type="java.lang.String" value="Reset"/>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="resetMenuItemActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</MenuItem>
|
|
||||||
<MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator5">
|
|
||||||
</MenuItem>
|
|
||||||
<MenuItem class="javax.swing.JMenuItem" name="openMenuItem">
|
<MenuItem class="javax.swing.JMenuItem" name="openMenuItem">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="mnemonic" type="int" value="111"/>
|
<Property name="mnemonic" type="int" value="111"/>
|
||||||
@ -101,6 +90,27 @@
|
|||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="closeMenuItemActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="closeMenuItemActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
|
<MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator5">
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem class="javax.swing.JMenuItem" name="resetToDefaultsMenuItem">
|
||||||
|
<Properties>
|
||||||
|
<Property name="mnemonic" type="int" value="114"/>
|
||||||
|
<Property name="text" type="java.lang.String" value="Reset to defaults"/>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" value=""/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="resetToDefaultsMenuItemActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem class="javax.swing.JMenuItem" name="clearMenuItem">
|
||||||
|
<Properties>
|
||||||
|
<Property name="mnemonic" type="int" value="99"/>
|
||||||
|
<Property name="text" type="java.lang.String" value="Clear All"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="clearMenuItemActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</MenuItem>
|
||||||
<MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator4">
|
<MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator4">
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
|
<MenuItem class="javax.swing.JMenuItem" name="exitMenuItem">
|
||||||
@ -195,21 +205,6 @@
|
|||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="simMenuStopActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="simMenuStopActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem class="javax.swing.JPopupMenu$Separator" name="jSeparator3">
|
|
||||||
</MenuItem>
|
|
||||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem4">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" value="Point Zero"/>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jMenuItem4ActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</MenuItem>
|
|
||||||
<MenuItem class="javax.swing.JMenuItem" name="jMenuItem5">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" value="jMenuItem5"/>
|
|
||||||
</Properties>
|
|
||||||
</MenuItem>
|
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu class="javax.swing.JMenu" name="viewMenu">
|
<Menu class="javax.swing.JMenu" name="viewMenu">
|
||||||
|
@ -34,8 +34,10 @@ import java.awt.event.WindowEvent;
|
|||||||
import java.awt.event.WindowListener;
|
import java.awt.event.WindowListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.lang.reflect.Modifier;
|
import java.lang.reflect.Modifier;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Scanner;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
import java.util.logging.Handler;
|
import java.util.logging.Handler;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
@ -56,7 +58,6 @@ import sesim.AutoTraderConfig;
|
|||||||
import sesim.AutoTraderInterface;
|
import sesim.AutoTraderInterface;
|
||||||
import sesim.Exchange;
|
import sesim.Exchange;
|
||||||
import sesim.Scheduler;
|
import sesim.Scheduler;
|
||||||
import traders.RandomTraderConfig;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -70,6 +71,11 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
public SeSimApplication() {
|
public SeSimApplication() {
|
||||||
initComponents();
|
initComponents();
|
||||||
setTitle("");
|
setTitle("");
|
||||||
|
boolean init = Globals.prefs.getBoolean("initilized", false);
|
||||||
|
if (!init){
|
||||||
|
resetToDefaults();
|
||||||
|
Globals.prefs.putBoolean("initilized", true);
|
||||||
|
}
|
||||||
this.chartSrollPane.setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_NEVER);
|
this.chartSrollPane.setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_NEVER);
|
||||||
this.setLocationRelativeTo(null);
|
this.setLocationRelativeTo(null);
|
||||||
}
|
}
|
||||||
@ -174,12 +180,13 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
statistics1 = new gui.Statistics();
|
statistics1 = new gui.Statistics();
|
||||||
menuBar = new javax.swing.JMenuBar();
|
menuBar = new javax.swing.JMenuBar();
|
||||||
fileMenu = new javax.swing.JMenu();
|
fileMenu = new javax.swing.JMenu();
|
||||||
resetMenuItem = new javax.swing.JMenuItem();
|
|
||||||
jSeparator5 = new javax.swing.JPopupMenu.Separator();
|
|
||||||
openMenuItem = new javax.swing.JMenuItem();
|
openMenuItem = new javax.swing.JMenuItem();
|
||||||
saveMenuItem = new javax.swing.JMenuItem();
|
saveMenuItem = new javax.swing.JMenuItem();
|
||||||
saveAsMenuItem = new javax.swing.JMenuItem();
|
saveAsMenuItem = new javax.swing.JMenuItem();
|
||||||
closeMenuItem = new javax.swing.JMenuItem();
|
closeMenuItem = new javax.swing.JMenuItem();
|
||||||
|
jSeparator5 = new javax.swing.JPopupMenu.Separator();
|
||||||
|
resetToDefaultsMenuItem = new javax.swing.JMenuItem();
|
||||||
|
clearMenuItem = new javax.swing.JMenuItem();
|
||||||
jSeparator4 = new javax.swing.JPopupMenu.Separator();
|
jSeparator4 = new javax.swing.JPopupMenu.Separator();
|
||||||
exitMenuItem = new javax.swing.JMenuItem();
|
exitMenuItem = new javax.swing.JMenuItem();
|
||||||
editMenu = new javax.swing.JMenu();
|
editMenu = new javax.swing.JMenu();
|
||||||
@ -193,9 +200,6 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
simMenuStart = new javax.swing.JMenuItem();
|
simMenuStart = new javax.swing.JMenuItem();
|
||||||
simMenuPause = new javax.swing.JMenuItem();
|
simMenuPause = new javax.swing.JMenuItem();
|
||||||
simMenuStop = new javax.swing.JMenuItem();
|
simMenuStop = new javax.swing.JMenuItem();
|
||||||
jSeparator3 = new javax.swing.JPopupMenu.Separator();
|
|
||||||
jMenuItem4 = new javax.swing.JMenuItem();
|
|
||||||
jMenuItem5 = new javax.swing.JMenuItem();
|
|
||||||
viewMenu = new javax.swing.JMenu();
|
viewMenu = new javax.swing.JMenu();
|
||||||
viewTraderListCheckBox = new javax.swing.JCheckBoxMenuItem();
|
viewTraderListCheckBox = new javax.swing.JCheckBoxMenuItem();
|
||||||
jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem();
|
jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem();
|
||||||
@ -334,16 +338,6 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
fileMenu.setMnemonic('f');
|
fileMenu.setMnemonic('f');
|
||||||
fileMenu.setText("File");
|
fileMenu.setText("File");
|
||||||
|
|
||||||
resetMenuItem.setMnemonic('r');
|
|
||||||
resetMenuItem.setText("Reset");
|
|
||||||
resetMenuItem.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
resetMenuItemActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
fileMenu.add(resetMenuItem);
|
|
||||||
fileMenu.add(jSeparator5);
|
|
||||||
|
|
||||||
openMenuItem.setMnemonic('o');
|
openMenuItem.setMnemonic('o');
|
||||||
openMenuItem.setText("Open");
|
openMenuItem.setText("Open");
|
||||||
openMenuItem.addActionListener(new java.awt.event.ActionListener() {
|
openMenuItem.addActionListener(new java.awt.event.ActionListener() {
|
||||||
@ -380,6 +374,26 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
fileMenu.add(closeMenuItem);
|
fileMenu.add(closeMenuItem);
|
||||||
|
fileMenu.add(jSeparator5);
|
||||||
|
|
||||||
|
resetToDefaultsMenuItem.setMnemonic('r');
|
||||||
|
resetToDefaultsMenuItem.setText("Reset to defaults");
|
||||||
|
resetToDefaultsMenuItem.setToolTipText("");
|
||||||
|
resetToDefaultsMenuItem.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
resetToDefaultsMenuItemActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fileMenu.add(resetToDefaultsMenuItem);
|
||||||
|
|
||||||
|
clearMenuItem.setMnemonic('c');
|
||||||
|
clearMenuItem.setText("Clear All");
|
||||||
|
clearMenuItem.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
clearMenuItemActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
fileMenu.add(clearMenuItem);
|
||||||
fileMenu.add(jSeparator4);
|
fileMenu.add(jSeparator4);
|
||||||
|
|
||||||
exitMenuItem.setMnemonic('x');
|
exitMenuItem.setMnemonic('x');
|
||||||
@ -465,18 +479,6 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
simMenu.add(simMenuStop);
|
simMenu.add(simMenuStop);
|
||||||
simMenu.add(jSeparator3);
|
|
||||||
|
|
||||||
jMenuItem4.setText("Point Zero");
|
|
||||||
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
jMenuItem4ActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
simMenu.add(jMenuItem4);
|
|
||||||
|
|
||||||
jMenuItem5.setText("jMenuItem5");
|
|
||||||
simMenu.add(jMenuItem5);
|
|
||||||
|
|
||||||
menuBar.add(simMenu);
|
menuBar.add(simMenu);
|
||||||
|
|
||||||
@ -737,9 +739,29 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
|
|
||||||
}//GEN-LAST:event_editExchangeMenuItemActionPerformed
|
}//GEN-LAST:event_editExchangeMenuItemActionPerformed
|
||||||
|
|
||||||
private void resetMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetMenuItemActionPerformed
|
private void resetToDefaults(){
|
||||||
// TODO add your handling code here:
|
InputStream is = getClass().getResourceAsStream("/resources/files/defaultcfg.json");
|
||||||
}//GEN-LAST:event_resetMenuItemActionPerformed
|
String df = new Scanner(is, "UTF-8").useDelimiter("\\A").next();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Globals.loadString(df);
|
||||||
|
} catch (IOException ex) {
|
||||||
|
JOptionPane.showMessageDialog(this, "Can't load file: " + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetToDefaultsMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetToDefaultsMenuItemActionPerformed
|
||||||
|
|
||||||
|
int dialogResult = JOptionPane.showConfirmDialog(this, "Are you sure?", "Warning", JOptionPane.YES_NO_OPTION);
|
||||||
|
if (dialogResult != JOptionPane.YES_OPTION) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.resetToDefaults();
|
||||||
|
|
||||||
|
}//GEN-LAST:event_resetToDefaultsMenuItemActionPerformed
|
||||||
|
|
||||||
private void simMenuStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_simMenuStartActionPerformed
|
private void simMenuStartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_simMenuStartActionPerformed
|
||||||
startSim();
|
startSim();
|
||||||
@ -775,10 +797,6 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
jd.setVisible(rootPaneCheckingEnabled);
|
jd.setVisible(rootPaneCheckingEnabled);
|
||||||
}//GEN-LAST:event_jCheckBoxMenuItem1ActionPerformed
|
}//GEN-LAST:event_jCheckBoxMenuItem1ActionPerformed
|
||||||
|
|
||||||
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem4ActionPerformed
|
|
||||||
Globals.se.pointZero();
|
|
||||||
}//GEN-LAST:event_jMenuItem4ActionPerformed
|
|
||||||
|
|
||||||
TraderListDialog tld = null;
|
TraderListDialog tld = null;
|
||||||
private void viewTraderListCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewTraderListCheckBoxActionPerformed
|
private void viewTraderListCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewTraderListCheckBoxActionPerformed
|
||||||
|
|
||||||
@ -822,6 +840,10 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
setTitle("");
|
setTitle("");
|
||||||
}//GEN-LAST:event_closeMenuItemActionPerformed
|
}//GEN-LAST:event_closeMenuItemActionPerformed
|
||||||
|
|
||||||
|
private void clearMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearMenuItemActionPerformed
|
||||||
|
// TODO add your handling code here:
|
||||||
|
}//GEN-LAST:event_clearMenuItemActionPerformed
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param args the command line arguments
|
* @param args the command line arguments
|
||||||
* @throws java.lang.IllegalAccessException
|
* @throws java.lang.IllegalAccessException
|
||||||
@ -872,6 +894,7 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
private javax.swing.JSpinner accelSpinner;
|
private javax.swing.JSpinner accelSpinner;
|
||||||
private gui.MainChart chart;
|
private gui.MainChart chart;
|
||||||
private javax.swing.JScrollPane chartSrollPane;
|
private javax.swing.JScrollPane chartSrollPane;
|
||||||
|
private javax.swing.JMenuItem clearMenuItem;
|
||||||
private gui.Clock clock;
|
private gui.Clock clock;
|
||||||
private javax.swing.JMenuItem closeMenuItem;
|
private javax.swing.JMenuItem closeMenuItem;
|
||||||
private javax.swing.JMenuItem deleteMenuItem;
|
private javax.swing.JMenuItem deleteMenuItem;
|
||||||
@ -884,13 +907,10 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
private javax.swing.JButton jButton2;
|
private javax.swing.JButton jButton2;
|
||||||
private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
|
private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
|
||||||
private javax.swing.JLabel jLabel1;
|
private javax.swing.JLabel jLabel1;
|
||||||
private javax.swing.JMenuItem jMenuItem4;
|
|
||||||
private javax.swing.JMenuItem jMenuItem5;
|
|
||||||
private javax.swing.JPanel jPanel2;
|
private javax.swing.JPanel jPanel2;
|
||||||
private javax.swing.JScrollPane jScrollPane2;
|
private javax.swing.JScrollPane jScrollPane2;
|
||||||
private javax.swing.JPopupMenu.Separator jSeparator1;
|
private javax.swing.JPopupMenu.Separator jSeparator1;
|
||||||
private javax.swing.JPopupMenu.Separator jSeparator2;
|
private javax.swing.JPopupMenu.Separator jSeparator2;
|
||||||
private javax.swing.JPopupMenu.Separator jSeparator3;
|
|
||||||
private javax.swing.JPopupMenu.Separator jSeparator4;
|
private javax.swing.JPopupMenu.Separator jSeparator4;
|
||||||
private javax.swing.JPopupMenu.Separator jSeparator5;
|
private javax.swing.JPopupMenu.Separator jSeparator5;
|
||||||
private javax.swing.JSplitPane jSplitPane1;
|
private javax.swing.JSplitPane jSplitPane1;
|
||||||
@ -905,7 +925,7 @@ public class SeSimApplication extends javax.swing.JFrame {
|
|||||||
private gui.orderbook.OrderBooksHorizontal orderBooksHorizontal1;
|
private gui.orderbook.OrderBooksHorizontal orderBooksHorizontal1;
|
||||||
private javax.swing.JMenuItem pasteMenuItem;
|
private javax.swing.JMenuItem pasteMenuItem;
|
||||||
private gui.orderbook.QuoteVertical quoteVertical1;
|
private gui.orderbook.QuoteVertical quoteVertical1;
|
||||||
private javax.swing.JMenuItem resetMenuItem;
|
private javax.swing.JMenuItem resetToDefaultsMenuItem;
|
||||||
private javax.swing.JButton runButton;
|
private javax.swing.JButton runButton;
|
||||||
private javax.swing.JMenuItem saveAsMenuItem;
|
private javax.swing.JMenuItem saveAsMenuItem;
|
||||||
private javax.swing.JMenuItem saveMenuItem;
|
private javax.swing.JMenuItem saveMenuItem;
|
||||||
|
@ -1,101 +1,60 @@
|
|||||||
{
|
{
|
||||||
"traders": [
|
"traders": [
|
||||||
{
|
{
|
||||||
"Money": "100.0",
|
"Money": "1000000.0",
|
||||||
"Strategy": "Tube",
|
"Strategy": "SimpleRandom",
|
||||||
"Enabled": "true",
|
"Enabled": "true",
|
||||||
"Count": "10000",
|
"Count": "1",
|
||||||
"Shares": "100.0",
|
"Shares": "10000.0",
|
||||||
"Name": "Mond"
|
"Name": "Alice"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Money": "1000.0",
|
"Money": "10000.0",
|
||||||
"Strategy": "NasenTrading",
|
"Strategy": "SimpleRandom",
|
||||||
"Enabled": "true",
|
"Enabled": "true",
|
||||||
"Count": "100",
|
"Count": "1",
|
||||||
"Shares": "10.0",
|
"Shares": "100.0",
|
||||||
"Name": "Nase"
|
"Name": "Bob"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"strategies": {
|
"strategies": {"SimpleRandom": {
|
||||||
"Tube": {
|
"sell_wait": [
|
||||||
"sell_wait": [
|
10000,
|
||||||
10000,
|
50000
|
||||||
50000
|
],
|
||||||
],
|
"initla_delay": [
|
||||||
"initla_delay": [
|
0,
|
||||||
0,
|
5
|
||||||
5
|
],
|
||||||
],
|
"sell_limit": [
|
||||||
"sell_limit": [
|
-2,
|
||||||
-2,
|
2
|
||||||
2
|
],
|
||||||
],
|
"sell_wait_after": [
|
||||||
"sell_wait_after": [
|
0,
|
||||||
1000,
|
0
|
||||||
30000
|
],
|
||||||
],
|
"buy_wait": [
|
||||||
"buy_wait": [
|
10000,
|
||||||
10000,
|
50000
|
||||||
50000
|
],
|
||||||
],
|
"sell_volume": [
|
||||||
"sell_volume": [
|
100,
|
||||||
100,
|
100
|
||||||
100
|
],
|
||||||
],
|
"buy_wait_after": [
|
||||||
"buy_wait_after": [
|
0,
|
||||||
10,
|
0
|
||||||
30
|
],
|
||||||
],
|
"buy_volume": [
|
||||||
"buy_volume": [
|
100,
|
||||||
100,
|
100
|
||||||
100
|
],
|
||||||
],
|
"buy_limit": [
|
||||||
"buy_limit": [
|
-2,
|
||||||
-2,
|
2
|
||||||
2
|
],
|
||||||
],
|
"base": "traders.RandomTraderA"
|
||||||
"base": "traders.RandomTraderA"
|
}},
|
||||||
},
|
|
||||||
"NasenTrading": {
|
|
||||||
"sell_wait": [
|
|
||||||
10000,
|
|
||||||
50000
|
|
||||||
],
|
|
||||||
"initla_delay": [
|
|
||||||
0,
|
|
||||||
111
|
|
||||||
],
|
|
||||||
"sell_limit": [
|
|
||||||
-2,
|
|
||||||
9
|
|
||||||
],
|
|
||||||
"sell_wait_after": [
|
|
||||||
1000,
|
|
||||||
30000
|
|
||||||
],
|
|
||||||
"buy_wait": [
|
|
||||||
10000,
|
|
||||||
50000
|
|
||||||
],
|
|
||||||
"sell_volume": [
|
|
||||||
100,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"buy_wait_after": [
|
|
||||||
10,
|
|
||||||
30
|
|
||||||
],
|
|
||||||
"buy_volume": [
|
|
||||||
100,
|
|
||||||
100
|
|
||||||
],
|
|
||||||
"buy_limit": [
|
|
||||||
-2,
|
|
||||||
9
|
|
||||||
],
|
|
||||||
"base": "traders.RandomTraderA"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"version": 0.1
|
"version": 0.1
|
||||||
}
|
}
|
@ -50,12 +50,12 @@ public class RandomTraderA extends AutoTraderBase implements AccountListener {
|
|||||||
public Float[] sell_volume = {100f, 100f};
|
public Float[] sell_volume = {100f, 100f};
|
||||||
public Float[] sell_limit = {-2f, 2f};
|
public Float[] sell_limit = {-2f, 2f};
|
||||||
public Long[] sell_wait = {10000L, 50000L};
|
public Long[] sell_wait = {10000L, 50000L};
|
||||||
public Long[] wait_after_sell = {1000L, 30000L};
|
public Long[] wait_after_sell = {0L, 0L};
|
||||||
|
|
||||||
public Float[] buy_volume = {100f, 100f};
|
public Float[] buy_volume = {100f, 100f};
|
||||||
public Float[] buy_limit = {-2f, 2f};
|
public Float[] buy_limit = {-2f, 2f};
|
||||||
public Long[] buy_wait = {10000L, 50000L};
|
public Long[] buy_wait = {10000L, 50000L};
|
||||||
public Long[] wait_after_buy = {10L, 30L};
|
public Long[] wait_after_buy = {0L, 0L};
|
||||||
|
|
||||||
final String INITIAL_DELAY = "initla_delay";
|
final String INITIAL_DELAY = "initla_delay";
|
||||||
final String SELL_VOLUME = "sell_volume";
|
final String SELL_VOLUME = "sell_volume";
|
||||||
|
Loading…
Reference in New Issue
Block a user