RC2_LEARNING_SET_OUTSIDE_RANGE
תוכן זה אינו זמין עדיין בשפה שלך.
In
<set>,<name>=Range(...)goes outside the strategy’s own optimizer range for it.
What it means
Every value a learning set gives a number must sit inside that Param’s opt_min..opt_max, have the Param’s kind (a whole number for a whole-number Param), and a Range must run forwards with a step above 0. A switch takes True, False or Range(False, True), and a choice one of its own values.
Why it happens
Below the Param’s opt_min of 5:
class TooWide(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(fast=Range(2, 15))
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)A fraction on a whole-number Param:
class Fraction(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(fast=Range(5.5, 15))
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
Keep the set inside the Param’s own optimizer range — or widen opt_min/opt_max on the Param itself.
class InsideRange(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(fast=Range(5, 15))
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
Param()—opt_min,opt_max,opt_stepRC2_LEARNING_SET_NOT_OPTIMIZABLE— the Param has no optimizer range at all.