Buongiorno,
non riesco a capire come fare 3 cose:
-vorrei avere uno stop loss e un take profit bloccati nel senso che non si devono muovere/cambiare quando calcola le successive candele ma devono restare fissi li dove li ha messi in apertura. Per esempio vorrei avere un take profit fisso al close(1) che al momento del calcolo e’ per esempio 1.200, ma quando apre la successiva candela il TP si sposta al close della precedente candela quindi per esempio a 1.250, io invece vorrei rimanesse a 1.200 ovvero al close(1) di quando ho aperto la posizione. Come faccio?
-e’ possibile entrare nella stessa candela che forma il gap con un ordine limit? Mi sa di no perche’ il calcolo lo fa nella stessa candela giusto? Quello che ho pensato, visto che mi interessa il gap alla chiusura dei mercati e’ usare timeframe tipo di 5m e fare la differenza tra dclose(1) e open della barra a 5min. In questo modo almeno nella candela successiva dopo 5 minuti posso entrare in limit, corretto?
-potete indicarmi il codice per fare un entry open(0) +ATR dei 5 giorni precedenti con un ordine limite? Posso magari farlo a mano se sono su un timeframe a 5 minuti per esempio facendo io la media tra high e low dei 5 giorni precedenti?
Grazie
Basta che tu metta lo SL e TP solo quando NON sei già a mercato, mentre se sarai a mercato non verranno più variati:
IF Not OnMarket THEN //Se non sei a mercato setta SL e TP
SET TARGET PROFIT .... //sostituisci i punti con i tuoi valori
SET STOP LOSS .... //sostituisci i punti con i tuoi valori
ENDIF
Roberto
grazie mille. sugli altri due punti ha senso quanto dico? puoi aiutarmi con il codice dell’ultimo punto?
Il punto 2 mi sembra logicamente corretto.
Per il punto 3, vuoi operare sul 5 minuti?
dovendo entrare a mercato appena possibile e non potendolo fare alla prima barra per quanto dicevo al punto 2 a questo punto mi conviene testare timeframe 5min o al massimo m15, cosi’ entra a mercato rapidamente. quindi si diciamo 5min. l’atr pero’ mi serve sul day non sul timeframe basso
ho anche problemi a inserire il comando di max un trade al giorno… ho guardato sul forum ma i codici che ho trovato non mi funzionano.
Per ottenere un massimo di un trade al giorno devi inizializzare una variabile a 1 (che chiamerò Operare) che permette, quando la verificherai al BUY o SELLSHORT, di acquistare/vendere con
ONCE Operare = 1
poi devi essere sicuro che alla pima barra di ogni giorno quel valore venga resettato ad 1 con
IF IntraDayBarIndex = 0 THEN
Operare = 1
ENDIF
dopodiché devi indicare che quando è a mercato significa che l’operazione è già stata fatta e non deve farne altre (questa cosa puoi metterla dove vuoi, ma è meglio prima dei BUY/SELLSHORT
IF OnMarket THEN
Operare = 0
ENDIF
infine, quando indichi le condizioni per entrare Long/Short devi aggiungere questa condizione
IF tue_condizioni AND Operare THEN
BUY/SELLSHORT.....
ENDIF
Per il punto 2, puoi usare DCLOSE (1) alla prima barra, ma puoi usare anche la barra precedente sul TF da te prescelto, in quanto facendo la verifica sulla prima barra del giorno, la precedente non può che essere l’ultima del giorno precedente, quindi su un TF qualunque puoi fare la differenza tra chiusura del giorno prima e apertura attuale con
IF IntraDayBarIndex = 0 //se sei alla prima candela del giorno
Differenza = abs(close[1] - open) //Rileva l'eventuale GAP in apertura, non importa il segno
ENDIF
Per il punto 3 puoi calcolare l’ATR dei 5 giorni precedenti sapendo quante barre ci sono in un giorno, se operi su Eur/Usd ci saranno 24 ore per ciascuno dei 5 giorni con 12 barre da 5 minuti ogni ora, quindi 5*24*12 fa 1440 barre da verificare.
MioATR = AverageTrueRange[1440](close)
PrezzoEntrata = open + MioATR
IF Tue_Condizioni THEN
BUY .... AT PrezzoEntrata LIMIT
ENDIF
Ovviamente questo codice te lo ricalcola ad ogni barra successiva. Se vuoi che PrezzoEntrata faccia riferimento solo alla prima barra del giorno va modificato.