Interruzione script e attesa reverse nel caso di intervento del exitLong o exitShort

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • armando
    Member

    • Apr 2012
    • 43

    #1

    Interruzione script e attesa reverse nel caso di intervento del exitLong o exitShort

    E\' da varie settimane che mi stò domandando se é possibile quanto descritto nel titolo della discussione. Ho provato in BeeTrader innumerevoli altre strade per eludere il problema ma senza risultato.
    P. es.: sono long, interviene l\'exitLong ma se le condizioni che caratterizzano lo script di buy permangono, interviene nuovamente l\'acquisto e dinuovo l\'exitLong ecc. ecc, a volte in maniera interminabile sino a quando la richiesta nello script buy non é più soddisfatta. La tal cosa avviene per converso sulla vendita ed il corrispondente exitShort sino a far preferire l\'eliminazione di entrambe le soluzioni exit ed il solo utilizzo dello stop Loss, con tutti i rischi che tale scelta comporta.
    L\'idea sarebbe, di ottenere dalla strategia le seguenti condizioni:
    -sono Long, interviene l\'exitLong-->> interdire ulteriori acquisti allo script buy sino a quando non interviene lo script sell.
    -sono Short, interviene l\'exitShort-->> interdire ulteriori vendite allo script sell sino a quando non interviene lo script buy.
    Naturalmente non sò costruirla e mi domando se é possibile realizzarla.
    Vogliate scusare le parole utilizzate, certamente poco tecniche, sia in ambito trading che informatico; qualcuno può aiutarmi? (ma non credo sia un problema solo mio)
    Saluti
    Armando
    Last edited by armando; 22-09-14, 09:44.
  • Smash
    Senior Member

    • Feb 2012
    • 351

    #2
    Originariamente Scritto da armando
    E\' da varie settimane che mi stò domandando se é possibile quanto descritto nel titolo della discussione. Ho provato in BeeTrader innumerevoli altre strade per eludere il problema ma senza risultato.
    P. es.: sono long, interviene l\'exitLong ma se le condizioni che caratterizzano lo script di buy permangono, interviene nuovamente l\'acquisto e dinuovo l\'exitLong ecc. ecc, a volte in maniera interminabile sino a quando la richiesta nello script buy non é più soddisfatta. La tal cosa avviene per converso sulla vendita ed il corrispondente exitShort sino a far preferire l\'eliminazione di entrambe le soluzioni exit ed il solo utilizzo dello stop Loss, con tutti i rischi che tale scelta comporta.
    L\'idea sarebbe, di ottenere dalla strategia le seguenti condizioni:
    -sono Long, interviene l\'exitLong-->> interdire ulteriori acquisti allo script buy sino a quando non interviene lo script sell.
    -sono Short, interviene l\'exitShort-->> interdire ulteriori vendite allo script sell sino a quando non interviene lo script buy.
    Naturalmente non sò costruirla e mi domando se é possibile realizzarla.
    Vogliate scusare le parole utilizzate, certamente poco tecniche, sia in ambito trading che informatico; qualcuno può aiutarmi? (ma non credo sia un problema solo mio)
    Saluti
    Armando

    Ciao,
    dovrebbe essere certamente possibile!
    Magari posta un esempio, così è più facile dare una risposta precisa e senza fraintendimenti.


    Comunque è un caso analogo a quello di cui si era parlato quì:



    Nel tuo caso, il vettore "Position" dovrebbe essere aggiunto nelle condizioni di Buy Script e Sell Script utilizzandolo in una maniera del tipo:

    Codice:
    ......
    ......
    AND Position <> REF(Position , 1)

    Comment

    • armando
      Member

      • Apr 2012
      • 43

      #3
      Salve Smash x avermi risposto.

      Click image for larger version

Name:	Esempio SX.jpg
Views:	1
Size:	24.5 KB
ID:	156280

      Allego un esempio e lo script relativo come richiesto:

      BUY Script:
      INPUTS: @periods(14) , @price(CLOSE), @matype(EXPONENTIAL),
      INPUTS: @trailAmount(100),@trailPercent(10), @stopLoss(400)

      SET TRAILING_STOP = @trailAmount
      SET TRAILING_PERCENT = @trailPercent
      SET STOP_LOSS = @stopLoss

      SET a = MovingAverage(@price, 6, @matype)
      SET b = MovingAverage(@price, 10, @matype)
      SET c = MovingAverage(@price, 14, @matype)
      SET d = MovingAverage(@price, 20, @matype)
      SET e = MovingAverage(@price, 28, @matype)
      SET f = LinearRegressionForecast(@price, 8)
      f-30>(a+b+c+d+e/5)

      SELL Script:
      SET a = MovingAverage(@price, 6, @matype)
      SET b = MovingAverage(@price, 10, @matype)
      SET c = MovingAverage(@price, 14, @matype)
      SET d = MovingAverage(@price, 20, @matype)
      SET e = MovingAverage(@price, 28, @matype)
      SET f = LinearRegressionForecast(@price, 8)
      f+30<(a+b+c+d+e/5)

      ExitLong Script:
      SET a = MovingAverage(@price, 6, @matype)
      SET g = LinearRegressionForecast(@price, 5)
      CROSSOVER(a, g)

      ExitShort Script:
      SET a = MovingAverage(@price, 6, @matype)
      SET g = LinearRegressionForecast(@price, 5)
      CROSSOVER(g, a)

      Certamente quanto richiesto nel titolo non sarà una chiave di volta, ma vorrei verificarne la % Profitable.
      Ho provato a "gestire" il SET Position come hai indicato, ma non ci sono riuscito; se puoi darmi maggiori indicazioni te ne sarei grato.
      Armando

      Comment

      • Smash
        Senior Member

        • Feb 2012
        • 351

        #4
        Originariamente Scritto da armando
        Salve Smash x avermi risposto.

        [ATTACH=CONFIG]16409[/ATTACH]

        Allego un esempio e lo script relativo come richiesto:

        BUY Script:
        INPUTS: @periods(14) , @price(CLOSE), @matype(EXPONENTIAL),
        INPUTS: @trailAmount(100),@trailPercent(10), @stopLoss(400)

        SET TRAILING_STOP = @trailAmount
        SET TRAILING_PERCENT = @trailPercent
        SET STOP_LOSS = @stopLoss

        SET a = MovingAverage(@price, 6, @matype)
        SET b = MovingAverage(@price, 10, @matype)
        SET c = MovingAverage(@price, 14, @matype)
        SET d = MovingAverage(@price, 20, @matype)
        SET e = MovingAverage(@price, 28, @matype)
        SET f = LinearRegressionForecast(@price, 8)
        f-30>(a+b+c+d+e/5)

        SELL Script:
        SET a = MovingAverage(@price, 6, @matype)
        SET b = MovingAverage(@price, 10, @matype)
        SET c = MovingAverage(@price, 14, @matype)
        SET d = MovingAverage(@price, 20, @matype)
        SET e = MovingAverage(@price, 28, @matype)
        SET f = LinearRegressionForecast(@price, 8)
        f+30<(a+b+c+d+e/5)

        ExitLong Script:
        SET a = MovingAverage(@price, 6, @matype)
        SET g = LinearRegressionForecast(@price, 5)
        CROSSOVER(a, g)

        ExitShort Script:
        SET a = MovingAverage(@price, 6, @matype)
        SET g = LinearRegressionForecast(@price, 5)
        CROSSOVER(g, a)

        Certamente quanto richiesto nel titolo non sarà una chiave di volta, ma vorrei verificarne la % Profitable.
        Ho provato a "gestire" il SET Position come hai indicato, ma non ci sono riuscito; se puoi darmi maggiori indicazioni te ne sarei grato.
        Armando

        Ciao Armando,

        se non ho capito male, volevi che non si verificassero mai 2 ingressi Long consecutivi oppure 2 ingressi Short consecutivi, è corretto?

        In tal caso si potrebbe scrivere così:

        BUY SCRIPT
        Codice:
        INPUTS: @periods(14) , @price(CLOSE), @matype(EXPONENTIAL),
        INPUTS: @trailAmount(100),@trailPercent(10), @stopLoss(400)
        
        
        SET TRAILING_STOP = @trailAmount
        SET TRAILING_PERCENT = @trailPercent
        SET STOP_LOSS = @stopLoss
        
        
        SET a = MovingAverage(@price, 6, @matype)
        SET b = MovingAverage(@price, 10, @matype)
        SET c = MovingAverage(@price, 14, @matype)
        SET d = MovingAverage(@price, 20, @matype)
        SET e = MovingAverage(@price, 28, @matype)
        SET f = LinearRegressionForecast(@price, 8)
        
        
        SET ConditionBuy = f-30>(a+b+c+d+e/5)
        SET ConditionSell = f+30<(a+b+c+d+e/5)
        SET Position = ConditionBuy - ConditionSell
        SET LastPosition = CHANGEIF(Position <> 0, Position)
        
        ConditionBuy AND REF(LastPosition, 1) <> 1
        SELL SCRIPT
        Codice:
        SET a = MovingAverage(@price, 6, @matype)
        SET b = MovingAverage(@price, 10, @matype)
        SET c = MovingAverage(@price, 14, @matype)
        SET d = MovingAverage(@price, 20, @matype)
        SET e = MovingAverage(@price, 28, @matype)
        SET f = LinearRegressionForecast(@price, 8)
        
        
        SET ConditionBuy = f-30>(a+b+c+d+e/5)
        SET ConditionSell = f+30<(a+b+c+d+e/5)
        SET Position = ConditionBuy - ConditionSell
        SET LastPosition = CHANGEIF(Position <> 0, Position)
        
        ConditionSell AND REF(LastPosition, 1) <> -1

        ExitLONG SCRIPT
        Codice:
        SET a = MovingAverage(@price, 6, @matype)
        SET g = LinearRegressionForecast(@price, 5)
        CROSSOVER(a, g)

        ExitSHORT SCRIPT
        Codice:
        SET a = MovingAverage(@price, 6, @matype)
        SET g = LinearRegressionForecast(@price, 5)
        CROSSOVER(g, a)

        Comment

        • armando
          Member

          • Apr 2012
          • 43

          #5
          Mi spiace, sono stato poco chiaro, la necessità consiste nel riuscire in fase di uscita di un trend in BUY o di un trend in SELL di interromperlo e attendere il reverse nel caso di intervento del exitLong o exitShort.

          Caso 1) sono in trend di BUY (e sono già stati eseguiti diversi trade buy con chiusure relative in Trailing Stop) ma si stà esaurendo, ed in uscita del trend interviene un exitLong (oppure due) a tal punto vorrei che lo script di buy sia bloccato e ripartire solo dopo che interviene lo script di SELL con la prima vendita.

          Caso 2) sono in trend di SELL..........................................di converso a Caso 1), ma viene controllato l\'exitShort e bloccato lo script di SELL. sino a quando non iterviene lo script di BUY con il primo acquisto

          Nel grafico di esempio allegato di un trend in SELL, come vedi, dopo T16 SX (exitShort) sono avvenute le vendite Sell 17-18 e 19 e le T18 e 19 SX ecc. che avrei tagliato se successivamente a T16SX avessi bloccato lo script di SELL e passato direttamente al teorico Buy 20 (che non ho evidenziato).

          Grazie x l\'attenzione
          Last edited by armando; 27-09-14, 15:15.

          Comment

          • Smash
            Senior Member

            • Feb 2012
            • 351

            #6
            Originariamente Scritto da armando
            Mi spiace, sono stato poco chiaro, la necessità consiste nel riuscire in fase di uscita di un trend in BUY o di un trend in SELL di interromperlo e attendere il reverse nel caso di intervento del exitLong o exitShort.

            Caso 1) sono in trend di BUY (e sono già stati eseguiti diversi trade buy con chiusure relative in Trailing Stop) ma si stà esaurendo, ed in uscita del trend interviene un exitLong (oppure due) a tal punto vorrei che lo script di buy sia bloccato e ripartire solo dopo che interviene lo script di SELL con la prima vendita.

            Caso 2) sono in trend di SELL..........................................di converso a Caso 1), ma viene controllato l\'exitShort e bloccato lo script di SELL. sino a quando non iterviene lo script di BUY con il primo acquisto

            Nel grafico di esempio allegato di un trend in SELL, come vedi, dopo T16 SX (exitShort) sono avvenute le vendite Sell 17-18 e 19 e le T18 e 19 SX ecc. che avrei tagliato se successivamente a T16SX avessi bloccato lo script di SELL e passato direttamente al teorico Buy 20 (che non ho evidenziato).

            Grazie x l\'attenzione

            Chiaro il concetto adesso!

            Manca soltanto un\'informazione però:
            qual è il criterio secondo cui si decide che il trend si sta esaurendo e si procede con il blocco delle entrate in posizione in attesa del primo segnale di segno contrario?

            Ovvero, facendo riferimento al tuo esempio allegato, qual è il criterio secondo il quale l\'Exit Short T16 SX doveva essere l\'ultimo, dopodichè si sarebbero dovuti inibire i successivi ingressi Short?

            Comment

            • armando
              Member

              • Apr 2012
              • 43

              #7
              Quando esce l\'exitShort! Ossia, i criteri sarebbero descritti nello ExitScript, e nell\'esempio, sarebbe lo stesso T16 SX che doveva essere il primo (e vorrei l\'ultimo) per uscire dal trend.

              Comment

              • bergamin
                Senior Member
                • Jan 2008
                • 1011

                #8
                Originariamente Scritto da armando
                Quando esce l\'exitShort! Ossia, i criteri sarebbero descritti nello ExitScript, e nell\'esempio, sarebbe lo stesso T16 SX che doveva essere il primo (e vorrei l\'ultimo) per uscire dal trend.
                Exit Short T16 SX doveva essere l\'ultimo perchè esce l\'exitShort ..cosa significa?

                La condizione deve essere chiara se vuoi che ci capiamio qualche cosa e vedrai che Smash la saprà scrivere, cerca di completare la frase:


                Exit Short T16 SX doveva essere l\'ultimo perchè ......

                Comment

                • armando
                  Member

                  • Apr 2012
                  • 43

                  #9
                  Io non sono in grado di dire o capire se tale impostazione é possibile in Easy Script. Nella mia richiesta non cercavo una terza condizione, ma solo se era possibile che: al primo intervento di un exit (non l\'ultimo), bloccare lo script di buy o sell relativo sino a quando non interviene quello opposto. E\' tutto qui.
                  Non posso cercare una terza condizione perchè semplicemente, (come l\'ho pensata) non esiste.
                  La ringrazio x il tempo che mi ha dedicato.
                  Armando

                  Comment

                  • Smash
                    Senior Member

                    • Feb 2012
                    • 351

                    #10
                    Originariamente Scritto da armando
                    Io non sono in grado di dire o capire se tale impostazione é possibile in Easy Script. Nella mia richiesta non cercavo una terza condizione, ma solo se era possibile che: al primo intervento di un exit (non l\'ultimo), bloccare lo script di buy o sell relativo sino a quando non interviene quello opposto. E\' tutto qui.
                    Non posso cercare una terza condizione perchè semplicemente, (come l\'ho pensata) non esiste.
                    La ringrazio x il tempo che mi ha dedicato.
                    Armando
                    Ciao Armando,
                    nessun problema!

                    Mi rendo conto che allora avevo capito bene all\'inizio, e lo script che ti avevo proposto al post #4 se non mi sono sbagliato in qualche cosa dovrebbe fare esattamente quello che chiedi.

                    Quando avevo scritto che non si dovevano verificare mai 2 ingressi Long consecutivi oppure 2 ingressi Short consecutivi, intendevo dire che non si doveva mai verificare un secondo ingresso Long dopo un ExitLong oppure un secondo ingresso Short dopo un ExitShort.
                    Last edited by Smash; 27-09-14, 22:46.

                    Comment

                    • armando
                      Member

                      • Apr 2012
                      • 43

                      #11
                      Ciao Smash, funziona. Ma parzialmente
                      L\'avevo provato ma interpretato male, e ti spiego:
                      Il test appare come un Crossover che, appunto come dici, si rovescia sempre.
                      Il fatto é che non sfrutta i trend. Perché mi taglia tutto anche l\'essenza stessa dello script, che sarebbe il [ f+30<(a+b+c+d+e/5)] od anche il fatto che dopo il Trailing Percent e Trailing Stop (sinonimo di trend) s\'interrompano.
                      Devo investigare ancora ma ti ringrazio. Se mi permetti ti richiamo x ulteriori sviluppi.
                      Saluti.
                      Armando
                      Last edited by armando; 28-09-14, 10:45.

                      Comment

                      • bergamin
                        Senior Member
                        • Jan 2008
                        • 1011

                        #12
                        Originariamente Scritto da armando
                        Ciao Smash, funziona!!!
                        Smash è un grande!

                        Grazie anche da parte mia e complimenti.

                        Comment

                        • Apocalips
                          Senior Member

                          • May 2011
                          • 2630

                          #13
                          Scusa Armando, su quale sottostante lo stai provando ?
                          La variabile costante 30 presente nella condizione buy/sell:
                          Codice:
                           f-30>(a+b+c+d+e/5)
                          che cosa rappresenta ?
                          vorrei studiarlo ma dovrei adattare quella costante al sottostante che intendo caricare altrimenti non ho segnali.

                          grazie
                          Apo
                          Last edited by Apocalips; 28-09-14, 12:35.
                          ....non si desidera ciò che è facile ottenere (Ovidio)....

                          Comment

                          • Smash
                            Senior Member

                            • Feb 2012
                            • 351

                            #14
                            Originariamente Scritto da bergamin
                            Smash è un grande!

                            Grazie anche da parte mia e complimenti.
                            Grazie a te bergamin !

                            Comunque sei troppo buono:
                            io ho soltanto un po\' di esperienza nella programmazione!

                            Comment

                            • Smash
                              Senior Member

                              • Feb 2012
                              • 351

                              #15
                              Originariamente Scritto da armando
                              Ciao Smash, funziona. Ma parzialmente
                              L\'avevo provato ma interpretato male, e ti spiego:
                              Il test appare come un Crossover che, appunto come dici, si rovescia sempre.
                              Il fatto é che non sfrutta i trend. Perché mi taglia tutto anche l\'essenza stessa dello script, che sarebbe il [ f+30<(a+b+c+d+e/5)] od anche il fatto che dopo il Trailing Percent e Trailing Stop (sinonimo di trend) s\'interrompano.
                              Devo investigare ancora ma ti ringrazio. Se mi permetti ti richiamo x ulteriori sviluppi.
                              Saluti.
                              Armando
                              Sì, in effetti così come l\'avevo scritto, oltre che dopo l\'uscita in Exit Long / Short, il sistema si ferma anche dopo l\'uscita in Trailing Stop.
                              Se magari volevi che questo non si verificasse, lo si potrebbe eventualmente riscrivere in un altro modo .....
                              E richiamami tranquillamente, senza problemi!

                              Comment

                              Working...