public void trade(OkexFutureInstrumentType instrument, OkexFutureContractType contract,
                          double price, long volume, OkexContractTradeType type, uint leverRate = 10,
                          FutureTradeEntity.TradeEventHandler callback = null, long queryInterval = 1000)
        {
            FutureTradeEntity entity = new FutureTradeEntity(instrument, contract, queryInterval);

            if (callback != null)
            {
                entity.setTradeEventHandler(callback);
            }
            OkexFutureTrader.Instance.tradeAsync(instrument, contract, price, volume, type, entity.onAsyncCallback, leverRate);
            m_entityList.Add(entity);
        }
Exemple #2
0
        public FutureTradeTracer(string id, FutureTradeEntity fte,
                                 OkexFutureInstrumentType inst, OkexFutureContractType cntr,
                                 long queryInterval = 1000)
        {
            localID = id;
            entity  = fte;

            queryTimer  = new Timer(queryInterval);
            resultTimer = new Timer(1000);

            instrument = inst;
            contract   = cntr;

            queryTimer.Elapsed  += new ElapsedEventHandler(queryTrade);
            resultTimer.Elapsed += new ElapsedEventHandler(onTimeout);
        }
Exemple #3
0
        public void trade(FutureTradeEntity entity,
                          OkexFutureInstrumentType instrument, OkexFutureContractType contract,
                          double price, long volume, OkexContractTradeType type, uint leverRate = 10)
        {
            if (entity == null)
            {
                return;
            }

            long              queryInterval = entity.queryInterval;
            string            guid          = Guid.NewGuid().ToString();
            FutureTradeTracer tracer        = new FutureTradeTracer(guid, entity, instrument, contract, queryInterval);

            m_tracers.TryAdd(guid, tracer);
            OkexFutureTrader.Instance.tradeAsync(instrument, contract, price, volume, type, tracer.onTradeResult, leverRate);
            tracer.start();
        }