[ {"op":"source","role":"price","kind":"F64"}, {"op":"add","type":"SMA","name":"fast","bind":{"length":{"I64":5}}}, {"op":"add","type":"SMA","name":"slow","bind":{"length":{"I64":20}}}, {"op":"feed","role":"price","into":["fast.series","slow.series"]}, {"op":"add","type":"Sub","name":"spread"}, {"op":"connect","from":"fast.value","to":"spread.lhs"}, {"op":"connect","from":"slow.value","to":"spread.rhs"}, {"op":"add","type":"Bias","name":"bias","bind":{"scale":{"F64":0.25}}}, {"op":"connect","from":"spread.value","to":"bias.signal"}, {"op":"tap","from":"bias.bias","as":"signal"}, {"op":"tap","from":"fast.value","as":"price"}, {"op":"expose","from":"bias.bias","as":"bias"}, {"op":"doc","text":"tapped: bias exposed and tapped as signal, fast tapped as price"} ]