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); } }
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); // } }