ORDINI STOP E LIMIT SETTIMANALI
Forums › ProRealTime English forum › ProOrder support › ORDINI STOP E LIMIT SETTIMANALI
- This topic has 11 replies, 2 voices, and was last updated 1 year ago by robertogozzi.
-
-
04/13/2022 at 3:20 PM #191709
Buonasera,
vorrei aiuto per codificare la seguente strategia e farla girare automaticamente su proorder:
Condizione di ingresso : qualsiasi, basta inserire degli ordini stop o limit a livelli prestabiliti di prezzo (esempio voglio comprare un MIB a 24.500, se il prezzo è inferiore il sistema inserirà un ordine stop, se il prezzo è maggiore inserirà un ordine limit)
Una volta entrato a mercato e raggiunto TP o SL vorrei che si ripetesse la condizione sopra in modo da avere un nuovo ordine pendente a 24.500 subito dopo la chiusura della posizione.
Tutto ciò in maniera perpetua fino a che la strategia e attiva su proorder.
Se possibile riunire diversi livelli di prezzo ed ordini BUY e SELL nella stessa strategia sarebbe meglio, altrimenti posso lanciarne più di una.
Grazie per l’aiuto.
04/13/2022 at 3:28 PM #19171104/13/2022 at 5:41 PM #191728Per favore non duplicare i tuoi post, ne ho già cancellati 3!
Grazie 🙂
04/13/2022 at 5:52 PM #191729Eccolo:
12345678910111213141516$Prezzo[1] = 26000$Prezzo[2] = 25500$Prezzo[3] = 25000$Prezzo[4] = 24500$Prezzo[5] = 24000IF Not OnMarket THENFOR i = 1 TO 5IF close > $Prezzo[i] THENBUY 1 CONTRACT AT $Prezzo[i] LIMITELSEBUY 1 CONTRACT AT $Prezzo[i] STOPENDIFNEXTENDIFSET TARGET pPROFIT 750SET STOP pLOSS 25004/14/2022 at 9:42 AM #191747Grazie Roberto,
vorrei però che ogni livello sia indipendente dall’altro, cioè rimane in posizione al primo livello che incontra fino a TP o SL e non apre ulteriori posizioni a quel livello fino a quando non è chiusa la prima.
Se però nel suo andamento incontra il livello 2 apre una nuova posizione con i relativi TP e SL e mantiene la posizione del livello 2 fino alla chiusura.
Quindi in teoria usando stop loss larghi posso incrociare altri livelli dove aprire posizioni.
Secondo te è possibile riunire il tutto nella stessa strategia?
Ciao.
04/14/2022 at 9:53 AM #191750Hai scritto “vorrei però che ogni livello sia indipendente dall’altro, cioè rimane in posizione al primo livello che incontra fino a TP o SL e non apre ulteriori posizioni a quel livello fino a quando non è chiusa la prima“, però dopo scrivi “Se però nel suo andamento incontra il livello 2 apre una nuova posizione con i relativi TP e SL e mantiene la posizione del livello 2 fino alla chiusura“.
Se incontra un altro livello cosa deve fare, chiudere il precedente ed aprirne uno nuovo, oppure accumulare le posizioni?
04/14/2022 at 10:58 AM #19175504/14/2022 at 12:16 PM #19175804/14/2022 at 4:56 PM #191764Va bene, ma non so se ce la farò prima di Pasqua.
04/20/2022 at 2:00 PM #191953Roberto, nel nuovo codice possiamo prevedere la eventuale possibilità di differenziare target e stop per ogni livello?
L idea è quella di diminuire i pips del traget e dello stop sui livelli più lontani rispetto al prezzo nel momento che lancio il sistema ad inizio settimana.
Grazie.04/21/2022 at 9:11 AM #192001E’ piuttosto complesso, perché non si può sapere con precisione a quale livello è entrato.
Lo farò nei momenti liberi.
Per TP e SL, non è possibile differenziarlo per i singoli livelli, quando vengono variati lo sono per tutti.
05/10/2022 at 9:23 AM #192975Scusami per il ritardo, ma non è stato facilissimo trovare una soluzione (seppure PARZIALE).
Non è possibile, come ti avevo già accennato, sapere a quale livello si è entrati quando si piazzano vari ordini pendenti, e neppure sapere esattamente quando un ordine è uscito quanto si accumulano più posizioni.
Per cui ti ho scritto questa strategia, ma usando l’entrata a mercato, non con ordini pendenti:
1234567891011121314151617181920212223242526272829303132333435363738394041DEFPARAM CumulateOrders = TrueONCE $Prezzo[1] = 34000ONCE $Prezzo[2] = 33500ONCE $Prezzo[3] = 33000ONCE $Prezzo[4] = 32500ONCE $Prezzo[5] = 32000ONCE $Entrata[1] = 0ONCE $Entrata[2] = 0ONCE $Entrata[3] = 0ONCE $Entrata[4] = 0ONCE $Entrata[5] = 0//// azzerare i segnali dei livelli d'entrata quando non si è a mercato//IF Not OnMarket THENFOR i = 1 TO 5$Entrata[i] = 0NEXTENDIF//// verificare se c'è stata un uscita (che sia stato per SL o TP)//Pozizioni = abs(CountOfPosition)FOR i = 1 TO 5IF ((low <= $Prezzo[i]) OR (high >= $Prezzo[i])) AND ($Entrata[i] = 1) AND (Pozizioni <> Pozizioni[1]) AND OnMarket THEN$Entrata[i] = 0ENDIFNEXT//// entrare a mercato//FOR i = 1 TO 5IF (close >= $Prezzo[i]) AND (close[1] <= $Prezzo[i]) AND ($Entrata[i] = 0) THENBUY 1 CONTRACT AT Market$Entrata[i] = 1ENDIFNEXT//// SL & TPSET STOP pLOSS 500SET TARGET pPROFIT 1500 -
AuthorPosts
Find exclusive trading pro-tools on