lunghezza segmento magicTrend

Forums ProRealTime forum Italiano Supporto ProOrder lunghezza segmento magicTrend

Viewing 12 posts - 1 through 12 (of 12 total)
  • #202249

    Ciao Roberto, non riesco a quantificare la lunghezza dell’ultimo segmento dello stesso colore, prima del cambio di colore, del magicTrend (per usare tale paramentro come filtro).

    Esempio : acquisito quando cambia il colore del magicTrend SOLO se il segmento (la linea) del magicTrend precedente (chiaramente di colore opposto) è maggiore, ad esempio, di 20 (barre).

    Nella formula seguente ho già codificato il cambio di colore, potresti indicarmi come misurare la lunghezza dell’ultimo passsaggio di colore del magicTrend ? ( se la cosa non è chiara ti posto una bozza embrionale di TS  che stò costruendo) Grazie

    ,//******************************************************************** MagicTrend
    cciP = max(1,min(999,14)) //cciP = 20
    atrP = max(1,min(999,14)) //atrP = 14
    atrM = max(0.0000001,min(999,1)) //atrM = 1
    smaP = max(1,min(999,5)) //smaP = 5
    IF BarIndex > max(cciP,atrP) THEN
    lastCCI = thisCCI
    thisCCI = CCI[cciP](typicalPrice)
    myATR = AverageTrueRange[atrP](close)
    temp1 = myATR * atrM
    upT = low – temp1
    downT = high + temp1
    temp2 = Average[smaP,0](myATR) * atrM
    buffDN = high + temp2
    buffUP = low – temp2
    IF (thisCCI >= 0) AND (lastCCI < 0) THEN
    buffUP = buffDN[1]
    ENDIF
    IF (thisCCI <= 0) AND (lastCCI > 0) THEN
    buffDN = buffUP[1]
    ENDIF
    IF (thisCCI >= 0) THEN
    IF (buffUP < buffUP[1]) THEN
    buffUP = buffUP[1]
    ENDIF
    ELSIF (thisCCI <= 0) THEN
    IF (buffDN > buffDN[1]) THEN
    buffDN = buffDN[1]
    ENDIF
    ENDIF
    IF thisCCI >= 0 THEN
    MagicTrend = buffUP
    ELSIF thisCCI <= 0 THEN
    MagicTrend = buffDN
    ENDIF
    ELSE
    thisCCI = 0
    lastCCI = 0
    myATR = 0
    buffUP = 0
    buffDN = 0
    buffDN = 0
    buffUP = 0
    MagicTrend = 0
    ENDIF
    //————-
    if bullMagicTrend then // linea verde magicTrend
    bullMagicTrend = magicTrend >= magicTrend[1]
    if bullMagicTrend then
    bearMagicTrend = 0
    endif
    else
    bullMagicTrend = magicTrend > magicTrend[1]
    if bullMagicTrend then
    bearMagicTrend = 0
    endif
    endif
    //
    if bearMagicTrend then
    bearMagicTrend = magicTrend <= magicTrend[1] // linea rossa magicTrend
    if bearMagicTrend then
    bullMagicTrend = 0
    endif
    else
    bearMagicTrend = MagicTrend < MagicTrend[1]
    if bearMagicTrend then
    bullMagicTrend = 0
    endif
    endif
    //——————————–
    increaseMagic = magicTrend > magicTrend[1] // rialzo magicTrend
    decreaseMagic = magicTrend < magicTrend[1] // ribasso magicTrend
    change = (bullMagicTrend and bearMagicTrend[1]) OR (bearMagicTrend and bullMagicTrend[1])
    changeMagicUp = change and increaseMagic // passaggio rialzista magicTrend
    changeMagicDown = change and decreaseMagic // passaggio ribassista magicTrend

    #202271

    Il seguente codice conteggia le barre, ContoP  è il conteggio del segmento precedente, Conto di quello corrente:

     

    1 user thanked author for this post.
    #202381

    Ciao Roberto, ho fatto numerose prove e funziona bene (ho provato quello che mi interessava: ContoP).

    Ti volevo chiedere un altra cosa: è possibile in qualche modo visualizzare il guadagno mensile (in euro) di un TS sul grafico (in pratica la differenza dell’equity del primo ed ultimo del mese) ?

    #202392

    Si, occorre salvare in una variabile il valore ad inizio mese, poi fare la differenza a fine mese e con GRAPH la vedrai:

     

     

    #202400

    Ciao Roberto devo capire una cosa,  se quando cambia il mese l’operazione è ancora aperta (diciamo che il TS la apre il 27 e la chiude il 03) questa viene scartata dal calcolo del mese o viene calcolato il profitto attuale? Mi sembra che l’operazione non viene calcolata, ti risulta?

    #202403

    Esatto, strategyprofit viene aggiornato solo alla chiusura, anche perché è l’unico momento in cui il risultato è definitivo.

     

    #202433

    Esatto, le operazioni in corso non vengono conteggiate.. Riusciresti ad aggiungere un drawtext della differenza?

    #202446

    La differenza la vedi con GRAPH (come ho fatto io sopra). I comandi grafici non possono essere usati con le strategie.

    #202447

    Infatti, mi sembrava che con graph non si potevano visualizzare delle scritte però volevo esserne certo. Grazie

    #203164

    Ciao Roberto, riusciresti ad aggiungere nella formula sopra in cui si plotta con DIFFERENZA il gain/loss in euro dei singoli mesi, anche un  graph con il DD, sempre mensile, calcolato come minimo rispetto alla chiusura del mese precedente  e non in generale?

    (ES. se  il proftto mensile precedente è stato 1000 e si scende, nel nuovo mese,  a 800 poi si sale a 1500 e si termina il mese a 1100, vorrei che venisse segnalato di DD 200 e non 400).

    Puoi utilizzare questa formula di base sul DD che avevi scritto tempo fa (non so se serve tempProfit in quanto si parla di operazioni chiude mensili):

    ONCE Capital = 10000

    ONCE MinPoint = Capital

    ONCE MaxPoint = 0

    ONCE MaxDD = 0

    //——————————————

    // EQUITY

    Equity = Capital + StrategyProfit

    TempProfit = PositionPerf * PositionPrice / PipSize

    TempEquity = Equity + TempProfit

    //——————————————

    // DrawDown

    MaxPoint = max(MaxPoint,TempEquity)

    DD = MaxPoint – TempEquity

    MaxDD = max(MaxDD,DD)

    //

     

     

    #203208

    Eccolo:

     

    1 user thanked author for this post.
    #203215

    Prende il DD generale non quello dalla chiusura del mese precedente al picco sotto questa chiusura.

    “DD calcolato come minimo rispetto alla chiusura del mese precedente e non in generale”

    Comunque ho riscritto così la formula e funziona:

    once capital = 10000
    equityThisMonth = capital + strategyProfit
    DD = min (DD,equityThisMonth-equityPrevMonth)
    if month <> month[1] then
    DDprevMonth = DD
    equityPrevMonth = capital + strategyProfit
    equityThisMonth = equityPrevMonth
    DD = 0
    performancePrevMonth = strategyProfit – actualSP
    actualSP = strategyProfit
    endif
    graph performancePrevMonth
    graph DDPrevMonth coloured(255,20,147)

     

     

    1 user thanked author for this post.
Viewing 12 posts - 1 through 12 (of 12 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login