Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 internal void OnFini()
 {
     stralet.OnFini();
     stralet = null;
     handle  = IntPtr.Zero;
 }