come escludere la domenica dal conteggio?
Forums › ProRealTime forum Italiano › Supporto ProOrder › come escludere la domenica dal conteggio?
- This topic has 27 replies, 3 voices, and was last updated 5 years ago by robertogozzi.
-
-
11/06/2019 at 11:34 AM #112256
eccomi…
1234567891011121314151617181920212223242526272829303132333435363738DEFPARAM CUMULATEORDERS=FALSEC1= CLOSE CROSSES OVER DHIGH(21) AND TIME>=030000 AND TIME<=190000C2= CLOSE CROSSES OVER DHIGH(6) AND TIME>=030000 AND TIME<=190000IF C1 or C2 THENBUY 1 CONTRACT AT MARKETENDIFIF LONGONMARKET AND BARINDEX-TRADEINDEX=30 THENSELL AT MARKETENDIFIF SHORTONMARKET AND BARINDEX-TRADEINDEX=30 THENEXITSHORT AT MARKETENDIFSET TARGET PPROFIT 500SET STOP PLOSS 410//TRAILING STOPTGL=160TGS=320if not onmarket thenMAXPRICE = 0MINPRICE = closePREZZOUSCITA = 0ENDIFif longonmarket thenMAXPRICE = MAX(MAXPRICE,close)if MAXPRICE-tradeprice(1)>=TGL*pointsize thenPREZZOUSCITA = MAXPRICE-TGL*pointsizeENDIFENDIFif shortonmarket thenMINPRICE = MIN(MINPRICE,close)if tradeprice(1)-MINPRICE>=TGS*pointsize thenPREZZOUSCITA = MINPRICE+TGS*pointsizeENDIFENDIFif onmarket and PREZZOUSCITA>0 thenEXITSHORT AT PREZZOUSCITA STOPSELL AT PREZZOUSCITA STOPENDIF11/07/2019 at 3:15 PM #112344Per favore usa il pulante “Insert PRT code” per inserire codice, in modo da renderlo più leggibile. Grazie 🙂
Per favorire la lettura del codice, come di un qualsiasi teso, NON usare solo i caratteri maiuscoli, ma alterna tra maiuscoli e minuscoli, è più chiaro e più carino e si legge meglio. Ad esempio se crei una variabile chiamata UltimoPrezzoDelGiorno si legge meglio di ULTIMOPREZZODELGIORNO. Lo stesso vale per le istruzioni, è meglio TradeIndex che TRADEINDEX, meglio UpdateOnClose che UPDATEONCLOSE. In ogni caso, se non si vuole intervallare maiuscolo e minuscolo, è comunque preferibile usare tutto minuscolo piuttosto che tutto maiuscolo, è meglio tradeindex di TRADEINDEX.
Nel tuo codice a che ti servono le righe 10-12 dal momento che non entri mai Short?
Per aprire operazioni solo da lunedì a venerdì sostituisci la riga 4 con:
1IF (C1 or C2) AND OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5 THEN11/07/2019 at 5:27 PM #112363Ciao Roberto, in realta’ ho postato solo parte del codice, solo long per non fare casini, si per entrare dal Lunedi al venerdì ok, ma non riesco a non fargli NON contare la domenica!!!
11/07/2019 at 7:13 PM #112366Ma se non c’è nessun conteggio, In quale punto del codice ti serve escludere la domenica?
11/08/2019 at 10:19 AM #112397Buongiorno Roberto, ancora grazie per i tuoi consigli.
Cerchero’ di spiegarmi meglio…se dico al ts di comprare se la candela 1h crossa il massimo di 10 giorni fa (dhigh(10)) primo problema nel contare indietro mentre i giorni passano capitera’ che andra’ a considerare i livelli anche della domenica,
secondo problema (ma questo e’ mio persanale non di prt) e’ che mi servirebbe che nell’ottimizazzione non si contasse la domenica ad esempio se ottimizzo quel 10(dieci giorni fa) sicuro becchera’ anche una domenica e siccome devo riportare tutto su la mt4 di un altro broker che a differenza di IG non considera i dati della domenica…
come possiamo fare?
Grazie…
11/08/2019 at 11:28 AM #112402Per l’ottimizzazione non c’è niente da fare, non so se cambierà quaòcosa con la v11, ma fino alla 10.3 non si possono escludere dei giorni. TUTTE le candele verranno prese in considerazione (la personalizzazione degli orari di trading è un effetto visivo, tu non vedi certe ore e giorni, ma il sistema ce l’ha e li considera).
Quindi anche per il Dhigh(10) vale la stessa cosa, prende la decima candela giornaliera precedente quella corrente. L’unica cosa è, ogni volta che devi fare riferimento ad un periodo fare un ciclo FOR..NEXT o WHILE…WEND. Se fai la ricerca poche volte e per un periodo breve, tipo 10-20 giorni, non comporta gran che, se devi farci riferimento spesso e per periodi anche di 100 giorni… allora potrebbe esserci un notevole rallentamento della strategia e dei relativi backtest.
11/08/2019 at 11:51 AM #112404Ho capito, confermi quello che avevo notato, a questo punto cosa mi consiglieresti?
che conteggio posso fare per far si che possa inserire un valore corretto sulla mt4?
ad esempio, se conto 13 candele indietro comprese le domeniche e vado ad escludere le domeniche il conteggio regge bene 6 giorni…
11/08/2019 at 12:35 PM #112406Puoi usare questo codice:
12345678910111213Periodi = 10i = 0j = 0While i < 10x = OpenDayOfWeek[j]If x >= 1 AND x <= 5 Theni = i + 1//// qui metti quello che vuoi fare//Endifj = j + 1WendMetti tu I periodi al posto di 10 e dove ci sono i commenti metti le azioni che vuoi fare quando si tratta di una candela che non è nel fine settimana.
Se sei sul Giornaliero è semplice, se, invece, sei in intraday è più complicato.
11/08/2019 at 2:11 PM #112416Ok Roberto, provo…l’ottimizazzione del parametro la devo fare su h1 ma su una candela daily, quindi usero dhigh/dlow…ti faccio sapere, grazie…
11/08/2019 at 2:20 PM #112417123456789101112131415161718192021222324252627282930DEFPARAM CUMULATEORDERS=FALSEPeriodi = ai = 0j = 0While i < ax = OpenDayOfWeek[j]If x >= 1 AND x <= 5 Theni = i + 1//// qui metti quello che vuoi fare//C1= CLOSE CROSSES OVER DHIGH(periodi)C2= TIME>=090000 and time<=180000IF C1 AND C2 THENBUY 1 CONTRACT AT MARKETENDIFIF LONGONMARKET AND BARINDEX-TRADEINDEX=22 THENSELL AT MARKETENDIFSET STOP PLOSS 130SET TARGET PPROFIT 300Endifj = j + 1Wend11/08/2019 at 4:52 PM #112432Purtroppo PRT ha problemi con i cicli, non riesce a gestire troppe iterazioni.
Se, ad esempio, sei su TF a 1 ora e vuoi andare indietro di 10 giorni, in realtà deve fare 240 cicli, se sei su 1 minuto non ne parliamo.
Non credo sia possibile arrivare ad una soluzione del tuo problema.
11/08/2019 at 5:05 PM #112434grazie Roberto per averci provato, ti auguro un buon fine settimana…
11/08/2019 at 5:30 PM #112441Grazie, anche a te.
-
AuthorPosts
Find exclusive trading pro-tools on