public void Add(DateTime date_time, double bid, double ask) { PriceCandle candle = Second1.GetFuture(0); // Compute equity this.Equity = Cash; foreach (TradingOrder open_order in OpenOrders.Values) { Equity += open_order.ComputeValue(Prices.GetHistory(0)); } Prices.Step(); Second1.Step(); if ((0 < Minute1.FutureCount) && (Prices.GetHistory(0).Time == Minute1.GetFuture(0).CloseTime)) { Minute1.Step(); } else { // if it is not the end of a minute the others also do not nee to step return; } //if ((0 < Minute15.FutureCount) && (Prices.GetHistory(0).Time == Minute15.GetFuture(0).CloseTime)) //{ // Minute15.Step(); //} //if ((0 < Minute30.FutureCount) && (Prices.GetHistory(0).Time == Minute30.GetFuture(0).CloseTime)) //{ // Minute30.Step(); //} //if ((0 < Hour1.FutureCount) && (Prices.GetHistory(0).Time == Hour1.GetFuture(0).CloseTime)) //{ // Hour1.Step(); //} //if ((0 < Hour4.FutureCount) && (Prices.GetHistory(0).Time == Hour4.GetFuture(0).CloseTime)) //{ // Hour4.Step(); //} //if ((0 < Day1.FutureCount) && (Prices.GetHistory(0).Time == Day1.GetFuture(0).CloseTime)) //{ // Day1.Step(); //} //if ((0 < Week1.FutureCount) && (Prices.GetHistory(0).Time == Week1.GetFuture(0).CloseTime)) //{ // Week1.Step(); //} //if ((0 < Month1.FutureCount) && (Prices.GetHistory(0).Time == Month1.GetFuture(0).CloseTime)) //{ // Month1.Step(); //} }
// Update is called once per frame void Update() { //assign each digit the current time //ex: 23:40 h0 = 2, h1 = 3, m0 = 4, m1 = 0 int h0 = int.Parse(DateTime.Now.ToString("HH")) / 10; int h1 = int.Parse(DateTime.Now.ToString("HH")) % 10; int m0 = int.Parse(DateTime.Now.ToString("mm")) / 10; int m1 = int.Parse(DateTime.Now.ToString("mm")) % 10; //assign sprite from the array of sprites according to each digit Hour0.GetComponent <Image>().sprite = sprites[h0]; Hour1.GetComponent <Image>().sprite = sprites[h1]; Minute0.GetComponent <Image>().sprite = sprites[m0]; Minute1.GetComponent <Image>().sprite = sprites[m1]; }
public void StepSecond() { if (Second1.FutureCount == 0) { throw new Exception("No future to step to"); } PriceCandle candle = Second1.GetFuture(0); // Close orders List <TradingOrder> ClosingOrders = CheckOrderLimits(OpenOrders, candle); foreach (TradingOrder closed_order in ClosingOrders) { this.OpenOrders.Remove(closed_order.OrderTicket); this.ClosedOrders.Add(closed_order); this.Cash += closed_order.Profit; } // Compute equity this.Equity = Cash; foreach (TradingOrder open_order in OpenOrders.Values) { Equity += open_order.ComputeValue(Prices.GetHistory(0)); } Prices.Step(); Second1.Step(); if ((0 < Minute1.FutureCount) && (Prices.GetHistory(0).Time == Minute1.GetFuture(0).CloseTime)) { Minute1.Step(); } else { // if it is not the end of a minute the others also do not nee to step return; } if ((0 < Minute15.FutureCount) && (Prices.GetHistory(0).Time == Minute15.GetFuture(0).CloseTime)) { Minute15.Step(); } if ((0 < Minute30.FutureCount) && (Prices.GetHistory(0).Time == Minute30.GetFuture(0).CloseTime)) { Minute30.Step(); } if ((0 < Hour1.FutureCount) && (Prices.GetHistory(0).Time == Hour1.GetFuture(0).CloseTime)) { Hour1.Step(); } if ((0 < Hour4.FutureCount) && (Prices.GetHistory(0).Time == Hour4.GetFuture(0).CloseTime)) { Hour4.Step(); } if ((0 < Day1.FutureCount) && (Prices.GetHistory(0).Time == Day1.GetFuture(0).CloseTime)) { Day1.Step(); } if ((0 < Week1.FutureCount) && (Prices.GetHistory(0).Time == Week1.GetFuture(0).CloseTime)) { Week1.Step(); } if ((0 < Month1.FutureCount) && (Prices.GetHistory(0).Time == Month1.GetFuture(0).CloseTime)) { Month1.Step(); } }