Skip to content
Open RaamTrade

RC2_UNKNOWN_SESSION

Unknown session <name>. Available: the sessions in your compile catalog.

What it means

session= names a session from the catalog — the platform sessions plus any your organisation authored. A session is what gives a slot its bar timing (which minutes are a bar, in which timezone, on which weekdays), so an unresolvable name is not a detail the compiler can shrug off: there would be no answer to “what is one bar here”.

Session ids fail loud everywhere on the platform for this reason. An unknown id is always an error, never a silent fall-back to a default schedule.

Why it happens

A session that sounds plausible but isn’t in the catalog — usually an invented granularity:

class InventedSession(Strategy):
trade = Symbol(session=USEquity15Min)
sizing = FixedCapital()
def execute(self):
if self.trade.is_flat:
self.buy(self.trade)

The error message lists what is available, which is the fastest way to see the name you meant.

How to fix it

Reference a session that exists. The platform ones are:

Session What it is
USEquityHourly US equity regular hours, hourly bars.
USEquityDaily US equity regular hours, one bar per session.
Daily1615 Daily bar closing at 16:15 ET — cash-index and VIX settlement.
class HourlySession(Strategy):
trade = Symbol(session=USEquityHourly)
sizing = FixedCapital()
def execute(self):
sma = SMA(20, on=self.trade)
if sma.value > 0 and self.trade.is_flat:
self.buy(self.trade)

Session names are identifiers, not strings — session=USEquityDaily, no quotes. And if none of the catalog sessions describes your instrument’s clock, author one: sessions are self-serve, written in RaamCode like strategies and indicators.