[ {"op": "doc", "text": "NY-session-gated blend of three SMA spreads via a LinComb(arity 3); sweepable session period"}, {"op": "source", "role": "price", "kind": "F64"}, {"op": "add", "type": "SMA", "name": "a", "bind": {"length": {"I64": 2}}}, {"op": "add", "type": "SMA", "name": "b", "bind": {"length": {"I64": 5}}}, {"op": "add", "type": "SMA", "name": "c", "bind": {"length": {"I64": 10}}}, {"op": "feed", "role": "price", "into": ["a.series", "b.series", "c.series"]}, {"op": "add", "type": "Sub", "name": "sA"}, {"op": "connect", "from": "a.value", "to": "sA.lhs"}, {"op": "connect", "from": "c.value", "to": "sA.rhs"}, {"op": "add", "type": "Sub", "name": "sB"}, {"op": "connect", "from": "b.value", "to": "sB.lhs"}, {"op": "connect", "from": "c.value", "to": "sB.rhs"}, {"op": "add", "type": "Sub", "name": "sC"}, {"op": "connect", "from": "a.value", "to": "sC.lhs"}, {"op": "connect", "from": "b.value", "to": "sC.rhs"}, {"op": "add", "type": "LinComb", "name": "lc", "args": {"arity": "3"}, "bind": {"weights[0]": {"F64": 0.5}, "weights[1]": {"F64": 0.3}, "weights[2]": {"F64": 0.2}}}, {"op": "connect", "from": "sA.value", "to": "lc.term[0]"}, {"op": "connect", "from": "sB.value", "to": "lc.term[1]"}, {"op": "connect", "from": "sC.value", "to": "lc.term[2]"}, {"op": "add", "type": "Session", "name": "sess", "args": {"tz": "America/New_York", "open": "09:30"}}, {"op": "feed", "role": "price", "into": ["sess.trigger"]}, {"op": "add", "type": "EqConst", "name": "insession", "bind": {"target": {"I64": 1}}}, {"op": "connect", "from": "sess.bars_since_open", "to": "insession.value"}, {"op": "add", "type": "When", "name": "gated"}, {"op": "connect", "from": "lc.value", "to": "gated.value"}, {"op": "connect", "from": "insession.value", "to": "gated.gate"}, {"op": "add", "type": "Bias", "name": "bias", "bind": {"scale": {"F64": 1.0}}}, {"op": "connect", "from": "gated.value", "to": "bias.signal"}, {"op": "expose", "from": "bias.bias", "as": "bias"} ]