Intanto devi importare ed installare il file dei Pivot Giornalieri-Settimanali-Mensili (https://www.prorealcode.com/topic/customised-pivot-point-indicator/) creato da ProRealTime su richiesta di un utente, perché dovrà essere richiamato dalla strategia.
Allego anche il file della strategia (parzialmente funzionante) che puoi importare e di cui riporto il testo qui di seguito:
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
// Pivot Giornalieri
ONCE dP = Undefined
ONCE dR1 = Undefined
ONCE dS1 = Undefined
ONCE dR2 = Undefined
ONCE dS2 = Undefined
ONCE dR3 = Undefined
ONCE dS3 = Undefined
// Pivot Setgtimanali
ONCE wP = Undefined
ONCE wR1 = Undefined
ONCE wS1 = Undefined
ONCE wR2 = Undefined
ONCE wS2 = Undefined
ONCE wR3 = Undefined
ONCE wS3 = Undefined
// Pivoy Mensili
ONCE mP = Undefined
ONCE mR1 = Undefined
ONCE mS1 = Undefined
ONCE mR2 = Undefined
ONCE mS2 = Undefined
ONCE mR3 = Undefined
ONCE mS3 = Undefined
IF OnMarket THEN
SELL AT MARKET
EXITSHORT AT MARKET
ENDIF
dP, dR1, dS1, dR2, dS2, dR3, dS3, wP, wR1, wS1, wR2, wS2, wR3, wS3, mP, mR1, mS1, mR2, mS2, mR3, mS3 = CALL "Pivots D-W-M"
BUY 1 CONTRACT AT dR1 STOP
SELLSHORT 1 CONTRACT AT dS1 STOP
SET TARGET PROFIT dR2 - dR1
SET STOP LOSS dS1
// dummy lines to avoid errors being reported by ProOrder because some variables are not used
// linee inutili e superflue, messe solo per evitare che ProOrder segnali che alcune variabili non sono utilizzate
x = dP + dR1 + dS1 + dR2 + dS2 + dR3 + dS3 + wP + wR1 + wS1 + wR2 + wS2 + wR3 + wS3 + mP + mR1 + mS1 + mR2 + mS2 + mR3 + mS3
IF x < 0 then
buy at market
endif
Le righe iniziali sono l’inizializzaziine delle variabili (in realtà non servono, è solo per chiarezza). Ogni variabile ha un nome che inizia con
- “d” per i pivot Daily (giornalieri)
- “w” per i pivot Weekly (Settimanali)
- “m” per i pivot Monthly (Mensili)
seguiti da “P” per Pivot, oppure R1 per Resistenza1, S1 per Supporto1 ecc…
Siamo, come hai detto tu, sul TF settimanale, per cui alla chiusura della settimana la strategia verrà eseguita (ovviamente lo sarà all’inizio della candela successiva, alla riapertura settimanale) e verificherà se è già a mercato, in tal caso chiude le operazioni (tu vuoi chiuderle a fine settimana, ma non è possibile, si può fare solo alla riapertura) , dopodiché piazza due ordini STOP, uno d’acquisto su R1 ed uno di vendita su S1.
Il problema grosso è alle righe relative al TARGET ed allo STOP LOSS, perché si può solo indicare un Target e solo uno SL, siccome non sappiamo quale dei due ordini, lo SHORT o il LONG, entrerà (se entrerà) a mercato, io li ho messi per i Long.
Ovviamente così non può andare.
Si potrebbero inserire alla canxdela successiva, una volta verificato se siamo a mercato LONG o SHORT, ma allora dovresti tenere l’operazione aperta per più di una settimana e rischieresti, comunque, nella settimana in cui entra a mercato, di non essere tutelato da uno SL!
Credo vada ripensata la strategia, a meno che non ci sia qualche soluzione che non conosco e che magari @nicolas può suggerirci.