private List<Bar> GetRecentBars(string symbol,int timeFrame) { List<Bar> bars = new List<Bar>(); for (int i = 1; i <= _mqlApi.iBars(symbol, timeFrame); i++) { var open = _mqlApi.iOpen(symbol, timeFrame, i); var high = _mqlApi.iHigh(symbol, timeFrame, i); var low = _mqlApi.iLow(symbol, timeFrame, i); var close = _mqlApi.iClose(symbol, timeFrame, i); var volume = _mqlApi.iVolume(symbol, timeFrame, i); var time = _mqlApi.iTime(symbol, timeFrame, i); var bar = new Bar { Symbol = symbol, Open = open, High = high, Low = low, Close = close, Volume = volume, Time = time }; bars.Add(bar); } return bars; }
private OrderActionType GetCurrentTickBarActionType(Bar currentTickBar, int currentTickBarIndex, List<Bar> list) { if (currentTickBar.Open > list[currentTickBarIndex - 1].Open && currentTickBar.Open > list[currentTickBarIndex - 2].Open && currentTickBar.Open > list[currentTickBarIndex - 3].Open) { return OrderActionType.BUY; } if (currentTickBar.Open < list[currentTickBarIndex - 1].Open && currentTickBar.Open < list[currentTickBarIndex - 2].Open && currentTickBar.Open < list[currentTickBarIndex - 3].Open) { return OrderActionType.SELL; } return OrderActionType.NONE; }