Daytrading stocks systems


I was just browsing for stocks systems suitable for trading on an account with under $25K, and I realized that I’d be limited by the daytrading rule. You should consider including a tag that tells potential subscribers if a system would be able to be traded without reaching the daytrading limit. The average trade length can help, but sometimes it doesn’t answer the question, and one would have to go through the system’s trading history, trade by trade, to find out. For example, [LINKSYSTEM_31243535] has an average trade duration of 2 days, but it daytrades often and it would not be useful with under $25K.



That’s something I had never thought of. Thanks.

Good idea …

Actually, this was already implemented earlier this year, in the following way:

C2 automatically reviews a strategy’s trade history, and if the day-trading rule is ever triggered, then"Starting Unit Size" (i.e. minimum trading amount for strategy) is set at minimum of $25,000.

I think a tag would be better , i dont think anyone noticed the idea behind the starting capital amount …

Go to C2Explorer, create a query and try this code:

Returns lengths of trades in the format:

var SystemId = 31243535; // A system you are interested in.

TABLE = from trade in C2TRADES
    	where trade.SystemId == SystemId
    	orderby trade.ExitTime - trade.EntryTime 
    	select new {
                TradeLen = trade.ExitTime - trade.EntryTime,
        	Symbol = trade.Symbol,
        	TradeId = trade.Id};


  • Change 31243535 to any other system ID and run the query.
  • The shortest trades are on the top of the table.
  • TradeLen column format: Days.Hours:Minutes:Seconds

Hope it helps.

This query shows all “stocks only” systems not performing intraday trades.

H1 = "Stocks systems not performing intraday trades";

// A set of systems (IDs) performed other instruments trades
var otherInstruments = (from trade in C2TRADES
                        where trade.Instrument != "stock"
                        select trade.SystemId).Distinct();

// Systems not included in the above list are "stocks only" systems
var stocksSystems = (from trade in C2TRADES
                     where !otherInstruments.Contains(trade.SystemId)
                     select trade.SystemId).Distinct().ToArray();

// Select stocks systems having trades shorter than one day 
var intraDay = (from trade in C2TRADES
                (trade.ExitTime - trade.EntryTime).TotalSeconds < 86400
                select trade.SystemId).Distinct().ToArray();

// Select stocks systems not performing intraday trades
var noIntraday = (from trade in C2TRADES
                  select trade.SystemId).Distinct();

// Show systems, names and trades count.
// Get just really trading systems (system.NumTrades > 3)
TABLE = from system in C2SYSTEMS
        where noIntraday.Contains(system.SystemId)
        && system.NumTrades > 3
        orderby system.SystemId
        select new
            ID = system.SystemId,
            Name = system.SystemName,
            NumTrades = system.NumTrades };

I selected only systems with more than 3 trades. Change it to anything else.


Hi Matthew,

I’d also advocate for having a special flag to tag a system is using day trades. In my opinion setting the starting unit size to 25K is not too obvious. In essence it is recommended capital size but to avoid Pattern Day Trading it is a must. Futures and Forex systems don’t fall under Day Trading rules so that is just one more thing to watch for when evaluating Day Trading systems.

Regards, Martin

Related to this are broker requirements. TradeStation, for example, requires a minimum of 30K for daytrading so a cushion is provided to help prevent falling under the regulation 25K. Therefore, a tag would be helpful for those with smaller accounts.

I would add it would be helpful to be able see the current system equity in the grid as well.