DARVAS BOXES, HELP !!!

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #6049 quote
    Victorio
    Participant
    Senior

    Bonsoir, j’ai déniché dans votre “librairie” cet indicateur à mettre sur le prix, qui sur le papier est excellentissime pour pratiquer le scalping, en 55 ticks DAX me concernant

    Seulement, en 55 ticks, à un moment dans la journée, la ligne “basse” ou “ttl” dans le code décale de façon surprenante (voir copie-écran), nécessitant un “reboot” de l’indicateur, mais cela se reproduit ensuite.

    Erreur dans le code? Pas adapté pour de l’intra-day? Je n’ai pas les capacités en programmation pour trouver l’origine du problème, merci pour votre aide.

    Voici le code :

    rem from hk_lisse blog
    k=48
    once tth=undefined
    once ttl=undefined
    n=(k*2)-4
    p=(n/2)-1
    h1=dpo[n](high)
    moyh=high-h1
    hi=(moyh-moyh[1]+(high[p])/n)*n
    hi=(round(hi*100))/100
    l1=dpo[n](low)
    moyl=low-l1
    lo=(moyl-moyl[1]+(low[p])/n)*n
    lo=(round(lo*100))/100
    low1=(round(low*100))/100
    high1=(round(high*100))/100
    
    if barindex > 100 then
    if box=1 and (high1>tth or low1<ttl) then
    box=0
    flag=0
    endif
    if box=0 and flag=0 and high1>=hi[46] and high1>=hi[45] and high1>=hi[44] then
    th=high1
    flag=1
    endif
    if box=0 and flag=1 then
    for zz=0 to 44
    if hi[47-zz-1]>th or hi[47-zz-2]>th or hi[47-zz-3]>th then
    flag=0
    break
    endif
    if lo[47-zz]<lo[47-zz-1] and lo[47-zz]<lo[47-zz-2] and lo[47-zz]<lo[47-zz-3] then
    box=1
    tth=th
    ttl=lo[47-zz]
    break
    endif
    next
    endif
    else
    tth=undefined
    ttl=undefined
    endif
    if box=1 then
    ba=ttl
    else
    ba=tth
    endif
    if box=1 then
    col=1
    else
    col=-1
    endif
    
    return ba coloured by col , tth coloured by col,ttl coloured by col
    Capture-d’écran-2016-04-26-à-18.46.35.png Capture-d’écran-2016-04-26-à-18.46.35.png
    #6051 quote
    Victorio
    Participant
    Senior

    Il semble que la ligne basse concernée n’apparait pas sur la copie-écran, elle a soudainement décalé sur 10 009 dax, alors qu’elle est à priori censée coller au prix comme visible sur le graphique

    #6079 quote
    Nicolas
    Keymaster
    Master

    Je vois bien une ligne sur le prix à 10009 sur ta copie d’écran.

    Je vais jeter un œil à ce code. Mais je pense que c’est lié à l’utilisation de données futur dans son code. D’ailleurs il me semble plutôt compliqué pour afficher les boîtes de darvas, mais je me trompe peut-être, bref je reviens dés que j’ai du nouveau 🙂

    #6083 quote
    Victorio
    Participant
    Senior

    Merci pour votre aide & votre disponibilité, et un grand bravo pour votre site.

    Cordialement.

    #6089 quote
    Nicolas
    Keymaster
    Master

    Je viens de constater le décalage en temps réel sur le DAX en 55 ticks. Le problème serait le même sur n’importe quel instrument et/ou unité de temps. Je pense que ça se situe à la ligne 36. Le hic, c’est que l’on cherche à tracer des éléments du passé en fonction du futur. Donc ça fonctionne à la première lecture de l’historique, lorsque l’on place l’indicateur sur le graphique. Mais en temps réel, lorsque le temps s’écoule et puisque l’on ne peut pas modifier les indications déjà tracées avec la plateforme, il se crée un bug… Dans l’immédiat je ne vois pas comment régler cela.. Si quelqu’un a une idée ? ça pourrait intéresser du monde 🙂

    #6097 quote
    Victorio
    Participant
    Senior

    Pour information et partage, HK LISSE propose cette variante plus adaptée selon ses dires à un trend bearish.

    Par ailleurs, à propos de la version ci dessus, il stipule qu’elle n’est utilisable qu’avec un graphique “figé”. J’ai donc la réponse à ma question d’en tête….

    Je teste actuellement la version suivante voir si le bug persiste:

    k=48
    once tth=undefined
    once ttl=undefined
    n=(k*2)-4
    p=(n/2)-1
    h1=dpo[n](high)
    moyh=high-h1
    hi=(moyh-moyh[1]+(high[p])/n)*n
    hi=(round(hi*100))/100
    l1=dpo[n](low)
    moyl=low-l1
    lo=(moyl-moyl[1]+(low[p])/n)*n
    lo=(round(lo*100))/100
    low1=(round(low*100))/100
    high1=(round(high*100))/100
    if barindex > 100 then
    if box=1 and (high1>tth or low1<ttl) then
    box=0
    flag=0
    endif
    if box=0 and flag=0 and low1<=lo[46] and low1<=lo[45] and low1<=lo[44] then
    th=low1
    flag=1
    endif
    if box=0 and flag=1 then
    for zz=0 to 44
    if lo[47-zz-1]<th or lo[47-zz-2]<th or lo[47-zz-3]<th then
    flag=0
    break
    endif
    if hi[47-zz]>hi[47-zz-1] and hi[47-zz]>hi[47-zz-2] and hi[47-zz]>hi[47-zz-3] then
    box=1
    ttl=th
    tth=hi[47-zz]
    break
    endif
    next
    endif
    else
    tth=undefined
    ttl=undefined
    endif
    if box=1 then
    ba=ttl
    else
    ba=tth
    endif
    return ba coloured by box-1, tth coloured by box-1, ttl coloured by box-1

    #6099 quote
    Victorio
    Participant
    Senior

    Même problème, à l’envers bien sur….

    Si une âme charitable a la solution, ou un indicateur similaire sous forme de “boites”, mais utilisable en “live”, n’hésitez surtout pas !

    Merci par avance.

    #6100 quote
    Nicolas
    Keymaster
    Master

    Ci-joint un indicateur de type boîte que j’avais codé pour démontrer les instructions graphiques de la 10.3, ici compatible pour la version 10.2

    Dans le même principe, on prend long à la cassure de la boîte haute et inversement. On peut rester en position tant qu’une nouvelle boîte ne se dessine pas. Sur le papier c’est bien 🙂

    Après il faut gérer ses positions..

    p = 50
    
    hh = highest[p](high)[1]
    ll = lowest[p](low)[1]
    
    mmf = exponentialaverage[10](close)
    mms = exponentialaverage[30](close)
    
    once flag = 0
    
    if mmf>mms AND flag = -1 then
    upper = hh[1]
    flag = 1
    endif
    
    if mmf<mms AND flag = 1 then
    lower = ll[1]
    flag = -1
    endif
    
    if mmf crosses under mms then
    flag = -1
    endif
    
    if mmf crosses over mms then
    flag = 1
    endif
    
    if lower>upper then
    lower=upper
    endif
    
    RETURN upper coloured(110,137,37,255) as "upper line", lower coloured(111,30,85,255) as "lower line"

     

    La variable “p” est modifiable à convenance et selon le timeframe utilisé.

    Box-Scalping-55-ticks-DAX.itf box-trade-scalping-ticks.png box-trade-scalping-ticks.png
    #6109 quote
    Victorio
    Participant
    Senior

    Merci beaucoup Nicolas, je teste cela dans la semaine.

    Solution alternative serait de mixer les 2 codes DARVAS ci dessus, en affichant que la ligne qui est stable dans chacun des codes (haute sur le 1er, basse sur le 2d). Je m’y colle pour voir si le résultat est satisfaisant.

    #9783 quote
    Sofitech
    Participant
    Master

    Bonjour Victoria.

    As tu fait une fusion des codes Darvas pour ne conserver que les lignes stables ?

    #10852 quote
    Victorio
    Participant
    Senior

    Bonsoir Sofitech

    Navré pour ma réponse tardive je n’avais pas vu ton message.

    Non, je n’ai pas réalisé cette fusion; j’utilise les 2 codes  DARVAS BULLISH et BEARISH et je me contente de rendre visible les 2 lignes qui sont stables, invisibles les 2 autres.

    De même en pro-backtest,  j’appelle ces 2 codes en n’utilisant que “TTH” dans le bullish et “TTL” dans le bearish .

    #10856 quote
    Victorio
    Participant
    Senior

    On obtient ça sur le graphique, lignes pointillées rouge & verte:

    Capture-d’écran-2016-07-24-à-18.58.01.png Capture-d’écran-2016-07-24-à-18.58.01.png
    #10864 quote
    Sofitech
    Participant
    Master

    Merci beaucoup pour la réponse. C’est vrai que ces darvas box sont bien utiles.
    Il semble que tu trades le rebond et le retour dans la box plutôt que la cassure de box… je me trompe ?
    Ce qui est également une manière efficace d’utiliser les box.

    #10957 quote
    Sofitech
    Participant
    Master

    ah je vois que tu fais business de tes codes. Je comprends donc mieux que tu ne veuilles rien dire sur l’usage que tu fais des codes…

    #48175 quote
    zen83
    Participant
    Senior

    Victorio,  le problème de ton code initial est l’utilisation du dpo, en fait, HK lisse avait aussi produit un code qui collait bien aux règles de Nicolas Darvas et qui évite l’écueil du dpo

    je l’ai agrémenté des niveaux de Fibonacci

    ///Code Sohocool///
    ///section fibo Zen83, code piece of cake ;-) ////
    
    if box=1 and (high>db100 or low<db0) then
    box=0
    flag=0
    endif
    if box=0 and flag=0 and low>low[3] and low[1]>low[3] and low[2]>low[3] then
    th=low[3]
    flag=1
    endif
    if flag=1 and box=0 and low<th then
    flag=0
    endif
    if flag=1 and box=0 and high<high[3] and high[1]<high[3] and high[2]<high[3] then
    db100=high[3]
    db0=th
    box=1
    endif
    once db100=undefined
    once db0=undefined
    db23=db0+0.236*(db100-db0)
    db38=db0+0.382*(db100-db0)
    db50=db0+0.5*(db100-db0)
    db62=db0+0.618*(db100-db0)
    db78=db0+0.786*(db100-db0)
    return db0 as "DB0",db23 as "DB23",db38 as "DB 38",db50 as "DB50",db62 as "DB62",db78 as "DB78",db100 as "DB100"
    Nicolas and Ichimoku Reading thanked this post
Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.

DARVAS BOXES, HELP !!!


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Victorio @victorio Participant
Summary

This topic contains 14 replies,
has 4 voices, and was last updated by zen83
8 years, 5 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 04/26/2016
Status: Active
Attachments: 4 files
Logo Logo
Loading...