Problema con WPO
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Problema con WPO
- This topic has 11 replies, 2 voices, and was last updated 6 years ago by
FB1965.
-
-
03/20/2019 at 12:10 PM #94152
Ho provato a mettere l’indicatore;
Wpo123456789101112EmaPeriods = 14Cy = close[1]A = highsinwt = close / Asinsq = sinwt * sinwtcossq = 1 – sinsqcoswt = sqrt(cossq)Angle = atan(sinwt / coswt)Rad = 3.14 * Angle / 180Tt = 6.28 / RadTi = ((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è?Grazie03/20/2019 at 12:19 PM #9415403/20/2019 at 12:27 PM #94155Per 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.
03/20/2019 at 12:33 PM #94156Intendevi WPO, invece di DPO nel testo?
03/20/2019 at 12:38 PM #94157Sì scusa, intendevo WPO. Anche questo indicatore usa dati futuri? Dal testo che ho scritto non mi sembra…
Wpo123456789101112EmaPeriods = 14Cy = close[1]A = highsinwt = close / Asinsq = sinwt * sinwtcossq = 1 – sinsqcoswt = sqrt(cossq)Angle = atan(sinwt / coswt)Rad = 3.14 * Angle / 180Tt = 6.28 / RadTi = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * –1)WPO = average[EmaPeriods,1](Ti)03/20/2019 at 12:47 PM #94158No, non usa dati futuri. Funziona, per verificare che sia in OB basta che scrivi:
1IF Wpo > 2 THEN //oppure Wpo CROSSES OVER 2, secondo quello che desideri03/20/2019 at 2:55 PM #94164Scusa 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
ENDIFSET TARGET PPROFIT 5
SET STOP PLOSS 50Non 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?
03/20/2019 at 3:10 PM #94165Mi spiace ripeterlo: Per scrivere il codice , utilizza il pulsante <> “insert PRT code”, in modo da rendere il codice più comprensibile. GRAZIE.
03/20/2019 at 3:22 PM #94167WPO Program12345678910111213141516171819EmaPeriods = 14Cy = close[1]A = highsinwt = close / Asinsq = sinwt * sinwtcossq = 1 – sinsqcoswt = sqrt(cossq)Angle = atan(sinwt / coswt)Rad = 3.14 * Angle / 180Tt = 6.28 / RadTi = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * -1)WPO = average[EmaPeriods,1](Ti)If WPO>2 THENSELLSHORT AT MARKETENDIFSET TARGET PPROFIT 5SET STOP PLOSS 5003/20/2019 at 3:44 PM #94168Grazie.
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.
03/20/2019 at 4:32 PM #94171C’è 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:
12345678910111213141516171819202122EmaPeriods = 14Cy = close[1]A = highsinwt = close / Asinsq = sinwt * sinwtcossq = 1 - sinsqcoswt = sqrt(cossq)Angle = atan(sinwt / coswt)Rad = 3.14 * Angle / 180Tt = 6.28 / Rad//Ti = ((close > Cy) * Tt) OR (((close <= Cy) * Tt) * -1)IF (close > Cy) THENTi = TtELSETi = -TtENDIFWPO = average[EmaPeriods,1](Ti)If WPO>1.5 THENSELLSHORT AT MARKETENDIFSET TARGET PPROFIT 5SET STOP PLOSS 50provalo e fammi sapere.
03/20/2019 at 10:16 PM #94212 -
AuthorPosts
Find exclusive trading pro-tools on