JSFiddle - React, Tailwind, and code Playground
HTML
<html><body></body></html>
JavaScript
var body = document.body;
function w(data){
body.innerHTML += data;
}
function c(){
body.innerHTML = '';
}
var cnt1 = 1000;
var cnt2 = 0;
var com = 5;
var percent = 1;
var ticks = 100;
function strategy1(rt, cnt1, cnt2, com, percent, ticks){ //частота реинвеста постоянная 1 раз в rt дней
for(var i = 0; i < ticks; i++){
cnt2 += cnt1 * percent / 100;
if(i % rt){
cnt1 += cnt2 - com;
cnt2 = 0;
}
}
return cnt1 + cnt2
}
function strategy2(N, cnt1, cnt2, com, percent, ticks){ //набежавший процент не меньше N*комиссию
for(var i = 0; i < ticks; i++){
cnt2 += cnt1 * percent / 100;
if(cnt2 >= N * com){
cnt1 += cnt2 - com;
cnt2 = 0;
}
}
return cnt1 + cnt2
}
c();
w('=== Strategy1 ===<br>');
for(var i = 2; i < ticks; i++) w('I= ' + i + '; Total= ' + strategy1(i, cnt1, cnt2, com, percent, ticks) + '<br>');
w('=== Strategy2 ===<br>');
for(var N = 1; N <= 10; N+=0.1) w('N= ' + N.toFixed(1) + '; Total= ' + strategy1(N.toFixed(1), cnt1, cnt2, com, percent, ticks) + '<br>');