コード例 #1
0
        public void CheckTradeEvent()
        {
            int en_H = TM_OpenEndH, en_M = TM_OpenEndM, ex_H = TM_ClosingH, ex_M = TM_ClosingM;

            //entry at 9:02 am ct
            if (IsCutoffTime(BarsInProgress, en_H, en_M))
            {
                Print(String.Format("{0}:CheckTradeEvent En Bip{1}: PctSpd={2}, MaxBip={3}, MinBip={4}",
                                    CurrentBars[BarsInProgress], BarsInProgress, PlotPctSpd[0], PctChgMaxBip, PctChgMinBip));

                IndicatorSignal isig = new IndicatorSignal();
                Direction       dir  = new Direction();
                //			Print(String.Format("{0}: [{1}] Non-CutoffTime {2}: MaxBip={3}, %Max={4}, MinBip={5}, %Min={6}, %Spd={7}",
                //				CurrentBar, Time[0], GetLongShortText(),
                //				PctChgMaxBip, PctChgMax[0], PctChgMinBip, PctChgMin[0], PlotPctSpd[0]));

                if (PctChgMaxBip != PctChgMinBip)
                {
                    if (PlotPctSpd[0] > 0)
                    {
                        dir.TrendDir    = TrendDirection.Up;
                        isig.SignalName = SignalName_EntryOnOpenLong;
                    }
                    else if (PlotPctSpd[0] < 0)
                    {
                        dir.TrendDir    = TrendDirection.Down;
                        isig.SignalName = SignalName_EntryOnOpenShort;
                    }
                }
                else
                {
                    return;
                }

                isig.BarNo               = CurrentBars[BarsInProgress];
                isig.TrendDir            = dir;
                isig.IndicatorSignalType = SignalType.SimplePriceAction;
                IndicatorEventArgs ievt = new IndicatorEventArgs(this.GetType().Name, String.Format(" [{0}] {1}", Times[BarsInProgress][0], GetLongShortText()));
                ievt.IndSignal = isig;
                //FireEvent(ievt);
                OnRaiseIndicatorEvent(ievt);
            }
            else if (IsCutoffTime(BarsInProgress, ex_H, ex_M))
            {
                Print(String.Format("{0}:CheckTradeEvent Ex Bip{1}: PctSpd={2}, MaxBip={3}, MinBip={4}",
                                    CurrentBars[BarsInProgress], BarsInProgress, PlotPctSpd[0], PctChgMaxBip, PctChgMinBip));

                IndicatorSignal isig = new IndicatorSignal();
                Direction       dir  = new Direction();
                //			Print(String.Format("{0}: [{1}] Non-CutoffTime {2}: MaxBip={3}, %Max={4}, MinBip={5}, %Min={6}, %Spd={7}",
                //				CurrentBar, Time[0], GetLongShortText(),
                //				PctChgMaxBip, PctChgMax[0], PctChgMinBip, PctChgMin[0], PlotPctSpd[0]));

                dir.TrendDir    = TrendDirection.UnKnown;
                isig.SignalName = SignalName_ExitForOpen;
//				if(PlotPctSpd[0] > 0) {
//					dir.TrendDir = TrendDirection.Up;
//					isig.SignalName = SignalName_ExitForOpen;
//				} else if(PlotPctSpd[0] < 0) {
//					dir.TrendDir = TrendDirection.Down;
//					isig.SignalName = SignalName_ExitForOpen;
//				} else
//					return;

                isig.BarNo               = CurrentBars[BarsInProgress];
                isig.TrendDir            = dir;
                isig.IndicatorSignalType = SignalType.SimplePriceAction;
                IndicatorEventArgs ievt = new IndicatorEventArgs(this.GetType().Name, " CheckTradeEvent Ex: ");
                ievt.IndSignal = isig;
                //FireEvent(ievt);
                OnRaiseIndicatorEvent(ievt);
            }
        }
コード例 #2
0
        public void CheckTradeEvent()
        {
            int en_H = TM_OpenEndH, en_M = TM_OpenEndM, ex_H = TM_ClosingH, ex_M = TM_ClosingM;

//			Print(String.Format("{0}:CheckTradeEvent Bip{1}: en_H={2}, en_M={3}, ex_H={4}, ex_M={5}",
//				CurrentBars[BarsInProgress], BarsInProgress, en_H, en_M, ex_H, ex_M));

//			if(IsCutoffTime(BarsInProgress, ex_H, ex_M)) {
            if (PrintOut > 1)
            {
                Print(String.Format("{0}:CheckTradeEvent Ex Bip{1}: Spread={2}, HiNear={3}, LowNear={4}, HiMiddle={5}",
                                    CurrentBars[BarsInProgress], BarsInProgress, Spread[0], HiNear[0], LowNear[0], HiMiddle[0]));
            }

//				IndicatorSignal isig = new IndicatorSignal();
//				Direction dir = new Direction();

//				dir.TrendDir = TrendDirection.UnKnown;
//				isig.SignalName = SignalName_ExitForOpen;
//				isig.BarNo = CurrentBars[BarsInProgress];
//				isig.TrendDir = dir;
//				isig.IndicatorSignalType = SignalType.SimplePriceAction;
//				IndicatorEventArgs ievt = new IndicatorEventArgs(this.GetType().Name, " CheckTradeEvent Ex: ");
//				ievt.IndSignal = isig;
//				OnRaiseIndicatorEvent(ievt);
//			}
//			else            //entry at 9:02 am ct, if(IsCutoffTime(BarsInProgress, en_H, en_M))
//			{
//				Print(String.Format("{0}:CheckTradeEvent En Bip{1}: Spread={2}, Upper={3}, Lower={4}, Middle={5}",
//				CurrentBars[BarsInProgress], BarsInProgress, Spread[0], Upper[0], Lower[0], Middle[0]));

            IndicatorSignal isig = new IndicatorSignal();
            Direction       dir  = new Direction();

            if (IsSpreadBreakdown())
            {
                dir.TrendDir    = TrendDirection.Up;
                isig.SignalName = SignalName_BelowStdDev;
            }
//				else if(Spread[0] <= LowerMin[0]) {
//					dir.TrendDir = TrendDirection.Up;
//					isig.SignalName = SignalName_BelowStdDevMin;
//				}
            else if (IsSpreadBreakout())
            {
                dir.TrendDir    = TrendDirection.Down;
                isig.SignalName = SignalName_AboveStdDev;
            }
            else
            {
                dir.TrendDir    = TrendDirection.UnKnown;
                isig.SignalName = "UnKnown";
            }
//				else if(Spread[0] >= UpperMin[0]) {
//					dir.TrendDir = TrendDirection.Down;
//					isig.SignalName = SignalName_AboveStdDevMin;
//				}

            isig.BarNo               = CurrentBars[BarsInProgress];
            isig.TrendDir            = dir;
            isig.IndicatorSignalType = SignalType.SimplePriceAction;
            IndicatorEventArgs ievt = new IndicatorEventArgs(this.GetType().Name, String.Format(" [{0}] {1}", Times[BarsInProgress][0], GetLongShortText()));

            ievt.IndSignal = isig;
            //FireEvent(ievt);
            OnRaiseIndicatorEvent(ievt);
//			}
        }