Trailing stop con stop prefissato

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #217579 quote
    Edisone
    Participant
    Average

    Salve,

    Time frame 3 ore. Condizione d’uscita: quando High incrocia al rialzo un prezzo pre impostato es. 15000. Una volta verificata la condizione è possibile impostare un Trailing stop con stop prefissato a 15000 (senza attendere la chiusura della candela) ?

    #217595 quote
    robertogozzi
    Moderator
    Master

    Si, scrivi (Long):

    Set Stop Price 15000
    #217599 quote
    Edisone
    Participant
    Average

    Scusami gentilmente potresti modificarmi il codice (che fa riferimento ad un mio indicatore) con l’istruzione “Set Stop Price DSPIU1″ ?

    e se possibile un’alternativa conuscita  al tocco del prezzo DSPIU1 senza aspettare la chiusura della candela.

    allego il codice

    Grazie mille

    DEFPARAM CumulateOrders = TRUE
    
    // Condizioni per entrare su posizioni long
    DS1M, ignored, DS2M, ignored, ignored, ignored, ignored, ignored, ignored = CALL "DS-NQ"[0, 0, 0, 255, 105, 89, 205, 0, 0, 0, 0, 0]
    DS1 = (low CROSSES UNDER DS1M)
    DS2 = (low CROSSES UNDER DS2M)
    
    IF DS2 THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    
    IF DS1 AND NOT DS2 AND NOT ONMARKET  THEN
    BUY 1 SHARES AT MARKET
    ENDIF
    
    // Condizioni per uscire da posizioni long
    ignored, DSPIU1, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "DS-NQ"[0, 0, 0, 255, 105, 89, 205, 0, 0, 0, 0, 0]
    c2 = (high CROSSES OVER DSPIU1)
    
    IF LONGONMARKET and c2 THEN
    SELL AT MARKET
    ENDIF
    
    #217615 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    DEFPARAM CumulateOrders = TRUE
    
    // Condizioni per entrare su posizioni long
    DS1M, ignored, DS2M, ignored, ignored, ignored, ignored, ignored, ignored = CALL "DS-NQ"[0, 0, 0, 255, 105, 89, 205, 0, 0, 0, 0, 0]
    DS1 = (low CROSSES UNDER DS1M)
    DS2 = (low CROSSES UNDER DS2M)
    
    // Condizioni per uscire da posizioni long
    ignored, DSPIU1, ignored, ignored, ignored, ignored, ignored, ignored, ignored = CALL "DS-NQ"[0, 0, 0, 255, 105, 89, 205, 0, 0, 0, 0, 0]
    c2 = (high CROSSES OVER DSPIU1)
    
    // entrate Long
    IF DS2 THEN
       BUY 1 SHARES AT MARKET
       Set Stop Price DSPIU1
    ENDIF
    
    IF DS1 AND NOT DS2 AND NOT ONMARKET  THEN
       BUY 1 SHARES AT MARKET
       Set Stop Price DSPIU1
    ENDIF
    
    // uscita Long
    IF LONGONMARKET and c2 THEN
       SELL AT MARKET
    ENDIF
    #217617 quote
    Edisone
    Participant
    Average

    grazie  ma non funziona, al verificarsi della condizone entra e subito chiude l’operazione…

    #217620 quote
    robertogozzi
    Moderator
    Master

    Il livello devi deciderlo tu o l’indicatore (io non posso saperlo), dove c’è STOP PRICE prezzo, sostituisci prezzo con il valore desiderato, o la variabile desiderata. Io ho messo DSPIU1 come mi hai indicato tu.

    #217629 quote
    Edisone
    Participant
    Average

    Si si , fatto ma il problema è  che non c’è trade, l’operazione viene aperta e chiusa immediatamente. Supponiamo che la condizione di apertura sia quando il prezzo tocca 14000 e la chiusura a 15000, a 14000 compra 1 contratto e lo vende immediatamente sempre a 14000.

    #217635 quote
    robertogozzi
    Moderator
    Master

    Certo, se la condizione di apertura è quando tocca 14000, entra a 14000, ma se metti lo stop a 14000 esce immediatamente.
    Lo stop deve essere < prezzo d’entrata (caso Long).

    #217653 quote
    Edisone
    Participant
    Average

    Entrare a 14000 ed uscire quando il prezzo tocca i 15000 senza aspettare la chisura della candela è possibile ?

    #217716 quote
    robertogozzi
    Moderator
    Master

    Si, con due ordini pendenti (uno per l’entrata e l’altro per l’uscita, quello per l’uscita ripetuto ad ogni candela quando è a mercato):

    IF not OnMarket AND close < 15000 THEN
       IF close < 14000 THEN
          BUY 1 Contract AT 14000 STOP
          SELL AT 15000 LIMIT
       ELSIF close > 14000 THEN
          BUY 1 Contract AT 14000 LIMIT
          SELL AT 15000 LIMIT
       ENDIF
    ENDIF
    IF OnMarket THEN
       SELL AT 15000 LIMIT
    ENDIF
    Edisone thanked this post
    #217733 quote
    Edisone
    Participant
    Average

    Perfetto Grazie funziona.

    Posso chiederti gentilmente se mi sistemi il codice, non riesco ad impostare correttamente le condizione di entrata/uscita:

    i livelli prezzo di entrata sono 2, chiamati DS1M e DS2M nota che DS2M è sempre un valore più basso di DS1M

    1 condizione di entrata: buy all’incrocio del livello DS2M alla chiusura della candela

    2 condiziona di entrata : buy all’incrocio del livello DS1M solo se il prezzo non ha toccato DS2M, sempre alla chiusura della candela

    3 uscita come sopra cioè quando il prezzo tocca DSPIU1 senza aspettare la chisura della candela

    4 uscita quando il prezzo tocca MAXX senza aspettare la chisura della candela

    GRAZIE

     

     

    DEFPARAM CumulateOrders = TRUE //False // Posizioni cumulate disattivate
    
    // Condizioni per entrare su posizioni long
    DS1M, DSPIU1, DS2M, ignored, ignored, MAXX, ignored, ignored, ignored = CALL "MIO INDICATORE"[0, 0, 0, 255, 105, 89, 205, 0, 0, 0, 0, 0]
    DS1 = (low CROSSES UNDER DS1M)
    DS2 = (low CROSSES UNDER DS2M)
    
    IF DS2 THEN // Buy sempre se tocca prezzo DS2M
    BUY 1 SHARES AT MARKET
    ENDIF
    
    IF not OnMarket AND close < DSPIU1 THEN // Buy solo se il prezzo non ha toccato DS2M
     IF DS1 THEN
    BUY 1 Contract AT DS1M STOP
    SELL AT DSPIU1 LIMIT
    ELSIF close > DS1M THEN
    BUY 1 Contract AT DS1M LIMIT
    SELL AT DSPIU1 LIMIT
    ENDIF
    ENDIF
    
    c4 = (high CROSSES OVER MAXX) // 2° condzione Sell se il prezzo tocca MAXX
    
    IF OnMarket THEN
    SELL AT DSPIU1 LIMIT
    ENDIF
    #217734 quote
    Edisone
    Participant
    Average
    Scusami ho modificato la 1 condizione, Sorry

    Perfetto Grazie funziona.

    Posso chiederti gentilmente se mi sistemi il codice, non riesco ad impostare correttamente le condizione di entrata/uscita:

    i livelli prezzo di entrata sono 2, chiamati DS1M e DS2M nota che DS2M è sempre un valore più basso di DS1M

    1 condizione di entrata: buy all’incrocio del livello DS2M quando il prezzo tocca DS2M

    2 condiziona di entrata : buy all’incrocio del livello DS1M solo se il prezzo non ha toccato DS2M, sempre alla chiusura della candela

    3 uscita come sopra cioè quando il prezzo tocca DSPIU1 senza aspettare la chisura della candela

    4 uscita quando il prezzo tocca MAXX senza aspettare la chisura della candela

    GRAZIE

    #218951 quote
    robertogozzi
    Moderator
    Master

    che cos’è DS1?

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

Trailing stop con stop prefissato


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Edisone @edisone Participant
Summary

This topic contains 12 replies,
has 2 voices, and was last updated by robertogozzi
2 years, 6 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 07/12/2023
Status: Active
Attachments: No files
Logo Logo
Loading...