I will try with handcrasting in pysystemtrade, although, it doesn't adjust the rules based on performance at all I think..
It does actually (assuming you haven't messed with the parameters to equalise pre-cost returns) and I even wrote at length about how it does it here
GAT
Thanks!