コード例 #1
0
ファイル: ToolGanttView.cs プロジェクト: yichunbong/CSOT
        //public void GanttView_BarDoubleClick(object sender, BarEventArgs e)
        //{
        //    if (e.Bar != null)
        //    {
        //        var dialog = new ToolBarDetailView();

        //        dialog.SetBarInfo(e.Bar as ToolBar);

        //        //dialog.TopMost = true;
        //        //dialog.StartPosition = FormStartPosition.Manual;
        //        dialog.Text = "Bar Information";

        //        dialog.Focus();
        //        dialog.Show();
        //    }
        //}

        void GanttView_BarClick(object sender, BarEventArgs e)
        {
            if (_gantt.ColumnHeader == null)
            {
                return;
            }

            this.grid1.BeginUpdate();

            if (e.Mouse.Button == MouseButtons.Right && e.Bar != null)
            {
                _gantt.TurnOnSelectMode();

                _gantt.SelectedBar = e.Bar as ToolBar;
            }
            else
            {
                _gantt.TurnOffSelectMode();
            }

            this.grid1.EndUpdate();
            this.grid1.Refresh();

            var bar = e.Bar as ToolBar;

            ViewDispDetail(bar);
            ViewEqpProcessDetail(bar.ToolID);
        }
コード例 #2
0
        private void OnNewBar(object sender, BarEventArgs args)
        {
            if (NewBar != null)
            {
                CThostFtdcDepthMarketDataField DepthMarket;
                Instrument inst = InstrumentManager.Instruments[args.Instrument.Symbol];
                string altSymbol = inst.GetSymbol(Name);

                Bar bar = args.Bar;
                if (_dictDepthMarketData.TryGetValue(altSymbol, out DepthMarket))
                {
                    bar = new Bar(args.Bar);
                    bar.OpenInt = (long)DepthMarket.OpenInterest;
                }

                if (null != MarketDataFilter)
                {
                    Bar b = MarketDataFilter.FilterBar(bar, args.Instrument.Symbol);
                    if (null != b)
                    {
                        NewBar(this, new BarEventArgs(b, args.Instrument, this));
                    }
                }
                else
                {
                    NewBar(this, new BarEventArgs(bar, args.Instrument, this));
                }
            }
        }
コード例 #3
0
 private void OnNewBar(object sender, BarEventArgs args)
 {
     if (this.HandleMarketData(args.Provider, args.Instrument))
     {
         this.metaStrategyBase.SetNewBar(args);
     }
 }
コード例 #4
0
 private void OnNewBar(object sender, BarEventArgs args)
 {
     if (this.NewBar != null)
     {
         this.NewBar(this, new BarEventArgs(args.Bar, args.Instrument, this));
     }
 }
コード例 #5
0
 private void OnNewBarOpen(object sender, BarEventArgs args)
 {
     if (NewBarOpen != null)
     {
         NewBarOpen(this, new BarEventArgs(args.Bar, args.Instrument, this));
     }
 }
コード例 #6
0
 private void OnNewBarOpen(object sender, BarEventArgs e)
 {
     if (this.NewBarOpen != null)
     {
         this.NewBarOpen(this, new BarEventArgs(e.Bar, e.Instrument, this));
     }
 }
コード例 #7
0
        private void OnNewBarOpen(object sender, BarEventArgs args)
        {
            if (NewBarOpen != null)
            {
                CThostFtdcDepthMarketDataField DepthMarket;
                Instrument inst      = InstrumentManager.Instruments[args.Instrument.Symbol];
                string     altSymbol = inst.GetSymbol(Name);

                Bar bar = args.Bar;
                if (_dictDepthMarketData.TryGetValue(altSymbol, out DepthMarket))
                {
                    bar         = new Bar(args.Bar);
                    bar.OpenInt = (long)DepthMarket.OpenInterest;
                }

#if OQ
                if (null != MarketDataFilter)
                {
                    Bar b = MarketDataFilter.FilterBarOpen(bar, args.Instrument.Symbol);
                    if (null != b)
                    {
                        NewBarOpen(this, new BarEventArgs(b, args.Instrument, this));
                    }
                }
                else
#endif
                {
                    NewBarOpen(this, new BarEventArgs(bar, args.Instrument, this));
                }
            }
        }
コード例 #8
0
ファイル: EqpGanttView.cs プロジェクト: parkheenam/test
        void GanttView_BarClick(object sender, BarEventArgs e)
        {
            if (this.gantt.ColumnHeader == null)
            {
                return;
            }

            this.spreadSheet1.BeginUpdate();


            if ((e.Mouse.Button == MouseButtons.Right && e.Bar != null))
            {
                this.gantt.MouseSelectionType = (MouseSelectionType)this.selectionTypeComboBox.SelectedItem;
                this.gantt.TurnOnSelectMode();
                this.gantt.SelectedBar = e.Bar as GanttBar;
            }
            else
            {
                this.gantt.TurnOffSelectMode();
            }

            if (e.Bar != null)
            {
                var bar = e.Bar as GanttBar;
                if (bar != prebar && prebar != null)
                {
                    prebar.Bounds.Width = prebarwidth;
                }
                this.currentBar       = bar;
                this.infoTextBox.Text = bar.GetDetail();
            }

            this.spreadSheet1.EndUpdate();
            this.spreadSheet1.Refresh();
        }
コード例 #9
0
        private void OyPFEsHGL2(object obj0, BarEventArgs obj1)
        {
            if (!this.A8bFJItyyx.BarFilter.Contains(obj1.Bar.BarType, obj1.Bar.Size))
            {
                return;
            }
            SingleOrder singleOrder = this.PYBF7sahqY as SingleOrder;

            if (singleOrder.OrdType == OrdType.Market)
            {
                this.Y18FFPmDy5((Quote)null, (Trade)null, obj1.Bar);
            }
            else
            {
                if (obj1.Bar == null || !this.A8bFJItyyx.FillOnBar)
                {
                    return;
                }
                double open = obj1.Bar.Open;
                if (open == 0.0)
                {
                    return;
                }
                this.wYBFLwFB4S(open, singleOrder.OrderQty);
            }
        }
コード例 #10
0
 private void ProviderManager_NewBar(object sender, BarEventArgs args)
 {
     lock (this)
     {
         ++this.countBar;
         ++this.countMarketDataTotal;
     }
 }
コード例 #11
0
        private void UIElement_OnMouseDown(object sender, MouseButtonEventArgs e)
        {
            double x = e.GetPosition(this).X;
            double y = e.GetPosition(this).Y;
            string value_to_pass = "******" + x + "," + y + "]";

            BarEventArgs bar = new BarEventArgs() { Bar = 2, Foo = value_to_pass };
            BarClick?.Invoke(sender, bar);
        }
コード例 #12
0
ファイル: Portfolio.cs プロジェクト: zhuzhenping/FreeOQ
 private void OnNewBar(object sender, BarEventArgs e)
 {
     lock (this.dataLock)
     {
         Position position = this.positions[(Instrument)e.Instrument];
         if (position != null)
         {
             position.EmitValueChanged();
             this.EmitValueChanged(position);
         }
     }
 }
コード例 #13
0
ファイル: DataManager.cs プロジェクト: zhuzhenping/FreeOQ
        private static void OnNewBarOpen(object sender, BarEventArgs e)
        {
            if (Trace.IsLevelEnabled(TraceLevel.Verbose))
            {
                Trace.WriteLine("(Open)Bar {0}" + e);
            }
            Instrument instrument = e.Instrument as Instrument ?? InstrumentManager.Instruments[e.Instrument.Symbol, e.Provider.Name];

            if (instrument != null)
            {
                instrument.EmitNewBarOpen(e);
            }
        }
コード例 #14
0
        private void UIElement_OnMouseDown(object sender, MouseButtonEventArgs e)
        {
            double x             = e.GetPosition(this).X;
            double y             = e.GetPosition(this).Y;
            string value_to_pass = "******" + x + "," + y + "]";

            BarEventArgs bar = new BarEventArgs()
            {
                Bar = 2, Foo = value_to_pass
            };

            BarClick?.Invoke(sender, bar);
        }
コード例 #15
0
        protected override void OnItemSelected(object userData)
        {
            base.OnItemSelected(userData);
            BarEventArgs args = UserDataToEventArgs(userData);

            if (args != null)
            {
                if (BarClicked != null)
                {
                    BarClicked.Invoke(args);
                }
            }
        }
コード例 #16
0
        private void hFe4w8v4Nv([In] object obj0, [In] BarEventArgs obj1)
        {
            Bar bar = obj1.Bar;

            if (this.MarketDataFilter != null)
            {
                bar = this.MarketDataFilter.FilterBarOpen(bar, obj1.Instrument.Symbol);
            }
            if (bar == null || this.Uo04uKSknp == null)
            {
                return;
            }
            this.Uo04uKSknp((object)this, new BarEventArgs(bar, obj1.Instrument, (IMarketDataProvider)this));
        }
コード例 #17
0
        private void UYL44X1DVX([In] object obj0, [In] BarEventArgs obj1)
        {
            Bar bar = obj1.Bar;

            if (this.MarketDataFilter != null)
            {
                bar = this.MarketDataFilter.FilterBar(bar, obj1.Instrument.Symbol);
            }
            if (bar == null || this.fFo4YUW43X == null)
            {
                return;
            }
            this.fFo4YUW43X((object)this, new BarEventArgs(bar, obj1.Instrument, (IMarketDataProvider)this));
        }
コード例 #18
0
        private void CLc6DHRyV([In] object obj0, [In] BarEventArgs obj1)
        {
            Bar bar = obj1.Bar;

            if (this.MarketDataFilter != null)
            {
                bar = this.MarketDataFilter.FilterBar(bar, obj1.Instrument.Symbol);
            }
            if (bar == null || this.MXBVM8t2I == null)
            {
                return;
            }
            this.MXBVM8t2I((object)this, new BarEventArgs(bar, obj1.Instrument, (IMarketDataProvider)this));
        }
コード例 #19
0
        private void PiIiF8bRq([In] object obj0, [In] BarEventArgs obj1)
        {
            Bar bar = obj1.Bar;

            if (this.MarketDataFilter != null)
            {
                bar = this.MarketDataFilter.FilterBarOpen(bar, obj1.Instrument.Symbol);
            }
            if (bar == null || this.NE3HYAjK2 == null)
            {
                return;
            }
            this.NE3HYAjK2((object)this, new BarEventArgs(bar, obj1.Instrument, (IMarketDataProvider)this));
        }
コード例 #20
0
ファイル: ChartControl.cs プロジェクト: xiechun/SquareOne
        void ChartControl_BarAddedUpdated_ShouldTriggerRepaint(object sender, BarEventArgs e)
        {
            // if I was designing events for WinForms, I would switch to GUI thread automatically
//			if (InvokeRequired) {
//				BeginInvoke(new MethodInvoker(UpdateHorizontalScrollMaximumAfterBarAdd));
//				return;
//			}
            if (this.VisibleBarRight != this.Bars.Count)
            {
                return;                                                         // move slider if only last bar is visible
            }
            this.SyncHorizontalScrollToBarsCount();
            this.InvalidateAllPanelsFolding();
            this.RangeBar.Invalidate();
        }
コード例 #21
0
        private void marketDataProvider_NewBar(object sender, BarEventArgs args)
        {
            FreeQuant.Instruments.Instrument instrument = args.Instrument as FreeQuant.Instruments.Instrument;
            List <StrategyRunner>            list       = (List <StrategyRunner>)null;

            if (!this.instrumentTable.TryGetValue(instrument, out list))
            {
                return;
            }
            foreach (StrategyRunner strategyRunner in list)
            {
                if (strategyRunner.Enabled)
                {
                    strategyRunner.SetNewBar(instrument, args.Bar);
                }
            }
        }
コード例 #22
0
 internal void EmitNewBar(BarEventArgs e)
 {
     this.Bar = e.Bar;
     if (Trace.IsLevelEnabled(TraceLevel.Verbose))
     {
         Trace.WriteLine(string.Concat(new object[]
         {
             "Symbol",
             this.Symbol,
             "Bar",
             this.Bar
         }));
     }
     if (this.NewBar != null)
     {
         this.NewBar(this, e);
     }
 }
コード例 #23
0
 private void OnNewBar(object sender, BarEventArgs args)
 {
     if (!this.isRunning || !this.cbxBars.Checked)
     {
         return;
     }
     this.queue.Enqueue((Action)(() =>
     {
         Instrument local_0 = ((IntradayEventArgs)args).Instrument as Instrument;
         InstrumentRow local_1 = this.instruments[local_0] as InstrumentRow;
         if (local_1 == null)
         {
             return;
         }
         local_0.Add(args.Bar);
         ++local_1.Bars;
     }));
 }
コード例 #24
0
 private void OnNewBarOpen(object sender, BarEventArgs args)
 {
     if (NewBarOpen != null)
     {
         Bar bar = args.Bar;
         if (null != MarketDataFilter)
         {
             Bar b = MarketDataFilter.FilterBarOpen(bar, args.Instrument.Symbol);
             if (null != b)
             {
                 NewBarOpen(this, new BarEventArgs(b, args.Instrument, this));
             }
         }
         else
         {
             NewBarOpen(this, new BarEventArgs(bar, args.Instrument, this));
         }
     }
 }
コード例 #25
0
 private void OnNewBarOpen(object sender, BarEventArgs args)
 {
     if (NewBarOpen != null)
     {
         Bar bar = args.Bar;
         if (null != MarketDataFilter)
         {
             Bar b = MarketDataFilter.FilterBarOpen(bar, args.Instrument.Symbol);
             if (null != b)
             {
                 NewBarOpen(this, new BarEventArgs(b, args.Instrument, this));
             }
         }
         else
         {
             NewBarOpen(this, new BarEventArgs(bar, args.Instrument, this));
         }
     }
 }
コード例 #26
0
ファイル: LotGanttView.cs プロジェクト: yichunbong/CSOT
        public void GanttView_BarDoubleClick(object sender, BarEventArgs e)
        {
            if (e.Bar == null)
            {
                return;
            }

            var dialog = new DetailBarInfoDialog();

            dialog.SetBarInfo(e.Bar as GanttBar);

            dialog.TopMost       = true;
            dialog.StartPosition = FormStartPosition.Manual;

            var myScreen = Screen.FromControl(this);

            dialog.Location = new Point(myScreen.WorkingArea.Left + 24, myScreen.WorkingArea.Top + 24);
            dialog.Text     = "Bar Information";

            dialog.Show(this);
        }
コード例 #27
0
ファイル: DataManager.cs プロジェクト: zhuzhenping/FreeOQ
        private static void OnNewBar(object sender, BarEventArgs e)
        {
            if (Trace.IsLevelEnabled(TraceLevel.Verbose))
            {
                Trace.WriteLine("Bar {0}" + e);
            }
            Instrument instrument = e.Instrument as Instrument ?? InstrumentManager.Instruments[e.Instrument.Symbol, e.Provider.Name];

            if (instrument == null)
            {
                return;
            }
            DataManager.barSeriesList.Add(instrument, e.Bar);
            BarSeries barSeries = DataManager.barSeriesList[instrument, e.Bar.BarType, e.Bar.Size];

            // TODO:HEHEHHE
            if (DataManager.barArrayLength != -1 && barSeries.Count > DataManager.barArrayLength)
            {
                ((TimeSeries)barSeries).Remove(0);
            }
            instrument.EmitNewBar(e);
        }
コード例 #28
0
        private void OnNewBarOpen(object sender, BarEventArgs args)
        {
            if (!this.fProvider.BarFilter.Contains(args.Bar.BarType, args.Bar.Size))
            {
                return;
            }
            SingleOrder singleOrder = this.fOrder as SingleOrder;

            if (singleOrder.OrdType == OrdType.Market)
            {
                this.Process(null, null, args.Bar);
                return;
            }
            if (args.Bar != null && this.fProvider.FillOnBar)
            {
                double open = args.Bar.Open;
                if (open != 0.0)
                {
                    this.StopLimit(open, singleOrder.OrderQty);
                }
            }
        }
コード例 #29
0
        protected virtual void OnNewBar(object sender, BarEventArgs args)
        {
            if (((IntradayEventArgs)args).Provider != this.marketDataProvider)
            {
                return;
            }
            BarViewRow barViewRow;
            bool       flag;

            lock (this.lockObject)
                flag = this.barRows.TryGetValue(((IntradayEventArgs)args).Instrument, out barViewRow);
            if (!flag)
            {
                return;
            }
            if (this.eventQueue.Enabled)
            {
                this.eventQueue.Enqueue(new MarketDataUpdateItem((MarketDataViewRow)barViewRow, (Quote)null, (Trade)null, args.Bar));
            }
            else
            {
                barViewRow.Update((Quote)null, (Trade)null, args.Bar);
            }
        }
コード例 #30
0
ファイル: frmBarChart.cs プロジェクト: tudm/QuanLyHanhChinh
 private void barChart_BarClicked(Object sender, BarEventArgs e)
 {
     //textBoxEvents.Text = String.Format("Click event raised for bar:{0}", e.BarIndex);
 }
コード例 #31
0
ファイル: LotGanttView.cs プロジェクト: yichunbong/CSOT
        public void GanttView_BarClick(object sender, BarEventArgs e)
        {
            if (_gantt.ColumnHeader == null)
            {
                return;
            }

            if (e.Bar != null)
            {
                var bar = e.Bar as GanttBar;

                var modelDataContext = this._result.GetCtx <ModelDataContext>();

                /////////////////////////////////////////////////////////////////////////////
                // Current Arrange 정보 조회
                var currentArrangInfo = from a in modelDataContext.EqpArrange
                                        where a.STEP_ID == bar.StepSeq && a.PRODUCT_ID == bar.ProductID
                                        select new
                {
                    FACTORY_ID = a.FACTORY_ID,
                    SHOP_ID    = a.SHOP_ID,
                    EQP_ID     = a.EQP_ID,
                    //EQP_TYPE = a.EQP_TYPE,
                    //PROCESS_ID = a.PROCESS_ID,
                    PRODUCT_ID  = a.PRODUCT_ID,
                    STEP_ID     = a.STEP_ID,
                    MASK_ID     = a.MASK_ID,
                    ACTIVE_TYPE = a.ACTIVATE_TYPE
                };

                gridControlCurrentInfo.BeginUpdate();
                gridControlCurrentInfo.DataSource = currentArrangInfo;
                gridViewCurrentInfo.BestFitColumns();
                gridControlCurrentInfo.EndUpdate();
                /////////////////////////////////////////////////////////////////////////////
                /////////////////////////////////////////////////////////////////////////////


                /////////////////////////////////////////////////////////////////////////////
                // Next Arrange 정보 조회
                var index = from a in modelDataContext.ProcStep
                            where a.PROCESS_ID == bar.ProcessID
                            //&& a.IS_MANDATORY == 'Y'
                            && a.STEP_ID == bar.StepSeq
                            select a.STEP_SEQ;

                if (index.Single() > 0)
                {
                    var result = modelDataContext.ProcStep.Where(x => x.PROCESS_ID == bar.ProcessID && x.STEP_SEQ > index.Single()).FirstOrDefault();
                    if (result == null)
                    {
                        gridControlNextInfo.DataSource = null;
                        return;
                    }

                    var nextArrangeInfo = from a in modelDataContext.EqpArrange
                                          where a.STEP_ID == result.STEP_ID && a.PRODUCT_ID == bar.ProductID
                                          select new
                    {
                        FACTORY_ID = a.FACTORY_ID,
                        SHOP_ID    = a.SHOP_ID,
                        EQP_ID     = a.EQP_ID,
                        //EQP_TYPE = a.EQP_TYPE,
                        //PROCESS_ID = a.PROCESS_ID,
                        PRODUCT_ID  = a.PRODUCT_ID,
                        STEP_ID     = a.STEP_ID,
                        MASK_ID     = a.MASK_ID,
                        ACTIVE_TYPE = a.ACTIVATE_TYPE
                    };
                    gridControlNextInfo.BeginUpdate();
                    gridControlNextInfo.DataSource = nextArrangeInfo;
                    gridViewNextInfo.BestFitColumns();
                    gridControlNextInfo.EndUpdate();
                }
                else
                {
                    gridControlNextInfo.DataSource = null;
                }
                /////////////////////////////////////////////////////////////////////////////
                /////////////////////////////////////////////////////////////////////////////
            }
        }
コード例 #32
0
ファイル: frmBarChart.cs プロジェクト: tudm/QuanLyHanhChinh
 private void barChart_BarMouseLeave(Object sender, BarEventArgs e)
 {
     //textBoxEvents.Text = String.Format("MouseLeave raised for bar:{0}", e.BarIndex);
 }
コード例 #33
0
        private void YgkFRBfPV0(object obj0, BarEventArgs obj1)
        {
            if (!this.A8bFJItyyx.BarFilter.Contains(obj1.Bar.BarType, obj1.Bar.Size))
            {
                return;
            }
            SingleOrder singleOrder = this.PYBF7sahqY as SingleOrder;

            if (singleOrder.OrdType == OrdType.Market)
            {
                this.Y18FFPmDy5((Quote)null, (Trade)null, obj1.Bar);
            }
            else
            {
                if (obj1.Bar == null || !this.A8bFJItyyx.FillOnBar)
                {
                    return;
                }
                if (singleOrder.OrdType == OrdType.Limit || (singleOrder.OrdType == OrdType.TrailingStopLimit || singleOrder.OrdType == OrdType.StopLimit) && singleOrder.IsStopLimitReady)
                {
                    switch (singleOrder.Side)
                    {
                    case Side.Buy:
                    case Side.BuyMinus:
                        if (obj1.Bar.Low <= singleOrder.Price)
                        {
                            this.D35FmNWSPm(singleOrder.Price, singleOrder.OrderQty);
                            break;
                        }
                        else
                        {
                            break;
                        }

                    case Side.Sell:
                    case Side.SellShort:
                        if (obj1.Bar.High >= singleOrder.Price)
                        {
                            this.D35FmNWSPm(singleOrder.Price, singleOrder.OrderQty);
                            break;
                        }
                        else
                        {
                            break;
                        }

                    default:
                        throw new NotSupportedException("" + ((object)singleOrder.Side).ToString());
                    }
                }
                if (singleOrder.OrdType == OrdType.Stop)
                {
                    switch (singleOrder.Side)
                    {
                    case Side.Buy:
                    case Side.BuyMinus:
                        if (obj1.Bar.High >= singleOrder.StopPx)
                        {
                            this.D35FmNWSPm(singleOrder.StopPx, singleOrder.OrderQty);
                            break;
                        }
                        else
                        {
                            break;
                        }

                    case Side.Sell:
                    case Side.SellShort:
                        if (obj1.Bar.Low <= singleOrder.StopPx)
                        {
                            this.D35FmNWSPm(singleOrder.StopPx, singleOrder.OrderQty);
                            break;
                        }
                        else
                        {
                            break;
                        }

                    default:
                        throw new NotSupportedException("" + ((object)singleOrder.Side).ToString());
                    }
                }
                if (singleOrder.OrdType == OrdType.TrailingStop)
                {
                    switch (singleOrder.Side)
                    {
                    case Side.Buy:
                    case Side.BuyMinus:
                        this.zGRFvN99ge = Math.Min(this.zGRFvN99ge, obj1.Bar.Low + singleOrder.TrailingAmt);
                        if (this.dkuF6t82Gt(obj1.Bar.High, this.zGRFvN99ge, this.j57Fjc16NJ) >= 0)
                        {
                            this.D35FmNWSPm(this.zGRFvN99ge, singleOrder.OrderQty);
                            break;
                        }
                        else
                        {
                            break;
                        }

                    case Side.Sell:
                    case Side.SellShort:
                        this.zGRFvN99ge = Math.Max(this.zGRFvN99ge, obj1.Bar.High - singleOrder.TrailingAmt);
                        if (this.dkuF6t82Gt(obj1.Bar.Low, this.zGRFvN99ge, this.j57Fjc16NJ) <= 0)
                        {
                            this.D35FmNWSPm(this.zGRFvN99ge, singleOrder.OrderQty);
                            break;
                        }
                        else
                        {
                            break;
                        }

                    default:
                        throw new NotSupportedException("" + ((object)singleOrder.Side).ToString());
                    }
                }
                if (singleOrder.OrdType == OrdType.TrailingStopLimit && !singleOrder.IsStopLimitReady)
                {
                    switch (singleOrder.Side)
                    {
                    case Side.Buy:
                    case Side.BuyMinus:
                        this.zGRFvN99ge = Math.Min(this.zGRFvN99ge, obj1.Bar.Low + singleOrder.TrailingAmt);
                        if (this.dkuF6t82Gt(obj1.Bar.High, this.zGRFvN99ge, this.j57Fjc16NJ) >= 0)
                        {
                            double num = singleOrder.StopPx - singleOrder.Price;
                            singleOrder.StopPx           = this.zGRFvN99ge;
                            singleOrder.Price            = this.zGRFvN99ge - num;
                            singleOrder.IsStopLimitReady = true;
                            break;
                        }
                        else
                        {
                            break;
                        }

                    case Side.Sell:
                    case Side.SellShort:
                        this.zGRFvN99ge = Math.Max(this.zGRFvN99ge, obj1.Bar.High - singleOrder.TrailingAmt);
                        if (this.dkuF6t82Gt(obj1.Bar.Low, this.zGRFvN99ge, this.j57Fjc16NJ) <= 0)
                        {
                            double num = singleOrder.StopPx - singleOrder.Price;
                            singleOrder.StopPx           = this.zGRFvN99ge;
                            singleOrder.Price            = this.zGRFvN99ge - num;
                            singleOrder.IsStopLimitReady = true;
                            break;
                        }
                        else
                        {
                            break;
                        }

                    default:
                        throw new NotSupportedException("" + ((object)singleOrder.Side).ToString());
                    }
                }
                if (singleOrder.OrdType != OrdType.StopLimit || singleOrder.IsStopLimitReady)
                {
                    return;
                }
                switch (singleOrder.Side)
                {
                case Side.Buy:
                case Side.BuyMinus:
                    if (obj1.Bar.High < singleOrder.StopPx)
                    {
                        break;
                    }
                    singleOrder.IsStopLimitReady = true;
                    break;

                case Side.Sell:
                case Side.SellShort:
                    if (obj1.Bar.Low > singleOrder.StopPx)
                    {
                        break;
                    }
                    singleOrder.IsStopLimitReady = true;
                    break;

                default:
                    throw new NotSupportedException("" + ((object)singleOrder.Side).ToString());
                }
            }
        }
コード例 #34
0
 private void barChart_BarDoubleClicked(Object sender, BarEventArgs e)
 {
     // textBoxEvents.Text = String.Format("DoubleClick event raised for bar:{0}", e.BarIndex);
 }
コード例 #35
0
 private void barChart_BarMouseLeave(Object sender, BarEventArgs e)
 {
     //textBoxEvents.Text = String.Format("MouseLeave raised for bar:{0}", e.BarIndex);
 }
コード例 #36
0
 // 3e. Define the protected, virtual On method for this event.
 protected virtual void OnBar(BarEventArgs e) {
     m_eventSet.Raise(s_barEventKey, this, e);
 }
コード例 #37
0
 private void OnNewBarOpen(object sender, BarEventArgs args)
 {
     if (NewBarOpen != null)
     {
         NewBarOpen(this, new BarEventArgs(args.Bar, args.Instrument, this));
     }
 }
コード例 #38
0
		private void barFactory_NewBar(object sender, BarEventArgs args)
		{
			this.EmitBar(args.Instrument, args.Bar);
		}
コード例 #39
0
 // 3e. Define the protected, virtual On method for this event.
 private void OnBar(BarEventArgs e)
 {
     m_eventSet.Raise(s_barEventKey, this, e);
 }