Stop Loss monetario

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #108809 quote
    Giuliano_G
    Participant
    Average

    Ciao a tutti, ho inserito nel codice di un sistema su GBPJPY uno STOP $LOSS di 50000 che come dice la descrizione è nella Currency dello strumento. Lanciando il backtest noto diversi STOP oltre i 50000 ¥, addirittura uno da 112000 ¥ che è più del doppio.
    Interpreto male il significato della funzione?

    Cattura-2.png Cattura-2.png
    #108869 quote
    Nicolas
    Keymaster
    Master

    Dove si trova l'istruzione nel tuo codice? Sei sicuro che non si trovi in una condizione in modo che lo stoploss non sia impostato affatto? Stai eseguendo il backtest in tick-by-tick? Hai incluso le tasse?

    #108876 quote
    Giuliano_G
    Participant
    Average
    If TIME = OrarioIngresso AND FiltroShort THEN
    SELLSHORT nCON SHARES AT LOW STOP
    SET STOP $LOSS 50000
    SET TARGET $PROFIT 300000
    Endif

    Allego blocco del codice in questione, il long è speculare e funziona correttamente con stop a 150000 ¥, lo short ha quelle operazioni in foto che non riesco a giustificare. Il test è fatto sia con tick-by-tick che senza e non cambia. Non ho aggiunto commissioni

    Cattura-3.png Cattura-3.png
    #108890 quote
    Nicolas
    Keymaster
    Master

    Usi un ordine condizionale e metti uno stoploss solo al momento in cui lo metti, quindi il sistema non ha idea se l'ordine verrà eseguito o meno nel periodo successivo. È necessario spostare le istruzioni SET STOP e SET TARGET al di fuori delle proprie condizioni, ad esempio alla fine del codice. In questo modo, ti assicurerai che lo stoploss sarà posizionato correttamente una volta che il tuo ordine STOP è stato attivato sul mercato.

    #108897 quote
    Giuliano_G
    Participant
    Average

    Ho provato e in effetti funziona, grazie! Ho un dubbio però, ho altri sistemi tipo questo sul DAX e lo stop funziona correttamente, cosa c’è di diverso?

    If TIME >= MyTimeInS AND TIME <= MyTimeOutS THEN
    SELLSHORT 1 SHARES AT MinS STOP
    SET STOP PLOSS 80
    Endif
    #108901 quote
    Giuliano_G
    Participant
    Average

    E tra l’altro ho un sistema gemello a quello su GBPJPY che lavora su USDJPY e che invece funziona correttamente anche con la struttura precedente

    #108960 quote
    Nicolas
    Keymaster
    Master

    Quando si utilizzano ordini in sospeso, dipende da quando vengono attivati. Stai usando le istruzioni TIMEFRAME?

    #108966 quote
    Giuliano_G
    Participant
    Average

    Questo è il codice intero

    DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate
    //---------------------------------------------------------------------------------------------------
    TIMEFRAME(DAILY)
    //FILTRO DI COMPRESSIONE
    IF DAYOFWEEK = 1 THEN
    BlastOff = (DHIGH(2) - DLOW(2)) < (DHIGH(3) - DLOW(3))
    ENDIF
    IF DAYOFWEEK = 2 THEN
    BlastOff = (DHIGH(1) - DLOW(1)) < (DHIGH(3) - DLOW(3))
    ENDIF
    IF (DAYOFWEEK = 3 OR DAYOFWEEK = 4 OR DAYOFWEEK = 5) THEN
    BlastOff = (DHIGH(1) - DLOW(1)) < (DHIGH(2) - DLOW(2))
    ENDIF
    //---------------------------------------------------------------------------------------------------
    TIMEFRAME(1H)
    //ORARI DI ENTRATA
    MyTimeInL = 110000
    MyTimeInS = 20000
    //CONTRATTI
    nCON = 1
    //---------------------------------------------------------------------------------------------------
    //CONDIZIONI DI INGRESSO LONG
    If TIME = MyTimeInL AND BlastOff THEN
    BUY nCON SHARES AT HIGH stop
    ENDIF
    //CONDIZIONI DI USCITA LONG
    IF LONGONMARKET THEN
    SET STOP $LOSS 15000
    SET TARGET $PROFIT 30000
    ENDIF
    //---------------------------------------------------------------------------------------------------
    //CONDIZIONI PER INGRESSO SHORT
    If TIME = MyTimeInS AND BlastOff THEN
    SELLSHORT nCON SHARES AT LOW STOP
    Endif
    //CONDIZIONI PER USCITA SHORT
    IF SHORTONMARKET THEN
    SET STOP $LOSS 5000
    SET TARGET $PROFIT 30000
    ENDIF
    
    #109008 quote
    Nicolas
    Keymaster
    Master

    Se incorpori le tue istruzioni STOP LOSS in una condizione " SE SHORTONMARKET POI", vuoi che la strategia sappia che sei già sul mercato. Quindi, in questo caso, e poiché il codice viene letto solo una volta a Close, saprà solo che sei al mercato, 1 bar troppo tardi. Pertanto, per 1 periodo, il tuo ordine non è protetto da uno stoploss. È necessario rimuovere tali condizioni alle righe 27 e 37.

    #109033 quote
    Giuliano_G
    Participant
    Average

    Questa l’unica soluzione che ho trovato rispetto al codice iniziale perché mi hai indicato di togliere l’istruzione da dove era. Se nel primo caso non è corretto e nel secondo caso è pericoloso, come faccio a indicare uno stop loss che sia diverso per il lato long e il lato short?

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.

Stop Loss monetario


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Giuliano_G @giuliano_g Participant
Summary

This topic contains 9 replies,
has 2 voices, and was last updated by Giuliano_G
6 years, 4 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/29/2019
Status: Active
Attachments: 2 files
Logo Logo
Loading...