понедельник, 23 сентября 2019 г.

воскресенье, 8 сентября 2019 г.

GS.Trade.TradeTerminals

Updates in Strategies

SendTransactions,
ClearTransactions
1. OrderQueue2.cs
Clear All Queue

(Rejected only Transaction with SetOrder.
And Remove this Orders)

TransactionsReply:
File: QuikTradeTerminal.cs
Last Handler: TransactionReplyResolve(IEventArgs1 args)

Requirements Specification in Brief
1. NotConnecton:
{
TradeTerminal:  Clear All TransactionQueue
Strategy: ActiveOrdersCollection:
1. Remove Orders.Where(o=>o.TransactionOperation == SetOrder)
if(TransactionStatus == NotConnected)
OrderStatus = REJECTED and then will be REMOVED
Natural Delae after NotConnected: After TimeIntTime Strategy will Register new Order in NEW MARKET CONDITIONS AFTER CONNECTION RESTORE
2. Remain NoSended.Orders.ActiveOrders.Where(o=>o.TransactionOperation == CancelOrder);
ReTryToCancelActiveOrders in MainBase Cycle.
3.ReSend Order Registered only after Cancel all Previouse Orders.
After NotConnected need new Order in new Market conditions.
}

MainBase()
{
            EventHub?.DeQueueProcess();
            // Filled, Canceled, Rejected, NotSent
            RemoveClosedOrders();
            ReTryToCancelActiveOrders();
            RemoveOrdersSendedTimeOut(DateTime.Now) = 5 minutes;

            Main();
}

Total:
1. Удалены все Filled, Cancel, NosSended( Rejected) RemoveClosedOrders();
2. Все Активные ордера, требующие отмены, если не было Коннекта,
пытаются в Main ReTryToCancelActiveOrders();

19.09.15
           EventHub?.DeQueueProcess();
            // Remove Filled, Canceled, Rejected, NotSent
            RemoveClosedOrders();
            // Remove OrdersRegisteredReadyToUse When No Connection
            RemoveRegisteredWhenNoConnection(string.Empty);
            RemoveOrdersSendedTimeOut(DateTime.Now);
            // ReTry Cancel ActiveOrdersSoftReadyToUse which Not Seneded
            ReTryToCancelActiveOrders();
            // ReTry SetOrder2 for RegisteredReadyToUse in AciveOrderCollection (PocketOrder Implementation)
            TryToSetOrderRegisteredPending();