MarketProfile Live Alerte et Screener

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #228774 quote
    Sofitech
    Participant
    Master

    Bonjour à tous,
    J’observe avec intérêt cet indicateur de la librairie:

    MarketProfileLive

    J’aimerais créer un histogramme sous prix mentionnant +1 lorsqu’un flèche verte est créée et -1 lorsqu’une flèche rouge est créée. Cela permettrait la création d’alerte et screener.
    Les autres aspects du code pourront être conservés mais ne pas être graphiquement représentés.
    Si quelqu’un peut m’aider à sortir ce code, ce serait extra.
    Ci-dessous le code indicateur :

    defparam drawonlastbaronly=true
    once basculejour=1
    once conte=0
    once count=0
    atr=AverageTrueRange[14](close)
    cont=period+count
    StopLookback=period
    voltot=0
    pricelevel=0
    nb=1
    hh = Highest[cont](High)
    ll = Lowest[cont](Low)
    
    checkprice = ll
    MaxTouch1 = 0
    
    if IsLastBarUpdate then
    
    For j = 1 To nb do
    COUNT = COUNT+1
    for k = 0 To cont-1 do
    ind=0 //reset index of array
    //get the price touch occurrences for each level
    while checkprice<=hh do
    touch=0 //reset price touch for this price level
    for m = 0 to cont-1 do
    if High[cont*(j-1)+m]>=checkprice and Low[cont*(j-1)+m]<=checkprice then
    touch=touch+1
    $hm[ind] = touch
    endif
    next
    
    if $hm[ind] > MaxTouch1 then
    MaxTouch1 = $hm[ind]
    MaxTouch2 = checkprice
    voltot=MaxTouch2
    
    endif
    CL=(hh+ll)/2
    StdDev = (hh- ll) / 2
    VX=0.7
    VAH=CL + StdDev *vx
    VAL=CL - StdDev * VX
    
    //define color
    r = min($hm[ind]*10,255)
    
    //plot the result
    if marketEtHeamap=1 then
    //drawtext("█",barindex+5+x,checkprice) coloured(r,0,0)
    //drawtext("#touch#",barindex+20+x,checkprice,SansSerif,Standard,10) coloured(110,110,110)
    
    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]+x,hh+atr,Dialog,Bold,30) coloured(0,0,0,250)
    DRAWsegment(barindex-5-x, MaxTouch2, Barindex[cont], MaxTouch2) coloured(r,0,150,250)style(line,3)
    DRAWsegment(barindex-5-x, VAH, Barindex[cont], VAH) coloured(0,130,0,250)style(line,3)
    DRAWsegment(barindex-5-x, 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)
    
    debutN = 150500
    finN = 153500
    
    // TRACE DU RECTANGLE DE L'OPR US
    
    IF time = debutN THEN
    hautN = 0
    basN = 0
    barredebutN = barindex
    ENDIF
    
    IF time = finN THEN
    barrefinN = barindex
    ENDIF
    
    IF time >= debutN AND time <= finN THEN
    IF high > hautN THEN
    hautN = high
    
    ENDIF
    IF low < basN OR time = debutN THEN
    basN = low
    ENDIF
    difN = round(abs(hautN-basN))
    ENDIF
    if OPR=1 then
    IF time >= finN THEN
    DrawText(" OPR H #difn#pts",barredebutN,hautN+4*pointsize,Dialog,Bold,10) coloured(0,0,0,250)
    DrawText(" OPR B",barredebutN,basN+4*pointsize,Dialog,Bold,10) coloured(0,0,0,250)
    drawsegment(barredebutN,hautN,Barindex,hautN) coloured(0,0,0,50) STYLE (dottedline,2)
    DRAWRECTANGLE(barredebutN,hautN,barrefinN,basN) coloured(0,0,255,Alpha)bordercolor(0,0,255,Alpha)
    drawsegment(barredebutN,basN,Barindex,basN) coloured(0,0,0,50) STYLE (dottedline,2)
    ENDIF
    endif
    // heures de session
    debut = 010000
    fin = 090000
    dA = 010000
    fA = 013000
    
    // ... (le reste de votre script)
    
    // TRACE Le A
    dA = 010000
    fA = 013000
    barA=barindex
    i = 0
    if OpenTime =dA and basculejour=1 then
    
    for i = 1 * pipsize to 6 * pipsize
    HA=close[i]
    NEXT
    
    endif
    
    // TRACE DU RECTANGLE DE SESSION ASIATIQUE
    
    IF time = debut THEN
    haut = 0
    bas = 0
    barredebut = barindex
    ENDIF
    
    IF time = fin THEN
    barrefin = barindex
    ENDIF
    
    IF time >= debut AND time <= fin THEN
    IF high > haut THEN
    haut = high
    
    ENDIF
    IF low < bas OR time = debut THEN
    bas = low
    ENDIF
    dif = round(abs(haut-bas))
    ENDIF
    if asiatic=1 then
    IF time >= fin THEN
    DrawText(" Haut asiatique #dif#pts",barredebut,haut+4*pointsize,Dialog,Bold,10) coloured(0,0,0,250)
    DrawText(" Bas asiatique",barredebut,bas+4*pointsize,Dialog,Bold,10) coloured(0,0,0,250)
    drawsegment(barredebut,haut,Barindex,haut) coloured(0,0,0,50) STYLE (dottedline,2)
    DRAWRECTANGLE(barredebut,haut,barrefin,bas) coloured(255,255,0,50)bordercolor(255,255,0,1)
    drawsegment(barredebut,bas,Barindex,bas) coloured(0,0,0,50) STYLE (dottedline,2)
    ENDIF
    endif
    debutL = 143500
    finL = 153500
    
    // TRACE DU RECTANGLE DE SESSION ASIATIQUE
    
    IF time = debutL THEN
    hautL = 0
    basL = 0
    barredebutL = barindex
    ENDIF
    
    IF time = finL THEN
    barrefinL = barindex
    ENDIF
    
    IF time >= debutL AND time <= finL THEN
    IF high > hautL THEN
    hautL = high
    
    ENDIF
    IF low < basL OR time = debutL THEN
    basL = low
    ENDIF
    difL = round(abs(hautL-basL))
    ENDIF
    if Imbalance=1 then
    IF time >= finL THEN
    DrawText(" Haut Imbalance #difL#pts",barredebutL,hautL+4*pointsize,Dialog,Bold,10) coloured(0,0,0,250)
    DrawText(" Bas Imbalance",barredebutL,basL+4*pointsize,Dialog,Bold,10) coloured(0,0,0,250)
    drawsegment(barredebutL,hautL,Barindex[period],hautL) coloured(0,0,0,50) STYLE (dottedline,2)
    DRAWRECTANGLE(barredebutL,hautL,barrefinL,basL) coloured(0,255,0,Alpha)bordercolor(0,255,0,Alpha)
    drawsegment(barredebutL,basL,Barindex[period],basL) coloured(0,0,0,50) STYLE (dottedline,2)
    ENDIF
    endif
    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], HighestI, hh[(j-1)*StopLookback]+15, Dialog, Standard, 12) COLOURED(0,255,0)
    DRAWARROWDOWN(HighestI,hh[(j-1)*StopLookback]+2) 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], LowestI, ll[(j-1)*StopLookback]-15, Dialog, Standard, 12) COLOURED(200,0,0)
    DRAWARROWUP(LowestI,ll[(j-1)*StopLookback]-2) COLOURED(255,0,00)
    
    endif
    
    next
    next
    
    endif
    // Paramètres
    periode = 20 // Periode pour les calculs
    
    // Calcul des moyennes mobiles
    moyenneHaut = Average[periode](high)
    moyenneBas = Average[periode](low)
    volumeTotal = Average[periode](volume)
    
    // Estimation de la Value Area
    VAH = moyenneHaut // Estimation de Value Area High
    VAL = moyenneBas // Estimation de Value Area Low
    
    // Dessiner la Value Area
    DRAWLINE(BarIndex[periode], VAH, BarIndex, VAH) COLOURED(0, 255, 0) // Ligne verte pour la VAH
    DRAWLINE(BarIndex[periode], VAL, BarIndex, VAL) COLOURED(255, 0, 0) // Ligne rouge pour la VAL
    return
    #228818 quote
    Sofitech
    Participant
    Master

    En fait je sais comment supprimer les éléments graphiques et créer l’histogramme. Par contre, même en faisant ces modifications, l’indicateur s’affiche sur le graphique prix et non en dessous.

    Je ne vois pas quoi modifier pour que l’indicateur modifié s’affiche sur une fenêtre en dessous et non pas sur le graphique prix.

    Si quelqu’un peut aider…

    #228821 quote
    fifi743
    Participant
    Master

    je regarde car je suis intéressé

    #228824 quote
    Iván González
    Moderator
    Master

    il faut cliquer selon l'image ci-jointe

    #228842 quote
    fifi743
    Participant
    Master

    je me suis peut être mal exprimé mais je voudrais un signal des flèches rouge et verte en dessous du prix

    #228847 quote
    Sofitech
    Participant
    Master

    Oui. Le but est la création d’un indicateur sous prix dans une fenêtre distincte.

Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

MarketProfile Live Alerte et Screener


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Sofitech @sofitech Participant
Summary

This topic contains 5 replies,
has 3 voices, and was last updated by Sofitech
1 year, 11 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 02/26/2024
Status: Active
Attachments: 1 files
Logo Logo
Loading...