RC2_LEARNING_SET_DUPLICATE
<set>is the same search as learning set<n>.
What it means
Two learning sets that describe the same search are one set shown twice. This includes a set equal to learning set 1 — which, when learning_set_1 is not written, is the strategy’s own Param ranges. A set that only fixes a switch at its default, for example, changes nothing.
Why it happens
Fixing a switch at the value it already has:
class NoChange(Strategy): trade = Symbol() sizing = FixedCapital() fast = Param(10, min=2, max=100, opt_min=5, opt_max=30) slow = Param(30, min=10, max=200, opt_min=20, opt_max=80, opt_step=5) offset = Param(0.01, min=0.0, max=1.0) use_filter = Param(False)
learning_set_2 = LearningSet(use_filter=False)
def execute(self): f = SMA(self.fast, on=self.trade) s = SMA(self.slow, on=self.trade) if f.value > s.value and self.trade.is_flat: self.buy(self.trade)How to fix it
Change at least one parameter, or remove the set.
class RealChange(Strategy): trade = Symbol() sizing = FixedCapital() fast = Param(10, min=2, max=100, opt_min=5, opt_max=30) slow = Param(30, min=10, max=200, opt_min=20, opt_max=80, opt_step=5) offset = Param(0.01, min=0.0, max=1.0) use_filter = Param(False)
learning_set_2 = LearningSet(use_filter=True)
def execute(self): f = SMA(self.fast, on=self.trade) s = SMA(self.slow, on=self.trade) if f.value > s.value and self.trade.is_flat: self.buy(self.trade)Related
- Learning sets
RC2_LEARNING_SET_NO_SEARCH— a set where nothing is searched.