Problema con WPO

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #94152 quote
    FB1965
    Participant
    Veteran

    Ho provato a mettere l’indicatore;

    EmaPeriods = 14
    Cy         = close[1]
    A          = high
    sinwt      = close / A
    sinsq      = sinwt * sinwt
    cossq      = 1 – sinsq
    coswt      = sqrt(cossq)
    Angle      = atan(sinwt / coswt)
    Rad        = 3.14 * Angle / 180
    Tt         = 6.28 / Rad
    Ti         = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * –1)
    WPO        = average[EmaPeriods,1](Ti)
    volevo utilizzarlo per acquistare se DPO>2 ma il TS non mi dà operazioni.
    Chi riesce a spiegarmi il perchè?
    Grazie
    #94154 quote
    FB1965
    Participant
    Veteran

    Ho dimenticato di dire che uso un grafico a 5 minuti sul Dax.

    #94155 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code”, in modo da rendere il codice più comprensibile.

    Usa anche il forum appropriato, non quello geberico ma quello di ProBuilder, trattandosi di un indicatore.

    Grazie.

    Il DPO non è utilizzabile con ProOrder perché usa dati futuri, prova ad utilizzare questa versione modificata di Nicolas https://www.prorealcode.com/topic/sustiutir-dpo/#post-49581.

    #94156 quote
    robertogozzi
    Moderator
    Master

    Intendevi WPO, invece di DPO nel testo?

    #94157 quote
    FB1965
    Participant
    Veteran

    Sì scusa, intendevo WPO.  Anche questo indicatore usa dati futuri? Dal testo che ho scritto non mi sembra…

    Wpo

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    EmaPeriods = 14
    Cy         = close[1]
    A          = high
    sinwt      = close / A
    sinsq      = sinwt * sinwt
    cossq      = 1 – sinsq
    coswt      = sqrt(cossq)
    Angle      = atan(sinwt / coswt)
    Rad        = 3.14 * Angle / 180
    Tt         = 6.28 / Rad
    Ti         = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) *1)
    WPO        = average[EmaPeriods,1](Ti)
    #94158 quote
    robertogozzi
    Moderator
    Master

    No, non usa dati futuri. Funziona, per verificare che sia in OB basta che scrivi:

    IF Wpo > 2 THEN      //oppure Wpo CROSSES OVER 2, secondo quello che desideri
    #94164 quote
    FB1965
    Participant
    Veteran

    Scusa se insisto ma se metto questo TS:

    EmaPeriods = 14
    Cy = close[1]
    A = high
    sinwt = close / A
    sinsq = sinwt * sinwt
    cossq = 1 – sinsq
    coswt = sqrt(cossq)
    Angle = atan(sinwt / coswt)
    Rad = 3.14 * Angle / 180
    Tt = 6.28 / Rad
    Ti = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * -1)
    WPO = average[EmaPeriods,1](Ti)

    If WPO>1.5 THEN
    SELLSHORT AT MARKET
    ENDIF

    SET TARGET PPROFIT 5
    SET STOP PLOSS 50

    Non mi dà nessuna operazione. L’indicatore WPO ha dei picchi sopra il valore 2 ma non entra mai. Se provo a mettere il WPO>0.9 entra. Come mai?

    #94165 quote
    robertogozzi
    Moderator
    Master

    Mi spiace ripeterlo:          Per scrivere il codice , utilizza il pulsante <> “insert PRT code”, in modo da rendere il codice più comprensibile. GRAZIE.

    #94167 quote
    FB1965
    Participant
    Veteran
    EmaPeriods = 14
    Cy = close[1]
    A = high
    sinwt = close / A
    sinsq = sinwt * sinwt
    cossq = 1 – sinsq
    coswt = sqrt(cossq)
    Angle = atan(sinwt / coswt)
    Rad = 3.14 * Angle / 180
    Tt = 6.28 / Rad
    Ti = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * -1)
    WPO = average[EmaPeriods,1](Ti)
    
    If WPO>2 THEN
    SELLSHORT AT MARKET
    ENDIF
    
    SET TARGET PPROFIT 5
    SET STOP PLOSS 50
    #94168 quote
    robertogozzi
    Moderator
    Master

    Grazie.

    Sto cercando di verificare il problema, perché in effetti anche a me l’indicatore funziona correttamente, mentre la strategia (su EurUsd, sul grafico a 1 minuto o giornaliero che sia) mi segnala che WPO ha sempre valore 1!

    Ti farò sapere.

    #94171 quote
    robertogozzi
    Moderator
    Master

    C’è una differenza tra ProBuilder (per gli indicatori) e ProOrder (per le strategie). Quest’ultimo non risolve l’espressione delle riga 11 correttamente, per cui occorre sostituirla con IF…ENDIF, questo è il codice riscritto:

    EmaPeriods = 14
    Cy    = close[1]
    A     = high
    sinwt = close / A
    sinsq = sinwt * sinwt
    cossq = 1 - sinsq
    coswt = sqrt(cossq)
    Angle = atan(sinwt / coswt)
    Rad   = 3.14 * Angle / 180
    Tt    = 6.28 / Rad
    //Ti         = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * -1)
    IF (close > Cy) THEN
       Ti = Tt
    ELSE
       Ti = -Tt
    ENDIF
    WPO   = average[EmaPeriods,1](Ti)
    If WPO>1.5 THEN
       SELLSHORT AT MARKET
    ENDIF
    SET TARGET PPROFIT 5
    SET STOP PLOSS 50

    provalo e fammi sapere.

    #94212 quote
    FB1965
    Participant
    Veteran

    Perfetto, funziona.

    Grazie tante.

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

Problema con WPO


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
FB1965 @fb1965 Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by FB1965
7 years ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 03/20/2019
Status: Active
Attachments: No files
Logo Logo
Loading...