MarketProfileLive

MarketProfileLive

Market profile indicator for the ProRealTime trading platform, designed to analyze and display the distribution of trading activity over the current day. It calculates the market profile by examining the price levels at which trading activity occurs and highlights areas of high and low activity. This script employs several key features:

  1. Dynamic Range Calculation: It calculates the highest and lowest price levels within a specified period, adjusting dynamically as new data comes in.
  2. Volume Analysis: The script assesses the volume of trades at different price levels, identifying areas with significant trading activity. This feature uses an array to track the number of touches (i.e., instances where the price hits a specific level) to determine the most traded price levels (MaxTouch1 and MaxTouch2).
  3. Standard Deviation and Center Line (CL): It computes the standard deviation of prices to determine the volatility around the mean price level, along with the center line, to outline the Value Area High (VAH) and Value Area Low (VAL).
  4. Visualization Enhancements: The script uses rectangles and text annotations to visually represent the market profile, including the opening (O) and closing (C) prices, VAH, and VAL. It also highlights the highest and lowest prices reached within the session and marks specific periods of interest, such as the Asian session or periods of imbalance.
  5. Customizability: Parameters such as the period for calculations, ATR (Average True Range) for volatility assessment, and specific session times are customizable, allowing traders to adapt the indicator to their specific needs.

This indicator is particularly useful for traders who rely on volume profile analysis to make informed decisions, offering insights into where and how much trading activity is occurring at different price levels. It helps identify key support and resistance levels, areas of consolidation, and potential price movement directions based on historical trading activity.

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

  1. Ciccarelli Franco • 273 days ago #

    Sembra molto interessante e volevo dei chiarimenti se possibile :Le righe commentate vanno lasciate cosi come sono? Potresti inoltre spigare le funzioni delle varie linee?
    Grazie

  2. KumoNoJuzza • 233 days ago #

    Thank you @philippe59139 !! We finally have the VAL / VAH to play with.
    Could you attach the screenshot in higher resolution ? Merci 🙂

  3. yanntorp • 204 days ago #

    Merci @pilippe59139 pour le travail que vous partagez. Vos programmes sont vraiment au top.

  4. Razz • 164 days ago #

    Bonjour
    Je pense que votre indicateur est très bon. Serait-il possible d’afficher la heatmap sur le côté droit ?
    Merci de partager cet indicateur avec nous.

    • philippe59139 • 164 days ago #

      if marketEtHeamap=1 then

      drawtext(“#touch#”,barindex+10,checkprice,SansSerif,Standard,10) coloured(110,110,110)
      drawtext(“████”,barindex+10,checkprice) coloured(r,0,0,alpha)
      if step>5 then

      endif
      drawrectangle(barindex[cont]-touch/(dist),checkprice-step/2,barindex[cont],checkprice+step/2)coloured(0,r,130,alpha)bordercolor(200,r,0,10)
      endif

      if touch<=1 then
      drawrectangle(barindex+5,checkprice-step/2,barindex[cont],checkprice+step/2)coloured(110,110,110,alpha)bordercolor(200,r,0,10)
      endif

      checkprice=checkprice+step //increase price check for next round
      ind=ind+1 //increase array index
      wend

      DrawText("#cont#",Barindex[cont+1]+10,hh+atr,Dialog,Bold,30) coloured(0,0,0,250)

      DRAWsegment(barindex, MaxTouch2, Barindex[cont], MaxTouch2) coloured(r,0,150,250)style(line,3)
      DRAWsegment(barindex, VAH, Barindex[cont], VAH) coloured(0,130,0,250)style(line,3)

      DRAWsegment(barindex, VAL, Barindex[cont], VAL) coloured(250,0,0,250)style(line,3)

      next
      next
      endif

      O=dopen(0)
      c=dclose(0)

      drawrectangle(Barindex[cont+1], o,Barindex[cont]+1, close) coloured(255,55,150,250) bordercolor(210,210,210,50)
      drawtext("O ➤—",Barindex[cont]+x,o*pipsize,Dialog,Standard,10) coloured(0,0,210,250)
      drawtext("C ➤—",Barindex[cont]+x,c*pipsize,Dialog,Standard,10) coloured(0,0,210)
      drawtext("VAH",Barindex[cont]+x, VAH*pipsize,Dialog,Standard,10) coloured(0,0,210,250)
      drawtext("VAL",Barindex[cont]+x, VAL*pipsize,Dialog,Standard,10) coloured(0,0,210,250)
      //drawtext("VAL",coordX+45, val) anchor(MIDDLE ,xshift,value)coloured(r,0,0)
      if IsLastBarUpdate then

      For j = 1 To nb do
      for i = 1 To StopLookback-1 do

      IF High[StopLookback*(j-1)+i]=hh[(j-1)*StopLookback] Then

      //hh=High[StopLookback*(j-1)+i]
      HighestI = BarIndex[StopLookback*(j-1)+i]
      //DRAWTEXT(hh[(j-1)*StopLookback]-x, HighestI, hh[(j-1)*StopLookback]+20, Dialog, Standard, 12) COLOURED(0,255,0)
      //DRAWARROWDOWN(HighestI-x,hh[(j-1)*StopLookback]+5) COLOURED(0,255,00)
      endif
      IF Low[StopLookback*(j-1)+i]=ll[(j-1)*StopLookback] Then
      //ll=Low[StopLookback*(j-1)+i]
      LowestI = BarIndex[StopLookback*(j-1)+i]
      //DRAWTEXT(ll[(j-1)*StopLookback]-x, LowestI, ll[(j-1)*StopLookback]-20, Dialog, Standard, 12) COLOURED(200,0,0)
      //DRAWARROWUP(LowestI-x,ll[(j-1)*StopLookback]-5) COLOURED(255,0,00)
      endif

      next
      next
      endif
      drawrectangle(barindex[cont],hh,barindex+4,ll)coloured(0,r,130,1)bordercolor(200,r,0,alpha)
      drawtext("████",barindex+10,MaxTouch2) coloured(r,0,150,250)
      drawtext("████",barindex+10,VAH) coloured(0,130,0,250)
      drawtext("████",barindex+10,VAL) coloured(250,0,0,250)

    • philippe59139 • 164 days ago #

      voici pour toi RAZZ il te faut simplement ajouter les drawtext

      https://www.prorealcode.com/topic/marketprofileliveserait-il-possible-dafficher-la-heatmap-sur-le-cote-droit/

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+2 more likes

Related users ' posts
NEOMKEY Magnífico !!!. Al menos para mí. Gran trabajo con tus aportes Iván. Mira a ver si le incluye...
Iván jajaja gracias :)
oliTR Very good Iván ! However what would be the modification to add to the code in order to dis...
Armand2020 Bonjour , super taf!! serait il possible de faire un poc dynamique en timeframe 5 min en mod...
philippe59139 voici ce qu'il faudrait faire ou ajouter: //poc dynamique defparam calculateonlastbars=1...
pouille Merci beaucoup vraiment beau boulot, j'adore je m'en sert régulièrement
Iván
9 months ago
Iván I personally like it in daily timeframe
oliTR Many thanks Ivan, I copy/paste your code to try it but could only get a constant stable unif...
Iván Hi, I've copied the code above and it works... what asset are you trying? $indices array ...
JS
1 year ago
steffen_burat Hello Nicolas, I have a cumulative histogram update problem, the indicator often updates ...
taklause Hello Nicolas, if I try to use your indicator in a trading system, the error on prc pops up ...
Gio56 Bonjour Nicolas J'ai le meme souci que steffen , l'indicateur ne cumule qu'après avoir redé...
Rafa Hi Nicolas! I can´t install this indicator. it installs in a separate window not as an av...
Nicolas Add it on the price, see how: https://www.prorealcode.com/blog/video-tutorials/how-to-add-an...
Frankyslo1 No consigo instalarlo en el precio en PRL-version 10
Khaled As this section of the forum is in English, I'll reply in English. I'm using PRT v11, so I d...
sal157011 Don't understand where it says: "Volume Pressure Histogram: Columns plotted in positive are ...
Khaled Not sure to understand the question. However, the columns (Histogram) represent the variable...
Alai-n Cela fonctionne très bien !!! Super Merci
andreabarbuscia Ciao Nicolas, molto bello questo indicatore, l'ho apprezzato molto. Lo sto testando insieme...
Alai-n Je poste ici un lien afin de mieux appréhender le CVD-Cumulative Volume Delta : https://www....
Nicolas
3 years ago
DELBERT Bonsoir , Nicolas , j'ai transféré votre indicateur sur ma PRT 10,3 et j'ai un méssage d'ére...
Nicolas Vous pouvez essayer en remplacant la ligne avec: vwapsd = sqrt(average[lengthz](square(clo...
DELBERT Bonsoir , merci Nicolas , a bientôt .
ChemaGeek Bonjour Nicolas, j'ai récemment découvert cet indicateur (Regularized Momentum 2017) et je l...
YvesRobert Bonjour, nouveau sur PRT (qq jours), j'essaie un peu de voir quel type d'indicateur me convi...
Ichimoku Reading I don't know in this case, I just downloaded it again and no problem for me. Try to downloa...
Ichimoku Reading What's the error that appears ?
Suzu Yuk Yes, it worked with 1Tick with 200 K . Thank you very much.
Monobrow Hi Daniele Thank you for the indicator, it looks very good. However, I have a problem so...
avatar
Anonymous Thanks very much for sharing, look forward to testing this idea out.
mathiasKN Thank you Daniele for making this script, I know its been some time since the release but wo...
Barrabas15 Apparently, according to the attached data, there is an error in the indicator code. Attach...
Barrabas15 The files are at the end of the following link: https://www.prorealcode.com/topic/time-seg...
robertogozzi Thank you Barrabas15, the correct code is at https://www.prorealcode.com/topic/time-segmente...
Nicolas esta possible
bolsatonimora2 Hola Nicolas, perdona la molestia, pero podrias codificar el screener para rupturas de sopor...
Nicolas Utilice los foros para solicitar una codificación personalizada.
GARNIEPI hello I am looking for an anchored vwap intraday, indicator which allows you to visualize th...
withoutwings To be able to flexibly wrap around the full 24h (i.e. past midnight), or to use just a singl...
yeoreum Thank you very much for the screener, it reminds me on Minervini VCP. How to change th...
reecet any codes like this but in minutes and hours rather than days?
PHAN100 bonjour, je viens de tester ce screener, je constate une anomalie...il ne renvoie pas l'e...
jaginho Bonjour Vivien, je n'arrive pas à comprendre ce screener... En tout cas merci pour tes contr...
avatar
Anonymous Superb, merci!

Top