Dynamic Time Oscillator

Dynamic Time Oscillator

1. Introduction to the Dynamic Time Oscillator

The Dynamic Time Oscillator (DTO) is a technical analysis tool designed to provide a richer and more dynamic view of market momentum. It combines the Relative Strength Index (RSI) and the Stochastic RSI, but introduces an additional dimension: a comparison between two different timeframes. This multi-timeframe approach makes DTO an advanced oscillator, ideal for both intraday traders and swing traders aiming to anticipate significant trend changes.

Unlike traditional oscillators that operate only within the current chart timeframe, the Dynamic Time Oscillator also computes a Stochastic RSI on a higher timeframe (e.g., daily). This broader perspective helps filter out false signals and improves the timing of trading decisions.

Additionally, the DTO displays the momentum direction of the higher timeframe using a color-coded histogram, offering immediate visual insight into the underlying strength of the market.

2. How the Indicator Works

The Dynamic Time Oscillator performs a dual-layer momentum analysis using the Stochastic RSI on both the current and a higher timeframe. This setup allows it to detect divergences and confirm movements with greater reliability.

Calculation on the Higher Timeframe

First, the DTO switches to a higher timeframe (default: daily) to compute an RSI over a user-defined period. This RSI is then normalized into a Stochastic RSI, which is smoothed with two moving averages: a fast line (%K) and a slow line (%D). The resulting %K value is displayed as a histogram.

This histogram is dynamically colored depending on the crossover between the two smoothed lines: green when %K is above %D (bullish bias), and red when it is below (bearish bias).

Calculation on the Current Timeframe

At the same time, the indicator performs the same RSI and Stochastic RSI calculations on the current chart’s timeframe, using user-defined parameters and smoothing values. These values are plotted as two separate lines (default: blue for %K, purple for %D) to help identify overbought or oversold conditions in the short term.

Combined Interpretation

The strength of this indicator lies in its comparative approach: the histogram reflects the broader trend on a higher timeframe, while the stochastic lines on the current timeframe help pinpoint precise entry or exit points. When both signals align (e.g., green histogram and bullish %K crossover), the trading setup gains higher confidence.

3. Indicator Settings

The Dynamic Time Oscillator allows customization of various parameters for both timeframes, making it adaptable to different trading styles and instruments.

Available Parameters

Current timeframe:

  • intRSIPeriod: RSI period (default 13). Controls sensitivity to price movements.
  • intStochPeriod: Stochastic RSI period (default 8). Defines the range for RSI normalization.
  • intSmoothK: Smoothing for the fast %K line (default 5).
  • intSmoothD: Smoothing for the slow %D line (default 5).

Higher timeframe:

  • boolMTFUse: Enables or disables multi-timeframe overlay. Set to 0 to hide histogram.
  • intHTFRSIPeriod: RSI period for the higher timeframe (default 13).
  • intHTFStochPeriod: Stochastic RSI period for the higher timeframe (default 8).
  • intHTFSmoothK: Smoothing for higher TF %K line (default 5).
  • intHTFSmoothD: Smoothing for higher TF %D line (default 5).

Practical Recommendations

  • For scalping or intraday trading, consider a 5 or 15-minute chart with an hourly or 4-hour higher timeframe.
  • For swing trading, a 1-hour chart with a daily higher timeframe is a common setup.
  • Horizontal levels at 25 and 75 serve as overbought and oversold thresholds. Crosses of these levels, especially when confirmed by histogram direction, can act as signal triggers.

4. Indicator Code for ProRealTime

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

avatar
Register or
Related users ' posts
Bebbo Grazie del prezioso contributo Nicolas, scusa la mia inesperienza, sono alle prime armi e s...
Nicolas To avoid recalculation, you should use the one from this post.
Bebbo Ok Grazie Nicolas.
bolsatrilera
7 years ago
jissey Bonjour Bolsatrilera, je trouve le cm rsi interessant, merci de l'avoir mis à disposition ! ...
bolsatrilera bonjour jissey, je n'ai aucune information sur ce que tu dis, je suis désolé.
ALE Hi the color is given by a numerical value derived from the oscillator in use. If you comp...
efahmy Thanks mate
Jo-01-R Hello, it is possible to have this indicator but instead of colors rather have numbers rangi...
Nicolas
7 years ago
enricot Scusa nn riesco.
SoloContado If you smooth the signal using a "summation" function, you get a nice "crossing of 0" graph....
ShaunG Greatly appreciated Nicolas!
Etienne Hi, thanks for proving this code. I would like to contribute by adding a computation speed...
Etienne //Compute Super Smoother coefficients once if barindex = 1 then a1 = exp( -1.414 * 3.14159...
Nicolas Thanks a lot!
ak5hay2 Works like crazy on bitcoin. Use different timeframes. Thanks a lot Doc!!!
richyowen Hi, great code thanks. Very new to this forum. Is there a way to add a 100point target on an...
lisamitch50 Morning all, Just backtested on quite a few instruments, worked well on backtesting, but tel...
Matriciel
7 years ago
Alai-n Thanks...
Bard Thanks for sharing this Verdi55. More instructions from Larry Williams website (and a fea...
Nicolas
7 years ago
Jurik RSX
v10.3
Jurik RSX
3
Indicators
hartgeld Hallo Nicolas, ein sehr guter Indikator, vielen Dank! Leider rechnet er bei mir nicht die Pe...
rigel Hi Nicolas, have you coded the Jurik alone (as Mov. average)?
Nicolas 2 versions available in this indicator: https://www.prorealcode.com/prorealtime-indicators/a...
AG1 Thanks Nicolas Still a problem in line 29 Please take a look. thanks again Alex
Nicolas code is modified in the above post, use that one.
AG1 Still a problem in line 29 Please take a look. thanks again Alex
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...
MaoRai54 Hi, first of all Happy New Year. Well, I've inserted your indicator in DAX 1h but I cann...
Vinks_o_7 Hi Mao Happy New Year ! This is just an improved RSI where you plot a standard price momen...
Angel Perez Ciao Francesco. First of all thanks for the indicator and also fro the screener. I do have a...
PSIDIO Ciao to you all, I also have a question and would be very happy for a helpful comment. I a...
SpreadBetMH Hi there, I have V11.1. I get the Indicator but no Arrows on the price. Kind Regards...
Alai-n Ciao Francesco, sei ancora in giro?
Metodi97 This indicator is great but can someone create strategy based on the same indicator it will ...
Nicolas
7 years ago
TradeNavigator RSI
TradeNavigator RSI
10
Indicators
Nicolas Tutte le impostazioni che hanno la parola "period" sono quelle dedicate ai periodi di cambio...
GianfrancoCeck Le chiedo una ultima cosa, ossia se è possibile personalizzare l'indicatore con una scritta ...
Nicolas Spiacente che non sia possibile, le coordinate grafiche non sono in pixel ma nel prezzo e ne...
Nicolas Your picture is too small, but for sure the problem is about the fact you are still using v1...
Rory Dryden Thanks. This looks useful.
Edelmiro Un millón... de gracias... me gustaría más, poder ofrecer euros; pero va a ser que no puedo,...
Jessar Hello, could you tell me how to use this indicator? I think the simplest things can still be...
Mirko Vaglio Interesting idea to bypass the limit of PRT about multiple timeframe, and I am just trying t...
Mirko Vaglio Looking a little bit more, now I understand what had to be absolutely obvious from the first...
Seb nice code! I'm trying to use your method to do a higher timeframe EMA, without success yet. ...

Top