private void 打印ToolStripButton_Click(object sender, EventArgs e) {//打印车位使用信息 ApplicationClass MyExcel; Workbooks MyWorkBooks; Workbook MyWorkBook; Worksheet MyWorkSheet; char MyColumns; Range MyRange; Object[,] MyData = new Object[500, 35]; int i, j; MyExcel = new ApplicationClass(); MyExcel.Visible = true; if (MyExcel == null) { MessageBox.Show("Excel程序无法启动!", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } MyWorkBooks = MyExcel.Workbooks; MyWorkBook = MyWorkBooks.Add(Missing.Value); MyWorkSheet = (Worksheet)MyWorkBook.Worksheets[1]; MyColumns = (char)(this.dBCommunityDataSet.车位使用.Columns.Count + 64); MyRange = MyWorkSheet.get_Range("A5", MyColumns.ToString() + "5"); int Count = 0; foreach (DataColumn MyNewColumn in this.dBCommunityDataSet.车位使用.Columns) { MyData[0, Count] = MyNewColumn.ColumnName; Count = Count + 1; } j = 1; //输出数据库记录 foreach (DataGridViewRow MyRow in this.车位使用DataGridView.Rows) { for (i = 0; i < this.dBCommunityDataSet.车位使用.Columns.Count; i++) { if (i == 6 | i == 7) { MyData[j, i] = DateTime.Parse(MyRow.Cells[i].Value.ToString()).ToShortDateString(); } else { MyData[j, i] = MyRow.Cells[i].Value.ToString(); } } j++; } MyRange = MyRange.get_Resize(this.dBCommunityDataSet.车位使用.Rows.Count + 1, this.dBCommunityDataSet.车位使用.Columns.Count); MyRange.Value2 = MyData; MyRange.EntireColumn.AutoFit(); MyWorkSheet.Cells[2, 2] = this.MyCommunity + "车位信息表"; Range MyRange22 = MyWorkSheet.get_Range("B2", "B2"); MyRange22.Font.Bold = true; MyRange22.Font.Size = "20"; MyWorkSheet.Cells[4, 1] = "打印日期:" + DateTime.Now.ToShortDateString(); }
public void CancelEdit() { if (null != _savedRange) { From = _savedRange.From; To = _savedRange.To; _savedRange = null; } }
public void EndEdit() { var savedRange = _savedRange; _savedRange = null; if (null != savedRange && (To != savedRange.To || From != savedRange.From)) { Parent.NormalizeRanges(); } }
public override void SetSettings(GrassEntitiesSet aGrass) { var tuftHue = RandomGrassGenerator.GetHue(); var tuftValue = RandomGrassGenerator.GetValue(); var randomSaturation = RandomGrassGenerator.GetSaturation(); //todo use it MyRange basePlantBendingStiffness = RandomTuftGenerator.GetBasePlantBendingStiffness(); MyRange basePlantBendingValue = RandomTuftGenerator.GetBasePlantBendingValue(); ForeachEntity(aGrass, c => c.AddUniform(GrassShaderUniformName._PlantBendingStiffness, RandomTuftGenerator.GetPlantBendingStiffness(basePlantBendingStiffness))); ForeachEntity(aGrass, c => c.AddUniform(GrassShaderUniformName._InitialBendingValue, RandomTuftGenerator.GetPlantBendingValue(basePlantBendingValue))); ForeachEntity(aGrass, c => c.AddUniform(GrassShaderUniformName._Color, RandomGrassGenerator.GetGrassColor(tuftHue))); ForeachEntity(aGrass, c => c.AddUniform(GrassShaderUniformName._RandSeed, UnityEngine.Random.value)); }
private float?CalculateExclusionRadius( Vector2 point, MyRectangle offsetGenerationArea, MyRange exclusionRadiusRange, IIntensitySamplingProvider intensityProvider) { var uv = RectangleUtils.CalculateSubelementUv(offsetGenerationArea, point); var sample = intensityProvider.Sample(uv); var exclusionRadius = exclusionRadiusRange.Lerp(1 - sample); if (sample > 0.01f) { return(exclusionRadius); } else { return(null); } }
public void Exclude(MyRange excluded, out MyRange rangeLeft, out MyRange rangeRight) { int leftTo = Math.Min(To, Math.Max(From - 1, excluded.From - 1)); int rightFrom = Math.Max(From, Math.Min(To + 1, excluded.To + 1)); rangeLeft = rangeRight = null; if (leftTo >= From) { rangeLeft = new MyRange { From = From, To = leftTo } } ; if (rightFrom <= To) { rangeRight = new MyRange { From = rightFrom, To = To } } ; }
protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"Enter the description for your new custom Strategy here."; Name = "ThaCrossover"; Calculate = Calculate.OnBarClose; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = true; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 20; DefaultQuantity = 1; // Disable this property for performance gains in Strategy Analyzer optimizations // See the Help Guide for additional information IsInstantiatedOnEachOptimizationIteration = false; FastMaPeriod = 10; SlowMaPeriod = 20; TickRangePeriod = 15; MinMaDiff = 0.4; MaxMaDiff = 10; MinTickRange = 0; MaxTickRange = 30; GoLong = true; GoShort = true; FireAlerts = false; DiffXX = 5; ProfitTarget = 5; StopLoss = 12; TradingAccountId = 0; BailPeriod = 3; GoPeriod = 3; RangePeriod = 20; MinRange = 8.5; } else if (State == State.Configure) { //SetProfitTarget(CalculationMode.Ticks, this.ProfitTarget); //SetStopLoss(CalculationMode.Ticks, this.StopLoss); SetOrderQuantity = SetOrderQuantity.DefaultQuantity; fastMaIndicator = EMA(FastMaPeriod); slowMaIndicator = EMA(SlowMaPeriod); myRange = MyRange(RangePeriod, MinRange); slowMaIndicator.Plots[0].Brush = Brushes.White; slowMaIndicator.Plots[0].Width = 2; fastMaIndicator.Plots[0].Width = 2; AddChartIndicator(fastMaIndicator); AddChartIndicator(slowMaIndicator); } else if (State == State.DataLoaded) { diffSeries = new Series <double>(this); highLowSeries = new Series <double>(this); //this.guerillaTraderBridge.Reset(); } }
public static int GetTuftCount(MyRange elementsRange) { return((int)UnityEngine.Random.Range(elementsRange.Min, elementsRange.Max)); }
public static float GetPlantBendingValue(MyRange basePlantBendingValue) { return(basePlantBendingValue.Lerp(UnityEngine.Random.value)); }
public static float GetPlantBendingStiffness(MyRange basePlantBendingStiffness) { return(basePlantBendingStiffness.Lerp(UnityEngine.Random.value)); }
public PoissonDiskSamplerPositionResolver(MyRange exclusionRadiusRange) { _exclusionRadiusRange = exclusionRadiusRange; }
public List <Vector2> Generate(MyRectangle generationArea, float generationCount, MyRange exclusionRadiusRange, IIntensitySamplingProvider intensityProvider, int maxTries) { var random = new UnsafeRandomProvider(); //todo! var offsetGenerationArea = new MyRectangle(0, 0, generationArea.Width, generationArea.Height); float cellSize = exclusionRadiusRange.Max / Mathf.Sqrt(2); var width = generationArea.Width; var height = generationArea.Height; var grid = new GenerationMultipointGrid( cellSize, new IntVector2(Mathf.CeilToInt(width / cellSize), Mathf.CeilToInt(height / cellSize)) ); //if (usedCount++ % 2 == 0) //{ // return new List<Vector2>(); //} var processList = new GenerationRandomQueue <PointWithExclusionRadius>(); var acceptedPoints = new List <Vector2>(1000); PointWithExclusionRadius firstPoint = null; while (firstPoint == null) { maxTries--; if (maxTries < 0) { return(acceptedPoints); } var randX = random.Next(0, width); var randY = random.Next(0, height); var randomPoint = new Vector2(randY, randX); var exclusionRadius = CalculateExclusionRadius(randomPoint, offsetGenerationArea, exclusionRadiusRange, intensityProvider); if (!exclusionRadius.HasValue) { continue; } firstPoint = new PointWithExclusionRadius() { ExclusionRadius = exclusionRadius.Value, Point = randomPoint }; } ; processList.Add(firstPoint); acceptedPoints.Add(firstPoint.Point); grid.Set(firstPoint); while (!processList.Empty) { var point = processList.RandomPop(); for (int i = 0; i < generationCount; i++) { Vector2 newPoint = GenerateRandomPointAround(point.Point, point.ExclusionRadius, random); if (offsetGenerationArea.Contains(newPoint)) { var calculatedExclusionRadius = CalculateExclusionRadius(newPoint, offsetGenerationArea, exclusionRadiusRange, intensityProvider); if (!calculatedExclusionRadius.HasValue) { continue; } var newPointWithExclusionRadius = new PointWithExclusionRadius() { Point = newPoint, ExclusionRadius = calculatedExclusionRadius.Value }; if (!grid.Collides(newPointWithExclusionRadius)) { processList.Add(newPointWithExclusionRadius); acceptedPoints.Add(newPoint); grid.Set(newPointWithExclusionRadius); } } maxTries--; } if (maxTries < 0) { break; } } return(acceptedPoints.Select(c => c + generationArea.DownLeftPoint).ToList()); }
public void BeginEdit() { _savedRange = new MyRange { From = From, To = To }; }
protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"Enter the description for your new custom Strategy here."; Name = "ThaAdxOneBar"; Calculate = Calculate.OnBarClose; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = true; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 20; // Disable this property for performance gains in Strategy Analyzer optimizations // See the Help Guide for additional information IsInstantiatedOnEachOptimizationIteration = true; TradingAccountId = 0; ExitPeriod = 3; AdxPeriod = 14; MinAdx = 25; ExitSlopeThreshold = -15; UseBoundaryHours = true; StartHour = 7; StartMinute = 30; EndHour = 12; EndMinute = 30; LossExitTicks = 8; EnterPeriod = 3; EnterSlopeThreshold = 20; RecordHistoricalTrades = false; EnterBarsLength = 2; ExitBarsLength = 2; EnterViaLimit = true; EnterViaStop = true; ExitStopBuffer = 2; ExitLimitBuffer = 2; Quantity = 2; MinTickRange = 8; // FastMaPeriod = 5; // SlowMaPeriod = 10; // MinMaDiff = 0.4; } else if (State == State.Configure) { //SetOrderQuantity = SetOrderQuantity.DefaultQuantity; adxIndicator = EnhancedADX(AdxPeriod, MinAdx); AddChartIndicator(adxIndicator); if (EnterPeriod > 1) { enterAdxSlopeIndicator = AdxSlope(AdxPeriod, EnterPeriod, EnterSlopeThreshold); //AddChartIndicator(enterAdxSlopeIndicator); } if (ExitPeriod > 1) { exitAdxSlopeIndicator = AdxSlope(AdxPeriod, ExitPeriod, ExitSlopeThreshold); //AddChartIndicator(exitAdxSlopeIndicator); } rangeIndicator = MyRange(EnterBarsLength, MinTickRange); //AddChartIndicator(rangeIndicator); disableManager.AddRange(DayOfWeek.Sunday, 12, 45, 24, 0); disableManager.AddRange(DayOfWeek.Monday, 12, 45, 24, 0); disableManager.AddRange(DayOfWeek.Tuesday, 12, 45, 24, 0); disableManager.AddRange(DayOfWeek.Wednesday, 12, 45, 24, 0); disableManager.AddRange(DayOfWeek.Thursday, 12, 45, 24, 0); disableManager.AddRange(DayOfWeek.Friday, 12, 45, 24, 0); // disableManager.AddRange(DayOfWeek.Monday, 0, 0, 5, 0); // disableManager.AddRange(DayOfWeek.Tuesday, 0, 0, 5, 0); // disableManager.AddRange(DayOfWeek.Wednesday, 0, 0, 5, 0); // disableManager.AddRange(DayOfWeek.Thursday, 0, 0, 5, 0); // disableManager.AddRange(DayOfWeek.Friday, 0, 0, 5, 0); //disableManager.AddRange(DayOfWeek.Monday, 6, 30, 6, 45); //disableManager.AddRange(DayOfWeek.Tuesday, 6, 30, 6, 45); //disableManager.AddRange(DayOfWeek.Wednesday, 6, 30, 6, 45); //disableManager.AddRange(DayOfWeek.Thursday, 6, 30, 6, 45); //disableManager.AddRange(DayOfWeek.Friday, 6, 30, 6, 45); // fastMaIndicator = EMA(FastMaPeriod); // slowMaIndicator = EMA(SlowMaPeriod); // slowMaIndicator.Plots[0].Brush = Brushes.White; // slowMaIndicator.Plots[0].Width = 2; // fastMaIndicator.Plots[0].Width = 2; // AddChartIndicator(fastMaIndicator); // AddChartIndicator(slowMaIndicator); } else if (State == State.DataLoaded) { } }
protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"ThaAdxFixed"; Name = "ThaAdxFixed"; Calculate = Calculate.OnBarClose; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = true; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 20; // Disable this property for performance gains in Strategy Analyzer optimizations // See the Help Guide for additional information IsInstantiatedOnEachOptimizationIteration = true; TradingAccountId = 0; AdxPeriod = 14; MinAdx = 25; UseBoundaryHours = true; StartHour = 7; StartMinute = 30; EndHour = 12; EndMinute = 30; EnterPeriod = 3; EnterSlopeThreshold = 20; RecordHistoricalTrades = false; EnterBarsLength = 2; ExitStopBuffer = 2; ExitLimitBuffer = 2; Quantity = 1; UseDynamicQuantity = false; MaxDynamicQuantity = 5; Contrarian = false; } else if (State == State.Configure) { SetProfitTarget(CalculationMode.Ticks, this.ExitLimitBuffer); SetStopLoss(CalculationMode.Ticks, this.ExitStopBuffer); //SetOrderQuantity = SetOrderQuantity.DefaultQuantity; adxIndicator = EnhancedADX(AdxPeriod, MinAdx); AddChartIndicator(adxIndicator); if (EnterPeriod > 1) { enterAdxSlopeIndicator = AdxSlope(AdxPeriod, EnterPeriod, EnterSlopeThreshold); //AddChartIndicator(enterAdxSlopeIndicator); } rangeIndicator = MyRange(EnterBarsLength, 3); //AddChartIndicator(rangeIndicator); disableManager.AddRange(DayOfWeek.Sunday, 13, 30, 24, 0); disableManager.AddRange(DayOfWeek.Monday, 13, 30, 24, 0); disableManager.AddRange(DayOfWeek.Tuesday, 13, 30, 24, 0); disableManager.AddRange(DayOfWeek.Wednesday, 13, 30, 24, 0); disableManager.AddRange(DayOfWeek.Thursday, 13, 30, 24, 0); disableManager.AddRange(DayOfWeek.Friday, 13, 30, 24, 0); disableManager.AddRange(DayOfWeek.Monday, 0, 0, 5, 0); disableManager.AddRange(DayOfWeek.Tuesday, 0, 0, 5, 0); disableManager.AddRange(DayOfWeek.Wednesday, 0, 0, 5, 0); disableManager.AddRange(DayOfWeek.Thursday, 0, 0, 5, 0); disableManager.AddRange(DayOfWeek.Friday, 0, 0, 5, 0); } else if (State == State.DataLoaded) { } }
protected override void OnStateChange() { if (State == State.SetDefaults) { Description = @"ThaAdxRideTheTrend"; Name = "ThaAdxRideTheTrend"; Calculate = Calculate.OnBarClose; EntriesPerDirection = 1; EntryHandling = EntryHandling.AllEntries; IsExitOnSessionCloseStrategy = true; ExitOnSessionCloseSeconds = 30; IsFillLimitOnTouch = false; MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix; OrderFillResolution = OrderFillResolution.Standard; Slippage = 0; StartBehavior = StartBehavior.WaitUntilFlat; TimeInForce = TimeInForce.Gtc; TraceOrders = false; RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose; StopTargetHandling = StopTargetHandling.PerEntryExecution; BarsRequiredToTrade = 20; // Disable this property for performance gains in Strategy Analyzer optimizations // See the Help Guide for additional information IsInstantiatedOnEachOptimizationIteration = true; TradingAccountId = 0; ExitPeriod = 3; AdxPeriod = 14; MinAdx = 25; ExitSlopeThreshold = -15; UseBoundaryHours = true; StartHour = 7; StartMinute = 30; EndHour = 12; EndMinute = 30; LossExitTicks = 8; EnterPeriod = 3; EnterSlopeThreshold = 20; RecordHistoricalTrades = false; EnterBarsLength = 2; ExitBarsLength = 2; EnterViaLimit = true; EnterViaStop = true; ExitStopBuffer = 2; ExitLimitBuffer = 2; Quantity = 2; MinTickRange = 8; FireSns = false; MinTrendLength = 1; TargetDollars = 0; TrailingStopMinDollars = 0; TrailingStopDivisorDollars = 0; TrailingStopCushionDollars = 0; OverrideRealTimeOnly = false; } else if (State == State.Configure) { //SetOrderQuantity = SetOrderQuantity.DefaultQuantity; trailingStopEnabled = TrailingStopMinDollars > 0; if (trailingStopEnabled) { AddDataSeries(BarsPeriodType.Tick, 300); } tickCounter = TickCounter(true, false); AddChartIndicator(tickCounter); rangeIndicator = MyRange(14, MinTickRange); //AddChartIndicator(rangeIndicator); adxIndicator = EnhancedADX(AdxPeriod, MinAdx); AddChartIndicator(adxIndicator); if (EnterPeriod > 1) { enterAdxSlopeIndicator = AdxSlope(AdxPeriod, EnterPeriod, EnterSlopeThreshold); AddChartIndicator(enterAdxSlopeIndicator); } if (ExitPeriod > 1) { exitAdxSlopeIndicator = AdxSlope(AdxPeriod, ExitPeriod, ExitSlopeThreshold); //AddChartIndicator(exitAdxSlopeIndicator); } disableManager.AddRange(DayOfWeek.Monday, 6, 25, 6, 50); disableManager.AddRange(DayOfWeek.Tuesday, 6, 25, 6, 50); disableManager.AddRange(DayOfWeek.Wednesday, 6, 25, 6, 50); disableManager.AddRange(DayOfWeek.Thursday, 6, 25, 6, 50); disableManager.AddRange(DayOfWeek.Friday, 6, 25, 6, 50); // disableManager.AddRange(DayOfWeek.Sunday, 15, 45, 24, 0); // disableManager.AddRange(DayOfWeek.Monday, 15, 45, 24, 0); // disableManager.AddRange(DayOfWeek.Tuesday, 15, 45, 24, 0); // disableManager.AddRange(DayOfWeek.Wednesday, 15, 45, 24, 0); // disableManager.AddRange(DayOfWeek.Thursday, 15, 45, 24, 0); // disableManager.AddRange(DayOfWeek.Friday, 15, 45, 24, 0); } else if (State == State.DataLoaded) { } }
public void SetUp() { _range = new MyRange(1, 5); }