PDA

View Full Version : resetting flag at end of day or a certain time of day


sauer11155
09-22-2008, 12:05 PM
I have a flag condition with my strategy. Can I have this flag reset at for instance 1.55pm if I wanted? Or when backtesting, can I have it reset in the am? This way I would only do one trade either for the whole day or perhaps up until 1.55pm.

Thanks

NinjaTrader_Ben
09-22-2008, 01:14 PM
Hello,

I'm not sure what you mean by "flag". Do you mean a flag price formation or something that signals/flags you to place a discretionary trade?

Either way, what you probably want to to is monitor your strategy via time. You can do this by building a condition usging ToTime(Time[0]). This link will help with this:
http://www.ninjatrader-support.com/vb/showthread.php?t=3226

sauer11155
09-22-2008, 01:35 PM
// Condition set 1
if (Close[0] < SMA(SMA200period)[0] && (Position.MarketPosition == MarketPosition.Flat)
&& CrossAbove(SMA(5), SMA(SMA20period), 1))
AFlag = true;


{
if (Close[0] < SMA(SMA200period)[0] && (CrossBelow(Stochastics(PeriodD, PeriodK, Smooth).K, TopLine, 1)
&& AFlag == true))

{
EnterShort(Entry2target, "Entry2TargetSIGNALNAME");
EnterShort(Entry8target, "Entry8TargetSIGNALNAME");
AFlag = false;
}

}

Sry, I mean the way I use "AFlag" in this code. I have the Aflag be reset after an order is taken. I was just wondering if I could have that flag reset with a time based parameter, like either at the end of the day, or a specific time of day.

NinjaTrader_Ben
09-22-2008, 01:47 PM
Hello,


Perhaps you mean a bool toggle for when it is time to trade and when it is not time to trade?

If so you will want to use the same concepts illustrated in the link but perhaps do it in this way:

bool do_not_trade = false;

if(ToTime(Time[0]) > 131500)
{
do_not_trade = true;
}

if(do_not_trade == false)
{
//some other conditions and place orders here
}

Note: the code above does not reset the toggle. You will want to build a condition to reset it back from true to false. So you might want to use something like this:

if(Bars.FirstBarOfSession) //resets it at the start of the new session
{
do_not_trade = false;
}

sauer11155
09-22-2008, 05:29 PM
if(Bars.FirstBarOfSession) //resets it at the start of the new session

What exactly is the start of a new session, is this the next time I open the program, or is it based on my strategy settings such as the period of time I am running the strategy? TY

NinjaTrader_Josh
09-23-2008, 08:30 AM
Sessions are defined by the time settings of your chart or strategy. The start time you define will dictate when Bars.FirstBarOfSession evaluates to true.