division par zero erreur

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #75216 quote
    lionel974lionel974
    Participant
    Junior

    bonjour a tous voila j’ai un code (dax 1h) mais quand je le test en réel j’ai une erreur qui s affiche …. division par zero ( subdivision)

     

    DEFPARAM CumulateOrders = False // Cumul des positions désactivé
    // Annule tous les ordres en attente et ferme toutes les positions à 0:00, puis empêche toute création d'ordre avant l'heure "FLATBEFORE".
    DEFPARAM FLATBEFORE = 080000
    // Annule tous les ordres en attente et ferme toutes les positions à l'heure "FLATAFTER"
    DEFPARAM FLATAFTER = 210000
    
    atrLen = 21
    m1 = 3.5 //"ATR Multiplier - ADX Rising"
    m2 = 1.75 //"ATR Multiplier - ADX Falling"
    adxLen = 14
    adxThresh = 30 //"ADX Threshold"
    aboveThresh = 1 //true, title = "ADX Above Threshold uses ATR Falling Multiplier Even if Rising?")
    useHeiken = 1 //(false, title = "Use Heiken-Ashi Bars (Source will be ohlc4)")
    // --- end of settings
    
    source = MedianPrice
        
    // DI-Pos, DI-Neg, ADX
    
    hR = high-high[1]
    lR = -(low-low[1])
    
    if hr>lr then
    dmPos=max(hr,0)
    else
    dmPos=0
    endif
    if lr>hr then
    dmNeg=max(lr,0)
    else
    dmNeg=0
    endif
    
    sTR = (sTR[1] - sTR[1]) / adxLen + tr
    
    sDMPos = (sDMPos[1] - sDMPos[1]) / adxLen + dmPos
    sDMNeg = (sDMNeg[1] - sDMNeg[1]) / adxLen + dmNeg
    
    DIP = sDMPos / sTR * 100
    DIN = sDMNeg / sTR * 100
    DX = abs(DIP - DIN) / (DIP + DIN) * 100
    aadx = average[adxLen](DX)
    
    // Heiken-Ashi
    
    if barindex<2 then
    xClose = close
    xOpen = open
    else
    xClose = TotalPrice
    xOpen = (xOpen[1] + close[1]) / 2
    endif
    xHigh = max(high, max(xOpen, xClose))
    xLow = min(low, min(xOpen, xClose))
    
    // Trailing ATR
    
    v1 = abs(xHigh - xClose[1])
    v2 = abs(xLow - xClose[1])
    v3 = xHigh - xLow
    
    trueRange = max(v1, max(v2, v3))
    if useHeiken then
    atr = WilderAverage[atrLen](trueRange)
    else
    atr = AverageTrueRange[atrLen]
    endif
    
    if aadx>aadx[1] and (adx < adxThresh or not aboveThresh) then
    m=m1
    elsif aadx<aadx[1] or (adx > adxThresh and aboveThresh) then
    m=m2
    else
    m = m[1]
    endif
    
    if DIP >= DIN then
    mUp=m
    else
    mUp=m2
    endif
    if DIN >= DIP then
    mDn=m
    else
    mDn=m2
    endif
    
    if useHeiken then
    src=xClose
    c=Xclose
    t=(xHigh+xLow)/2
    else
    src=source
    c=close
    t=MedianPrice
    endif
    
    up = t - mUp * atr
    dn = t + mDn * atr
    
    if max(src[1], c[1]) > TUp[1] then
    TUp = max(up,TUp[1])
    else
    TUp = up
    endif
    
    if min(src[1], c[1]) < TDown[1] then
    TDown = min(dn, TDown[1])
    else
    TDown = dn
    endif
    
    c1= (close crosses over TUp)
    IF c1 THEN
    BUY 1 CONTRACT AT MARKET
    ENDIF
    
    c2= (close crosses over TDown)
    IF c2 THEN
    SELLSHORT 1 CONTRACT AT MARKET
    ENDIF
    // Stops et objectifs
    
    SET STOP pLOSS 5
    SET TARGET pPROFIT 10
    

    je vous remercie d’avance

    #75245 quote
    NicolasNicolas
    Keymaster
    Legend

    Cette erreur doit provenir des divisions aux lignes 39 et 40,  je te propose d’ajouter cette ligne juste avant:

    once sTR = pointsize
Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

division par zero erreur


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
lionel974 @lionel974 Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by NicolasNicolas
8 years, 3 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 07/04/2018
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...