public StraletWrap(Stralet stralet) { this.stralet = stralet; wrap.OnInit = this.OnInit; wrap.OnFini = this.OnFini; wrap.OnQuote = this.OnQuote; wrap.OnBar = this.OnBar; wrap.OnOrder = this.OnOrder; wrap.OnTrade = this.OnTrade; wrap.OnTimer = this.OnTimer; wrap.OnEvent = this.OnEvent; wrap.OnAccountStatus = this.OnAccountStatus; handle = TqsDll.tqs_stralet_create(ref wrap); }
static public void Run(Config cfg, CreateStralet creatae_stralet) { var json = JsonConvert.SerializeObject(cfg); Stralet stralet = null; Impl.TqsDll.StraletCreator my_creatae_stralet = () => { // FIXME stralet = creatae_stralet(); return(stralet._Handle); }; Impl.TqsDll.tqs_rt_run(json, my_creatae_stralet); stralet = null; }
public StraletWrap(Stralet stralet) { wrap.SetContext = (sc) => { ctx = new StraletContextImpl(sc); stralet._SetContext(ctx); }; wrap.OnDestroy = () => { this.handle = IntPtr.Zero; stralet._OnDestroy(); }; wrap.OnEvent = (evt, data) => { stralet._OnEvent(evt, data); }; handle = TqsDll.tqs_stralet_create(ref wrap); }
internal void OnFini() { stralet.OnFini(); stralet = null; handle = IntPtr.Zero; }