Skip to content

Commit

Permalink
max_size in backtest
Browse files Browse the repository at this point in the history
  • Loading branch information
ondra committed Sep 29, 2019
1 parent 587f95a commit 2dc22f9
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/shared
Submodule shared updated 1 files
+3 −2 stdLogFile.h
5 changes: 4 additions & 1 deletion www/admin/code.js
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ App.prototype.fillForm = function (src, trg) {
data.dynmult_mode = filledval(src.dynmult_mode, "half_alternate");
data.order_mult = filledval(defval(src.buy_mult,1)*100,100);
data.min_size = filledval(src.min_size,0);
data.max_size = filledval(src.max_size,0);
data.internal_balance = filledval(src.internal_balance,0);
data.dust_orders = filledval(src.dust_orders,true);
data.detect_manual_trades = filledval(src.detect_manual_trades,false);
Expand Down Expand Up @@ -482,6 +483,7 @@ App.prototype.saveForm = function(form, src) {
trader.buy_mult = data.order_mult/100;
trader.sell_mult = data.order_mult/100;
trader.min_size = data.min_size;
trader.max_size = data.max_size;
trader.internal_balance = data.internal_balance;
trader.dust_orders = data.dust_orders;
trader.detect_manual_trades = data.detect_manual_trades;
Expand Down Expand Up @@ -957,7 +959,7 @@ App.prototype.init_backtest = function(form, id, pair) {

var elems = ["external_assets","power",
"sliding_pos_hours", "sliding_pos_fade",
"order_mult","min_size","dust_orders","expected_trend","goal"];
"order_mult","min_size","max_size","dust_orders","expected_trend","goal"];

var chart1 = bt.findElements('chart1')[0];
var chart2 = bt.findElements('chart2')[0];
Expand Down Expand Up @@ -1025,6 +1027,7 @@ App.prototype.init_backtest = function(form, id, pair) {
invert:false,
expected_trend:et,
start_pos:parseFloat(xdata.start_pos),
max_order_size:parseFloat(data.max_size),
});

if (pair.invert_price) {
Expand Down
3 changes: 3 additions & 0 deletions www/admin/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,9 @@
Specifies minimal order size. If disabled, minimal size is defined by the exchange. This also
specifies size of the "dust order"
</span></span><input type="number" data-name="min_size" step="any"></label>
<label class="adv"><span>Order maximal size (0&nbsp;=&nbsp;disabled)<span class="tooltip">
Specifies maximal order size.
</span></span><input type="number" data-name="max_size" step="any"></label>
<label class="adv"><span>Order size modifier [%]<span class="tooltip">It is recomended to set values below
100. This makes orders smaller but also causes that order will be split into smaller orders. For
example if you specify value 50, the order 24 may be split to orders 12, 6, 3, 2, 1 = 24. This can
Expand Down
8 changes: 6 additions & 2 deletions www/res/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ var mos = params.min_order_size || 0;
var inv = params.invert || false;
var et = params.expected_trend || 0;
var pos = (inv?-1:1)*params.start_pos || 0;
var mxs = params.max_order_size;


if (data.length == 0) return {
Expand Down Expand Up @@ -100,12 +101,15 @@ data.forEach(function(x) {
if (pos * dpos < 0) {
mult = 1;
}
curet = curet + (et - curet)*0.05;
dpos = dpos * mult * mlt;
if (mxs && dpos * dr < -mxs) {
dpos = -mxs * dr
}
if (dpos * dr >= -mos) {
if (mos <= 0) return;
dpos = -mos * dr
}
curet = curet + (et - curet)*0.05;
dpos = dpos * mult * mlt;
pos = pos + dpos;
pp = p;
eq = neq;
Expand Down

0 comments on commit 2dc22f9

Please sign in to comment.