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
Ho dimenticato di dire che uso un grafico a 5 minuti sul Dax.
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.
Intendevi WPO, invece di DPO nel testo?
Sì scusa, intendevo WPO. Anche questo indicatore usa dati futuri? Dal testo che ho scritto non mi sembra…
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)
|
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
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?
Mi spiace ripeterlo: Per scrivere il codice , utilizza il pulsante <> “insert PRT code”, in modo da rendere il codice più comprensibile. GRAZIE.
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
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.
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.