ORDINI STOP E LIMIT SETTIMANALI

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #191709 quote
    GIULIO.BI
    Participant
    New

    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.

    #191711 quote
    GIULIO.BI
    Participant
    New

    Scusate ho sbagliato lingua del forum, ho ripubblicato in italiano.

    #191728 quote
    robertogozzi
    Moderator
    Master

    Per favore non duplicare i tuoi post, ne ho già cancellati 3!

    Grazie 🙂

    #191729 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    $Prezzo[1] = 26000
    $Prezzo[2] = 25500
    $Prezzo[3] = 25000
    $Prezzo[4] = 24500
    $Prezzo[5] = 24000
    IF Not OnMarket THEN
       FOR i = 1 TO 5
          IF close > $Prezzo[i] THEN
             BUY 1 CONTRACT AT $Prezzo[i] LIMIT
          ELSE
             BUY 1 CONTRACT AT $Prezzo[i] STOP
          ENDIF
       NEXT
    ENDIF
    SET TARGET pPROFIT 750
    SET STOP   pLOSS   250
    #191747 quote
    GIULIO.BI
    Participant
    New

    Grazie 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.

    #191750 quote
    robertogozzi
    Moderator
    Master

    Hai 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?

    #191755 quote
    GIULIO.BI
    Participant
    New

    Accumulare posizioni.

    #191758 quote
    GIULIO.BI
    Participant
    New

    Al massimo una per ogni livello.

    #191764 quote
    robertogozzi
    Moderator
    Master

    Va bene, ma non so se ce la farò prima di Pasqua.

    #191953 quote
    GIULIO.BI
    Participant
    New

    Roberto, 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.

    #192001 quote
    robertogozzi
    Moderator
    Master

    E’ 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.

    #192975 quote
    robertogozzi
    Moderator
    Master

    Scusami 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:

    DEFPARAM CumulateOrders = True
    ONCE $Prezzo[1]  = 34000
    ONCE $Prezzo[2]  = 33500
    ONCE $Prezzo[3]  = 33000
    ONCE $Prezzo[4]  = 32500
    ONCE $Prezzo[5]  = 32000
    ONCE $Entrata[1] = 0
    ONCE $Entrata[2] = 0
    ONCE $Entrata[3] = 0
    ONCE $Entrata[4] = 0
    ONCE $Entrata[5] = 0
    //
    // azzerare i segnali dei livelli d'entrata quando non si è a mercato
    //
    IF Not OnMarket THEN
       FOR i = 1 TO 5
          $Entrata[i] = 0
       NEXT
    ENDIF
    //
    // verificare se c'è stata un uscita (che sia stato per SL o TP)
    //
    Pozizioni = abs(CountOfPosition)
    FOR i = 1 TO 5
       IF ((low <= $Prezzo[i]) OR (high >= $Prezzo[i])) AND ($Entrata[i] = 1) AND (Pozizioni <> Pozizioni[1]) AND OnMarket THEN
          $Entrata[i] = 0
       ENDIF
    NEXT
    //
    // entrare a mercato
    //
    FOR i = 1 TO 5
       IF (close >= $Prezzo[i]) AND (close[1] <= $Prezzo[i]) AND ($Entrata[i] = 0) THEN
          BUY 1 CONTRACT AT Market
          $Entrata[i] = 1
       ENDIF
    NEXT
    //
    // SL & TP
    SET STOP   pLOSS   500
    SET TARGET pPROFIT 1500
Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

ORDINI STOP E LIMIT SETTIMANALI


ProOrder: Automated Strategies & Backtesting

New Reply
Author
author-avatar
GIULIO.BI @giulio-bi Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by robertogozzi
3 years, 9 months ago.

Topic Details
Forum: ProOrder: Automated Strategies & Backtesting
Language: English
Started: 04/13/2022
Status: Active
Attachments: No files
Logo Logo
Loading...