Adapting to market conditions

Discussion in 'Strategy Development' started by masterm1ne, Apr 30, 2012.

  1. I'm attempting to use a logical approach in the case that the market changes, obviously in order to protect myself from losing even more than I already have (~$50k loser right now).

    I have a trading strategy around 70% with 2 pnt target, 2 pnt stop. I am trying to figure out how to "adapt" should the market "change."

    So there are several bases to consider:

    1. Ticks: Well I use a tick chart. Therefore, it seems logical to take the current average daily 'tick' value, divide by an arbitrary number to come up with my intraday timeframe: ex. There are 10,000 ticks per day in market X, so if I divide by 100, my intraday timeframe is 100. Therefore, if the # of ticks per day changes by a certain degree, I have a new intraday timeframe, and I can 'adapt.'

    Of course there is also:
    2. Average daily point range or average true range. (I am thinking of using changes in range or volatility in order to 'adapt' my strategy inputs).
    3. Average daily volume.

    I have a feeling I can still get whacked. Any insight???
  2. Why not make vol candles from your tuck data to have 100 equal volume candles?
  3. jcl


    The tick frequency is maybe not very significant. Do you get it from your broker? It then depends more on the broker's trade volume, than of the trade volume of the asset.

    I have compared the FXCM tick frequency with the global trade volume of the same asset and found little correlation.

    Usually volatility, f.i. ATR, works well for adaption to short term market changes. A more serious problem are the long term market changes.

    But if a system loses $50K, I would not worry at first about market adaption, but asking more fundamental questions, such as - has the backtest predicted a $50K loss? If not, why not? Do I use a wrong test method, f.i. in-sample? Does the system have a software bug, i.e. different behavior in testing and trading?
  4. I assume you wrote this because volume is more accurate accross brokers/exchanges? Thanks, hadn't thought about that.

    The $50k I have lost has not been by trades following this system. Very good points, thanks. Yes, it seems like daily point range is more important than volume or share. It seems that one should simply adjust their tick/volume bar setting based off of the ATR.

    I guess I'll have to work on some correllation. I'm sure there are more ticks and volume when the ATR is high, and the opposite is true for low ATR days.
  5. Well using volume candles helps to filter out moves that happen on insignificant volume without the complications of trying to correlate the volume indicator with whatever other indicator you're using.
  6. Right, but how is using volume bars any different than using tick bars...? It's the same principle, as you are filtering bars by trades completed rather than over time. My main problem is making sure that if the market changes I will know how to change.

    I guess it just boils down to low ATR, low tick/volume bar setting. If ATR increases then use higher tick/volume bar setting.
  7. dom993


    I have developed many (automated) trading systems, mostly based off price-action (swing H/L), using range chart and volume charts. I never had any reasonable resiliency to market noise & volatility changes, until I started to use price, time & volume all together to identify these swing H/L.

    I have to admit, for years I underestimated the importance of time, which is pretty much the only "constant" from one day to the next.
    Adding time-based conditions to the definition of your setups might help.
  8. Yes, I have noticed how critical time and timing are in trading.

    I'm sure a simple indicator showing intervals of X minutes in a will help keep track of time if using share/tick/range bars. Mind sharing how you calculate time using range and volume bars? I have come to the realization that usually, the more time you add to a patern, the more valid it is.

    //written in EasyLangauge - creates an oscillator that switches from 1 to -1 every time 5 minutes passes
    RefTime = T;
    CurrentTimeMinusMinuteChange = CalcTime(RefTime,-MinuteChange) //The CalcTime function adds and subtracts minutes from a reference time
    If T >= CurrentTimeMinusMinuteChange[1] then
    OscVal = OscVal + 1;
    If T >= CurrentTimeMinusMinuteChange[2] then
    OscVal = OscVal - 1;
    plot1( OscVal, "Min Interval" , IntervalColor, line);
    Didn't test it :0
  9. dom993


    Very easily, actually ... I keep track of the bar# for each pivot, from that I can retrieve not only all information that pertains to that pivot bar (including its timestamp), but also a great variety of information re. what happened since last pivot, or in-between pivots (elapsed time, cumulative volume, Highest High/Lowest Low).

    Of course, the timestamp is the bar Last price timestamp, which is always different from the actual 1st-print (or last-print) of the pivot price, but using a reasonably small timeframe (I am now on 100-volume for CL), the difference doesn't impact much the system performance (I concluded that after doing detailed replay using actual 1st-/last-hit timestamps as a comparison)(I prefer using the bar Last price timestamp as it gives exact same setups in "end-of-bar" backtesting & real-time execution).