Per 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:
IF (C1 or C2) AND OpenDayOfWeek >= 1 AND OpenDayOfWeek <= 5 THEN
Ciao 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!!!
Ma se non c’è nessun conteggio, In quale punto del codice ti serve escludere la domenica?
Buongiorno 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…
Per 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.
Ho 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…
Puoi usare questo codice:
Periodi = 10
i = 0
j = 0
While i < 10
x = OpenDayOfWeek[j]
If x >= 1 AND x <= 5 Then
i = i + 1
//
// qui metti quello che vuoi fare
//
Endif
j = j + 1
Wend
Metti 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.
Ok Roberto, provo…l’ottimizazzione del parametro la devo fare su h1 ma su una candela daily, quindi usero dhigh/dlow…ti faccio sapere, grazie…
DEFPARAM CUMULATEORDERS=FALSE
Periodi = a
i = 0
j = 0
While i < a
x = OpenDayOfWeek[j]
If x >= 1 AND x <= 5 Then
i = i + 1
//
// qui metti quello che vuoi fare
//
C1= CLOSE CROSSES OVER DHIGH(periodi)
C2= TIME>=090000 and time<=180000
IF C1 AND C2 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF LONGONMARKET AND BARINDEX-TRADEINDEX=22 THEN
SELL AT MARKET
ENDIF
SET STOP PLOSS 130
SET TARGET PPROFIT 300
Endif
j = j + 1
Wend
Purtroppo 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.
grazie Roberto per averci provato, ti auguro un buon fine settimana…