Simple System for Beginners Monthly Results

Discussion in 'Strategy Building' started by AnomalyResearch, Sep 30, 2004.

  1. Date Entry Exit P/L(less commission) Trade

    1 556.50 556.50 5.00- Long
    2 558.50 564.20 565.00 Long
    3 559.70 559.20 45.00 Short
    7 566.80 566.90 5.00 Long
    8 563.30 562.00 125.00 Short
    9 564.20 566.00 175.00 Long
    10 567.70 569.80 205.00 Long
    13 573.10 572.50 65.00- Long
    14 570.20 571.40 125.00- Short
    15 568.10 567.80 35.00- Short
    16 574.20 573.70 55.00- Long
    17 572.70 572.30 35.00 Short
    20 572.30 571.00 135.00- Long
    21 575.20 577.00 175.00 Long
    22 567.30 565.20 205.00 Short
    24 568.90 566.30 265.00- Long
    27 561.10 558.60 245.00 Short
    28 562.20 565.80 355.00 Long
    29 569.70 571.00 130.00 Long
    30 572.70 572.10 65.00- Long

    NET $1,570.00
     
  2.  
  3. This is not a comment on how good/bad the system is. Simply the EL code and the results I obtained. My data is from CME's official T&S files, that I extract with a perl script. This data used is back adjusted. The latest contract obviously isn't adjusted, but still deviates from the results posted by AnomalyResearch.

    Let me know if anyone disagrees with my data / code. Although the data for september / earlier is adjusted, and *would* have different entry / exit prices, the *net results in a given day are guaranteed to be the same*.

    Commission is $4.80 r/t. Slippage is $5 to get in, $5 to get out. In effect, I am betting I would, on average get a hit of one tick on half my transactions. This is very close to what I actually see trading mechanical systems on ER2.

    Enjoy! :)





    EL Code:

    Code:
    {********************************************************************************
    * Tested working with ts2000i. Needs modification for TS 7/8 etc.
    * Use on 1 min bars (Not necessary - I just coded this on 1 min bar
    ********************************************************************************}
    input:
    	{All times in CST}
    	ETime(1300),
    	CtxToTrade(1),
    	MaxEntriesInADay(1), LastEntryTime(1459), EODExitTime(1500);
    
    var:
    	BuyStop(0), SellStop(0);
    		
    {*******************************************************************************}
    if(Date <> Date[1]) then
    begin
    	BuyStop = 0;
    	SellStop = 0;
    end;
    
    {***Entry***********************************************************************}
    if(Time = ETime) then
    begin
    	{Round down to nearest valid tick - this needs to be changed for
    	 contracts that doesn't trade in 0.1 tick interval, of course}
    	BuyStop = floor((OpenD(0) * 1.0033) / 0.1 + 0.5) * 0.1;
    	SellStop = floor((OpenD(0) * 0.9967) / 0.1 + 0.5) * 0.1;
    end;
    
    if(MarketPosition = 0 and Time <= LastEntryTime 
    and EntriesToday(Date) < MaxEntriesInADay and BuyStop <> 0 
    and SellStop <> 0) then
    begin
    	Buy ("LE") CtxToTrade contracts next bar at BuyStop stop;
    	Sell ("SE") CtxToTrade contracts next bar at SellStop stop;
    end;
    
    {***Stop************************************************************************}
    if(MarketPosition = 1) then
    	ExitLong("LX") CtxToTrade contracts total next bar at SellStop stop
    else if(MarketPosition = -1) then
    	ExitShort("SX") CtxToTrade contracts total next bar at BuyStop stop;
    
    {***EOD Exit********************************************************************}
    if(Time = EODExitTime) then
    begin
    	if(marketposition = 1) then
    		ExitLong ("EODLX") next bar at market
    	else if(marketposition = -1) then
    		ExitShort ("EODSX") next bar at market;
    end;
    
    SetExitOnClose;
    
    

    ===============

    =====Monthly=====
    May ($1,256.00)
    June $1,249.20
    July ($556.40)
    August $2,654.40
    September 784.00
    October 405.20 (till today; day not over yet)
    ===============

    =====Trades=====
    See attached spreadsheet
    ===============
     
  4. Nice job. I enjoyed looking at the spreadsheet.
     
  5. Are you accounting for stops?? Looking at the spreadsheet it looks like it is ignoring the rules put forth. For example, the day of the largest drawdown (in your spreadsheet) 5/12/2004 you state that the short signal was entered at 531.50 so the stop would be ruffly in the 535 area (long signal) yet your exit was way past the stop at 544.90 resulting in a huge loss. Using the parameters in the system the largest loss should be capped to around 3.8 pts max (not accounting for slippage) this figure is the total range between the two signals respectively. Please explain those results, maybe I am missing something here, thanks. :)
     
  6. There is no stop after you enter the position. The stops are only to enter. On 05/12, Open was 543.10. So the sell stop was at about 541.30. But we enter the position only after 1300 CST. So the entry was 532 ish. After entry, there is no stop. There is no cap for losses - none. According to the rules anyways..

    Review the system rules, and it would be clear.

    BTW, I didn't put together the spreadsheet by hand - it's what TradeStation spits out. But it should be alright, mostly.

    I am not aware of any bugs in my coding.

    If anyone haven't guessed already, it's a very good base for a workable system. I have modified it a bit, which goes live with a few contracts next month. But I wouldn't trade this as is. What you have here is a set of rules. A set of rules is not a strategy. If you modify this rules to something you can live with + put in money management, and make sure it complements your other systems, that is something you can call a "system" :)
     
  7. ewile

    ewile

    Interested to see the results for October. Looks like the last two days were losses.
     
  8. Perhaps you need to review the rules.

    "The remaining unexecuted stop is your stop loss."

    :)
     
  9. Sigh... that's what you get posting at dead of night... I need more sleep. You are right, and my code posted earlier in this thread reflects that. My code & posted results are right, but my post on 10/28 night re:stops is wrong.

    My apologies.
     
    #10     Oct 29, 2004