Using System Feedback to filter Trades (Turtle Systems)

Discussion in 'Strategy Building' started by Gyles, Dec 20, 2010.

  1. Gyles

    Gyles

    The main concept of this thread is "If it is good enough for the Turtles, then it is also good enough for me"

    The Turtles filtered their system by keeping track of the performance of the last trades. However, that is where the problem lies, as most trading platforms can do this directly. Hence, you need to manage the same yourself.

    I have been doing the above using the capabilities of TradersStudio and shall explain the concept in this thread. Please also note that discussions regarding other software implementations of this concept are also welcome in this thread.
     
  2. Millionaire

    Millionaire


    If i recall correctly the filter was only for the 20 day fast breakout system.

    There was no filter on the 55 day breakout system.

    I presume the reason for the filter on the 20 day system was that it was prone to more false breakouts.

    I read that some of the turtles didnt want to trade the 20 day system anway, they prefered to trade the longer term breakout system only.
     
  3. MGJ

    MGJ

    If it was good enough for the turtles LINK


    [​IMG]
     
  4. Murray Ruggiero

    Murray Ruggiero Sponsor

    Here is a very simple example in tradersstudio showing how to only take a trade if the previous trade was a losing trade. We of course can also filter using the equity curve. I will post that example soon.


    '********************************
    ' Channel Breakout Filtered by Equity of Channel Breakout
    ' This system trades a virtual channel breakout which takes all trades and filters the
    ' performance of the actual live system. It only takes a trade if the previous trade
    ' for the virtual system lost money
    ' TradersStudio(r) copyright 2004-2011, All rights reserved
    Sub ChannelWithFilters(SLen as integer)
    Dim MinMove
    Dim TrProfit
    Dim LowPrice As Double
    Dim HighPrice As Double

    LowPrice=Lowest(Low,SLen,0)
    HighPrice=Highest(High,SLen,0)
    MinMove=GetActiveMinMove()

    ' Take a trade for the virtual system
    VirtualBuy("ChanBuy",1,HighPrice+MinMove ,Stop,Day)
    VirtualSell("ChanSell",1,LowPrice-MinMove,Stop,Day)

    ' If the virtual system has at least two trades
    If VirLiveTradeCount()>2 Then
    ' Trade 0 is the last completed trade, Trade 1 would be two closed trades ago
    TrProfit=VirTradeProfit(0)

    ' If last trade in virtual system lost money then trade a real trade
    If TrProfit<0 Then
    Buy("ChanBuy",1,HighPrice+MinMove ,Stop,Day)
    Sell("ChanSell",1,LowPrice-MinMove,Stop,Day)
    Else
    ' Just exit the old trade and don't start a new one
    ExitLong("XBuyBrk","ChanBuy",1,LowPrice-MinMove,Stop,Day)
    ExitShort("XSellBrk","ChanSell",1,HighPrice+MinMove,Stop,Day)
    End If
    End If
    End Sub
     
  5. kut2k2

    kut2k2

    What is the basis of the graph you posted? It doesn't look real, especially the numbers on the vertical axis.
     
  6. maxpi

    maxpi

    What, he multiplied his money by ten to the twelfth over a few decades... if a system made .3% per day and there were 10,000 trading days and the money was all left in there it does that... it might be a little hard to do when you are trading ten to the fifteenth $ worth of stuff but that is what computers are for...
     
  7. Murray Ruggiero

    Murray Ruggiero Sponsor

    I am sure they are also not limiting the sizing to realistic sizing like less than 5% of total volume for the active contract. When account size gets that high, crazy things can happen which are not realistic.