OK, figured out how to specify inputs, basically exchange, base, rel, lang, botname, botid, signal name!
So we have 7 dimensional set of input signals to choose from and many of these are very extensible.
Now if I make a simple stack based forth control flow, I think this is Turing complete!
Since it runs on all client nodes, does that mean it is decentralized? Actually, no, each node runs their own set of tradebots
Still, now I need to figure out what sorts of things need to be supported on the input signals
I think with all the flexibility built into the signals, maybe just a tristate buy/sell/do nothing with a volume
Is that all I need?
There is passive and active bots, so I need to support that. Some bots wait until somebody else makes an offer, but without any bots that proactively make offers, it will just be deadlock city!
So, to implement a NXT -> BTC bridge, I think I just need to make the tradebot proactively find sellers of BTC at the right price, aha! I also need some fancy things like, withdraw from MGW to a BTC address. So I think a pretty simple tradebot would have the code to do the conversion and then follow with a send of BTC (by using MGW, its just withdraw command for all supported coins!)