Torben Moving Median

Torben Moving Median

Median filtering is a commonly used technique in signal processing. Typically used on signals that may contain outliers skewing the usual statistical estimators, it is usually considered too expensive to be implemented in real-time or CPU-intensive applications.

Let us define the median of N numerical values by:

  • The median of a list of N values is found by sorting the input array in increasing order, and taking the middle value.
  • The median of a list of N values has the property that in the list there are as many greater as smaller values than this element.

Example:

Torben’s method

This method was pointed out by Torben Mogensen.

It is certainly not the fastest way of finding a median, but it has the very interesting property that it does not modify the input array when looking for the median. It becomes extremely powerful when the number of elements to consider starts to be large, and copying the input array may cause enormous overheads. For read-only input sets of several hundred megabytes in size, it is the solution of choice, also because it accesses elements sequentially and not randomly. Beware that it needs to read the array several times though: a first pass is only looking for min and max values, further passes go through the array and come out with the median.

Credits to Fast median search: an ANSI C implementation.

PRT implementation

I have translated that C implementation by N. Devillard of Torben Mogensen algorithm in PRT, obtaining this moving median indicator:

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?

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

  1. yanntorp • 114 days ago #

    Bonjour,
    je souhaiterai savoir comment vous définissez la variable closedbar = t puisque cela me retourne une erreur.
    Merci pour votre aide.

    • Nicolas • 113 days ago #

      Le plus simple est de tĂ©lĂ©charger le fichier itf prĂ©sent sur cette page et de l’importer dans la plateforme, vous aurez ainsi accès Ă  toutes les fonctionnalitĂ©s du code directement.

    • Daniele Maddaluno • 113 days ago #

      Le closedbar est simplement une variable de type boolean, et = t signifie qu’il est Ă©gal Ă  true (c’est-Ă -dire checked box, 1).
      Cependant, il est beaucoup plus rapide d’importer le fichier “.itf”, comme l’a suggĂ©rĂ© Nicolas.

      The closedbar is just a variable of type boolean, and = t means it is equal to true (i.e. a checked box, 1).
      However, it is much faster to import the “.itf” file, as Nicolas suggested.

  2. yanntorp • 110 days ago #

    merci pour vos réponses et le partage de ce code. Cela fonctionne très bien.

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar
Related users ' posts
Emperor.it "style(line,2)" C'è una guida ai parametri che si possono modificare ? Tipo stile della lin...
IV Mcm https://www.prorealcode.com/programming-with-prorealtime/
Nicolas c'est plus une méthode de contournement que l'utilisation réelle du timeframe monthly.
Manu L. Mais est-il possible de programmer en TF monthly alors que PRT propose max weekly ?
Nicolas c'est très complexe dans ProScreener et différent pour chaque code, peut être dans sa procha...
Juan Gonzalez Que buen contenido! No tienes alguno que me permita operar Order Flow? Gracias
jissey Bjr Nicolas, merci pour cet indicateur interessant, mais en le recopiant pour creer un progr...
Nicolas Il doit s'agir d'un mauvais copier/coller. Je suggère de télécharger le fichier itf contenu ...
XXXXVII Fixed ITF Trend Background //Indicateur CCI ID2 = CCI[50] => 60 ID3 = CCI[100] => 60...
Sanglier thanks ! i have been looking forward to find something like this
Screw27 Hi man, I installed the indicator and i don't know why but my graph it is so big
HelixKing sounds interesting I'll take a look
Godo Bonjour Souhait Sam, Après de nombreux essais pour le mettre en format afin d'utiliser ce c...
Nicolas Il faut supprimer celles qui existent dans la fenêtre d'optimisation et les créer en dur dan...
crusoe76 hi there, anyone can help making this strategy work, i have a message saying replace variabl...
Screw27 Salut nicolas j'aimerais savoir tes résulats grace a cettte methode
eva.g.forsgren It dose not work, I get a strap instead of candels???????????????????????????????????????????
Nicolas That indicator is the one below the chart. The indicator to put on the price chart is this o...
pyhrus Pourriez-vous nous proposer une version adaptée pour PRT V13.0 , ou nous préciser les instr...
pyhrus Erratum : je veux parler de la version V10.3 , bien sur ...
pyhrus P.S : IG , que j'ai contacté ,m'indique que la version V11 , ne sera pas disponible avant un...
Nicolas Bien sûr, pourquoi pas ?
ribes65 Bonjour Nicolas, Merci pour votre travail. Est-il envisageable de créer un screener pour ...
Nicolas Bien sûr, merci de formuler une demande dans le forum des screeners pour prorealtime. En res...
Vinks_o_7 Vonasi you're a beast !!! ;-)))
pableitor Amazing indicator , you are pushing PRT to the limit! But looking at the scatter its not c...
Nicolas Poni qui la tua domanda se è correlata a questo indicatore, altrimenti apri un nuovo argomen...
PhilipSchultz Hi Nicolas, can i backtest this indicator? And if so, how do i do it? I have tried, but don´...
Nicolas Sure, use the forums to create a new topic to ask for it Please respect the posting rules ...
Nicolas How to import file page: in the help section of the website explains howto
kenssa import through the indicator page/window in the Proreal time
chicoteca Buenas, no consigo que se me muestre en el chart de DAX. ÂżCĂłmo procedo? Gracias.-
Bard Excellent job Vonasi, thanks very much for updating and improving your previous indicator.
Gianluca sorry but doesnt work like you posted
Vonasi You would need to let me know the exact instrument and time frame that you are trying to app...
Filoutube Dear Jan, Thanks for your great work. I just tested the code and manage to follow the whol...
Filoutube https://postimg.cc/1fcBLjJj
Filoutube Found the needed correction, just send the 2 Defparam lines at the very begining of the code...
Stockastiss Can this code be simply transferred into Backtestingcode so one doesnt need to use call ? (i...
Vonasi Sorry for the late reply. Add the code to your strategy and remove line 5 and line 39. Chang...
leofi https://www.prorealcode.com/topic/simple-average-with-visual-color/
leofi Go visit www.prorealcode.com/topic/simple-average-with-visual-color/ and watch 2em post
Dritan Hi,I am new on Prorealtime and coding.I downloaded the indi but I have it on a separate wind...
Nicolas You should open a new topic to discuss about the strategy and its coding.
dvlukic Hello Nicolas, How could plot this indicator over the price series? Thanks Dave
Nicolas Just add it on the price series.

Top