private void StoreConfigs() { maxBarsDefault = Configs.MaxBars; isCheckDataDefault = Configs.CheckData; isFillDataGapsDefault = Configs.FillInDataGaps; isCutBadDataDefault = Configs.CutBadData; isCutSatSunDataDefault = Configs.CutSatSunData; isUseEndTimeDefault = Configs.UseEndTime; isUseStartTimeDefault = Configs.UseStartTime; isUseTickDataDefault = Configs.UseTickData; isAutoscanDefault = Configs.Autoscan; isAccountInCurrencyDefault = Configs.AccountInMoney; accountCurrencyDefault = Configs.AccountCurrency; initialAccountDefault = Configs.InitialAccount; leverageDefault = Configs.Leverage; isTradeUntilMarginCallDefault = Configs.TradeUntilMarginCall; isUseLogicalGroupsDefault = Configs.UseLogicalGroups; symbolDefault = Data.Symbol; periodDefault = Data.Period; instrPropertiesDefault = Instruments.InstrumentList[symbolDefault].Clone(); strategyDefault = Data.Strategy.Clone(); }
private void GenerateDataFile() { symbol = "GBPUSD"; instrProperties = new InstrumentProperties(symbol, InstrumetType.Forex) { Commission = 0, CommissionScope = CommissionScope.deal, CommissionTime = CommissionTime.openclose, Digits = 5, LotSize = 10000, RateToEUR = 2.3456, RateToUSD = 2.3456, Slippage = 1, Spread = 6, SwapLong = 0.25, SwapShort = 0.25, SwapUnit = ChargeUnit.Points }; int maxBars = 2 * Configs.MaxBars; var sb = new StringBuilder(maxBars); var time = new DateTime(2000, 1, 1, 0, 0, 0); double open = 1.12345; int volume = 300; period = DataPeriod.H4; for (int i = 0; i < maxBars; i++) { time = time.AddMinutes((int)DataPeriod.H1); int multiplier = (time.DayOfYear % 2 == 0) ? 1 : -1; open = open + multiplier * 0.00005; double high = open + 0.00025; double low = open - 0.00025; double close = open + 0.00005; volume = volume + multiplier * 5; sb.AppendLine(string.Format("{0} {1} {2} {3} {4} {5}", time.ToString("yyyy-MM-dd HH:mm:ss"), open.ToString("F5"), high.ToString("F5"), low.ToString("F5"), close.ToString("F5"), volume)); } dataFile = sb.ToString(); }
private void StoreConfigs() { maxBarsDefault = Configs.MaxBars; isCheckDataDefault = Configs.CheckData; isFillDataGapsDefault = Configs.FillInDataGaps; isCutBadDataDefault = Configs.CutBadData; isCutSatSunDataDefault = Configs.CutSatSunData; isUseEndTimeDefault = Configs.UseEndTime; isUseStartTimeDefault = Configs.UseStartTime; isUseTickDataDefault = Configs.UseTickData; isAutoscanDefault = Configs.Autoscan; isAccountInCurrencyDefault = Configs.AccountInMoney; accountCurrencyDefault = Configs.AccountCurrency; initialAccountDefault = Configs.InitialAccount; leverageDefault = Configs.Leverage; isTradeUntilMarginCallDefault = Configs.TradeUntilMarginCall; isUseLogicalGroupsDefault = Configs.UseLogicalGroups; symbolDefault = Data.Symbol; periodDefault = Data.Period; instrPropertiesDefault = Instruments.InstrumentList[symbolDefault].Clone(); strategyDefault = Data.Strategy.Clone(); }
private void GenerateDataFile() { symbol = "GBPUSD"; instrProperties = new InstrumentProperties(symbol, InstrumetType.Forex) { Commission = 0, CommissionScope = CommissionScope.deal, CommissionTime = CommissionTime.openclose, Digits = 5, LotSize = 10000, RateToEUR = 2.3456, RateToUSD = 2.3456, Slippage = 1, Spread = 6, SwapLong = 0.25, SwapShort = 0.25, SwapUnit = ChargeUnit.Points }; int maxBars = 2*Configs.MaxBars; var sb = new StringBuilder(maxBars); var time = new DateTime(2000, 1, 1, 0, 0, 0); double open = 1.12345; int volume = 300; period = DataPeriod.H4; for (int i = 0; i < maxBars; i++) { time = time.AddMinutes((int) DataPeriod.H1); int multiplier = (time.DayOfYear%2 == 0) ? 1 : -1; open = open + multiplier*0.00005; double high = open + 0.00025; double low = open - 0.00025; double close = open + 0.00005; volume = volume + multiplier*5; sb.AppendLine(string.Format("{0} {1} {2} {3} {4} {5}", time.ToString("yyyy-MM-dd HH:mm:ss"), open.ToString("F5"), high.ToString("F5"), low.ToString("F5"), close.ToString("F5"), volume)); } dataFile = sb.ToString(); }
public void addInstrumentProperty(CVTerm value) { InstrumentProperties.Add(value); }
static InstrumentProperties() { Positive = new InstrumentProperties() { State = 1, Name = "是" }; Negative = new InstrumentProperties() { State = 2, Name = "否" }; InstruProes = new Dictionary<int, InstrumentProperties>(); InstruProes.Add(Positive.State, Positive); InstruProes.Add(Negative.State, Negative); }
/// <summary> /// LoadInstrument /// </summary> private void LoadInstrument() { const string symbol = "EURUSD"; const DataPeriod dataPeriod = DataPeriod.D1; var instrProperties = new InstrumentProperties(symbol); var instrument = new Instrument(instrProperties, (int) dataPeriod); int loadResourceData = instrument.LoadResourceData(); if (instrument.Bars <= 0 || loadResourceData != 0) return; Data.InstrProperties = instrProperties.Clone(); Data.Bars = instrument.Bars; Data.Period = dataPeriod; Data.Time = new DateTime[Data.Bars]; Data.Open = new double[Data.Bars]; Data.High = new double[Data.Bars]; Data.Low = new double[Data.Bars]; Data.Close = new double[Data.Bars]; Data.Volume = new int[Data.Bars]; for (int bar = 0; bar < Data.Bars; bar++) { Data.Open[bar] = instrument.Open(bar); Data.High[bar] = instrument.High(bar); Data.Low[bar] = instrument.Low(bar); Data.Close[bar] = instrument.Close(bar); Data.Time[bar] = instrument.Time(bar); Data.Volume[bar] = instrument.Volume(bar); } Data.IsData = true; }