דלגו לתוכן
פתיחת RaamTrade

RC2_LEARNING_SET_UNKNOWN_PARAM

תוכן זה אינו זמין עדיין בשפה שלך.

<set> names <name>, which is not a Param of this strategy.

What it means

A learning set can only speak about the strategy’s own Param()s, by their exact names. Trade size (sizing) is never part of a learning set.

Why it happens

A misspelled name:

class Misspelled(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(fats=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)

How to fix it

Use the Param’s name as declared in the class body.

class Spelled(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)