Forums › ProRealTime forum Italiano › Supporto ProOrder › Scalping test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// Definizione dei parametri del codice DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate defparam PRELOADBARS = 1000 // Condizioni per entrare su posizioni long indicator1 = ExponentialAverage[500](close) indicator2 = ExponentialAverage[21](close) c1 = (close CROSSES OVER indicator1) c2 = (indicator1 >= indicator1[3]) c3 = (indicator2 >= indicator2[3]) once Sl=0 once TP=0 if c1 and c2 and c3 then Sl= abs(CLOSE-(lowest[24](low)))/pointsize TP= SL * 1.75 Buy 1 contract at market endif set stop ploss sl set target pprofit tp |
Ero già arrivato alla conclusione del calcolo sbagliato ma con ABS si risolve anche in caso futuro di SL in vendita.
Grazie
Roberto sono ancora qui per un tuo preziosissimo aiuto.
ho alzato il livello. Nella libreria ho trovato qualcosa di simile ad un indicatore zigzag visto che non posso usare l’originale di PRT per problemi di calcolo in tempo reale (mi sembra di aver letto una tua risposta a riguardo).
Ti allego il codice da cui ho epurato la parte di drawing e ho mantenuto la parte di calcolo. Il tutto perchè vorrei aprire posizioni in acquisto solo se il tracciato è rialzista.
Poi ti allego la foto che ti mostra come lui esegua il tutto solo in parte , poi apre posizioni anche con linee in ribasso.
Spero sia tutto chiaro.
Grazie anticipatamente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
// Definizione dei parametri del codice DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate defparam PRELOADBARS = 1000 // Condizioni per entrare su posizioni long //---external parameters cp = 10 once lastpoint = 0 if high[cp] >= highest[2*cp+1](high) then LH = 1 else LH = 0 endif if low[cp] <= lowest[2*cp+1](low) then LL = -1 else LL = 0 endif if LH = 1 then TOPy = high[cp] TOPx = barindex[cp] endif if LL = -1 then BOTy = low[cp] BOTx = barindex[cp] endif once lasty= 0 if LH>0 and (lastpoint=-1 or lastpoint=0) then lastpoint = 1 lastX = TOPx lastY = TOPy endif if LL<0 and (lastpoint=1 or lastpoint=0) then lastpoint = -1 lastX = BOTx lastY = BOTy endif if lastx then endif indicator1 = ExponentialAverage[40] indicator2 = ExponentialAverage[20] indicator3 = ExponentialAverage[2000] c1 = (close CROSSES OVER indicator1) c2 = (indicator1 > indicator1[1]) c3 = (indicator2 > indicator2[1]) c4 = (indicator3 > indicator3[1]) c5 = ( lasty < close) once Sl=0 once TP=0 if c1 and c2 and c3 and c4 and c5 then Sl= (abs(CLOSE-(lowest[24](low)))/pointsize)+3 TP= SL * 2.5 Buy 1 contract at market endif set stop ploss sl set target pprofit tp |
Lo ZigZag non si può usare perché i segnali li da solo dopo la conferma, magari qualche candela dopo, ma una strategia non può andare indietro. Quando lui calcola il segnale (anche avendo tolto la parte grafica) è troppo tardi, lui entra ma il mercato è cambiato.
Gli indicatori che fanno repainting, anche se il repainting lo togli, non funzionano con le strategie.
Oltre allo ZigZag c’è il Dpo ed altri.