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 • 02/20/2024 #

    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 • 361 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 • 331 days ago #

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

  4. Razz • 292 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 • 291 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 • 291 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
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!
1Randy I would be interested an invite to your blog. I am still learning about the VSA and it looks...
repropel Buenos días TACBOLSA. Yo también estoy interesado en visitar tu blog. Podrías enviarme una i...
mobychix Hi, I just joined Pro Realtime and am very interested in VSA. I have read some books and did...
Maxime Baudin Very useful! Thanks Mat, and Happy New Year
nicko Great work. Thank you. However I am having trouble getting it to print in the first bar. If ...
Marie-Eve Vergoz Bonsoir - Voici l'erreur qui est signalée lorsque je souhaite utiliser cet indicateur : il...
Meta Signals Pro Pleasure ! Please let us know if you make good trades with it and if you see improvements we...
francis59 Bonjour, Bonjour, comment puis-je créer un screener basé sur cet indicateur, qui affiche le...
Trader Sab I am curious to try it how, however I get an error message for line 47 and 48 - drawsegment,...
Om Hello, thanks for sharing! Getting a message that Variable P is undefined?
matin Intraday Average Volume Indicator Not working, what can i do plz
LucioleLucide Clean view, thanks for sharing
dertopen hi where i can found the window for candle configuration?
paolosab69 Ciao! . I have seen the pictures that explain this metod but i don't understand when is mome...
Vinks_o_7 Apirine also offers a very interesting update of the OBV...
TACBOLSA
6 years ago
dario ti please can you help me to understand? i know i am wrong: Long Histogram = High Volume S...
TAC Bolsa hi, I have already seen the problem and requested that it be removed until an adequate so...
sixeight Hey TAC, Did you ever find a solution to this?
Vinks_o_7 b=close > low and volume > high How can we compare volume and high of the day? (orang...
TAC Bolsa If to understand something you resort to compare Oranges and bananas. You go bad, Without e...
giumagi good morning Sir, great job your indicators! How can I reach your website or blog? please..t...
Gianluca THANK YOU!!!!!
JOSEBA que relaccion tiene la numeración de las barras del 1 al 10 que tiene cada número Tengo dos...
marcov66 Hi, it seems a very useful indicator. Unfortunately the link here for the full explanation d...
TACBOLSA Discontinued indicator. we are sorry.
Azzuerus Bonjour, je teste et j'utilise vos indicateurs depuis plusieurs années, et ils me sont dev...
bremze33 Another thing. Is it possible to make the graph lines a little thicker and not so long? Be...
giumagi Hi Sir, very good job done with this indicator, May I ask you to explain what is the line VW...
pmdr1969 Hola soy nuevo en en esto. ¿Hay algo parecido pero pudiendo tu elegir las velas a a analizar...

Top