02-04-2018, 03:09 PM
1. Already implemented and tested. Did not improve performance but in all tests made the performance worse so it was removed.
Also implemented a 'take profit' but this was also removed since it also didn't do anything except worsen the performance.
What ended up happening was basically this:
a. Buy
b. It was a bad buy (stoploss was met) so SELL
...
c. But RSI is even lower now so BUY again = better performance
--OR--
d. Do nothing and miss the opportunity = worse performance
Often it was the D-condition that happend which is suboptimal since it just ends up resulting in a lot of missed opportunities.
It might differ if one tests with 1-minute candles though, but testing is glacially slow so don't have time to test everything.
I created a generic function for stoploss though:
It just returns TRUE or FALSE if condition is met.
One would have to set a param to save 'old' (what price one bought at) as well etc.
Do also note that the strategy already has a stoploss of sorts due to the switching of trends. If BULL buys @ RSI 50 and BEAR sells at RSI 50 the BEAR-trend will basically act as a stoploss (which is part of the idea). So that thing already works as intended.
2. I do not know, this just go long and short. This is more of a genereal Gekko-question?
Also implemented a 'take profit' but this was also removed since it also didn't do anything except worsen the performance.
What ended up happening was basically this:
a. Buy
b. It was a bad buy (stoploss was met) so SELL
...
c. But RSI is even lower now so BUY again = better performance
--OR--
d. Do nothing and miss the opportunity = worse performance
Often it was the D-condition that happend which is suboptimal since it just ends up resulting in a lot of missed opportunities.
It might differ if one tests with 1-minute candles though, but testing is glacially slow so don't have time to test everything.
I created a generic function for stoploss though:
Code:
/* STOPLOSS */
stoploss: function( maxDiff, cur, old )
{
let diff = ((cur/old)-1) * 100;
diff = diff.toFixed(2),
ret = false;
if( maxDiff >= diff )
{
ret = true;
let str = 'Stoploss hit! Stoploss @ ' + maxDiff + '% Current diff: ' + diff + '%';
log.debug(str);
}
return ret;
},
It just returns TRUE or FALSE if condition is met.
One would have to set a param to save 'old' (what price one bought at) as well etc.
Do also note that the strategy already has a stoploss of sorts due to the switching of trends. If BULL buys @ RSI 50 and BEAR sells at RSI 50 the BEAR-trend will basically act as a stoploss (which is part of the idea). So that thing already works as intended.
2. I do not know, this just go long and short. This is more of a genereal Gekko-question?