Signal con funzione di strategy, dove sbaglio ??

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • Jackal
    Senior Member

    • Mar 2011
    • 117

    #16
    Ciao Armando, cosi dovrebbe funzionare. Togli i "cancelletti" che ho messo in quanto l\'ho provato su un sottostante random e non potevo usare i tuoi parametri.

    Ricordati di mettere anche uno script di uscita.
    Ah.. ti ho anche impostato le medie come SIMPLE; cambiale se vuoi usare una media diversa.

    Saluti
    Fabio

    Codice:
    SET tnp= TotalNetProfit()
    SET a = MovingAverage(CLOSE, 8, SIMPLE)
    SET b = MovingAverage(CLOSE, 14, SIMPLE)
    SET c = MovingAverage(CLOSE, 20, SIMPLE)
    SET d = MovingAverage(CLOSE, 30, SIMPLE)
    SET e = LinearRegressionForecast(CLOSE, 8)
    
    a> b AND
    b> c AND
    c> d AND
    
    #((a+b+c)/3) - d> 15
    
    
    tnp < 700 OR tnp > -500
    "Amat Victoria Curam"
    "Il Successo di un uomo stà nella sua perseveranza" (Bruce Lee)

    Comment

    • armando
      Member

      • Apr 2012
      • 43

      #17
      TotalNetProfit

      Grazie Jackal ma avevo già provato anche questa alternativa, ma mi fà "saltare" la condizione ((a+b+c)/3) - d> 15 che rappresenta l\'ssenziale dello script. Ovvero x mantenere funzionante lo script la devo togliere. Comunque tale funzione non sembra funzionare anche in altri script, vi allego anche l\'esempio sottostante.

      Esempio di Followme in backtest con script realizzato senza TotalNetProfit:

      Click image for larger version

Name:	Followme senza TnP.jpg
Views:	1
Size:	55.1 KB
ID:	156044


      Esempio di script Followme con TotalNetProfit
      Buy:
      INPUTS: @price(CLOSE), @periods(14), @trailAmount(100), @trailPercent(10), @stopLoss(400), @SLperiods(8)
      SET TRAILING_STOP = @trailAmount
      SET TRAILING_PERCENT = @trailPercent
      SET STOP_LOSS = @stopLoss
      SET TnP= TotalNetProfit()
      FOLLOWME()> 0
      AND ATR(@periods, @matype)> 37
      AND TIME <1730
      TnP< 700 OR TnP >-500

      Sell:
      SET TnP= TotalNetProfit()
      FOLLOWME()< 0
      AND ATR(@periods, @matype)> 37
      AND TIME <1730
      TnP< 700 OR TnP >-500

      E suo risultato:

      Click image for larger version

Name:	Followme con TnP.jpg
Views:	1
Size:	67.7 KB
ID:	156045

      Risposta assurda.

      E\' indispensabile poter gestire la posizione in un trading automatizzato ma non sembra funzionare. Vi prego dirmi che sbaglio da qualche parte.
      Saluti
      Armando
      Last edited by armando; 05-08-14, 18:08.

      Comment

      • Francario Massimiliano
        Administrator
        • Jul 2008
        • 1033

        #18
        Salve Armando,
        Originariamente Scritto da armando
        ....

        Esempio di script Followme con TotalNetProfit
        Buy:
        INPUTS: @price(CLOSE), @periods(14), @trailAmount(100), @trailPercent(10), @stopLoss(400), @SLperiods(8)
        SET TRAILING_STOP = @trailAmount
        SET TRAILING_PERCENT = @trailPercent
        SET STOP_LOSS = @stopLoss
        SET TnP= TotalNetProfit()
        FOLLOWME()> 0
        AND ATR(@periods, @matype)> 37
        AND TIME <1730
        TnP< 700 OR TnP >-500

        Sell:
        SET TnP= TotalNetProfit()
        FOLLOWME()< 0
        AND ATR(@periods, @matype)> 37
        AND TIME <1730
        TnP< 700 OR TnP >-500

        Risposta assurda.

        E\' indispensabile poter gestire la posizione in un trading automatizzato ma non sembra funzionare. Vi prego dirmi che sbaglio da qualche parte.
        Saluti
        Armando
        nei suoi script manca la specifica di come usare il risultato della funzione TotalNetProfit().
        Io modificherei gli script in questo modo:

        Buy:
        Codice:
        INPUTS: @price(CLOSE), @periods(14), @trailAmount(100), @trailPercent(10), @stopLoss(400), @SLperiods(8)
        SET TRAILING_STOP = @trailAmount
        SET TRAILING_PERCENT = @trailPercent
        SET STOP_LOSS = @stopLoss
        SET TnP= TotalNetProfit()
        FOLLOWME()> 0
        AND ATR(@periods, @matype)> 37
        AND TIME <1730
        AND (TnP< 700 OR TnP >-500)
        Sell:
        Codice:
         SET TnP= TotalNetProfit()
        FOLLOWME()< 0
        AND ATR(@periods, @matype)> 37
        AND TIME <1730
        AND (TnP< 700 OR TnP >-500)
        In pratica, in entrambi gli script Buy e Sell, ho modifica l\'ultima riga, aggiungendo l\'AND iniziale e le parentesi che racchiudono la valutazione del TotalNetProfit.


        Max Francario
        Manuale di beeTrader
        Manuale di Fiuto Beta

        Comment

        • armando
          Member

          • Apr 2012
          • 43

          #19
          TotaNetProfit

          Grazie Max, direi che in backtest funziona (con qualche stranezza nell\'analisi dei trade), adesso lo provo in strategy.
          Saluti
          Armando

          Comment

          • armando
            Member

            • Apr 2012
            • 43

            #20
            TotalNetProfit in strategy

            Gent. Max e Fabio
            Di seguito lo script posto in strategia nella giornata odierna.
            Script Buy:
            INPUTS: @price(CLOSE), @periods(14), @trailAmount(100), @trailPercent(10), @stopLoss(400), @SLperiods(8)
            INPUTS: @matype(EXPONENTIAL)

            SET TRAILING_STOP = @trailAmount
            SET TRAILING_PERCENT = @trailPercent
            SET STOP_LOSS = @stopLoss
            SET TnP= TotalNetProfit()
            SET a = MovingAverage(@price, 8, @matype)
            SET b = MovingAverage(@price, 14, @matype)
            SET c = MovingAverage(@price, 20, @matype)
            SET d = MovingAverage(@price, 30, @matype)
            a> b AND
            b> c AND
            c> d AND
            ((a+b+c)/3) - d> 15
            AND TIME <1730
            AND (TnP< 800 OR TnP >-500)

            Script Sell:
            SET a = MovingAverage(@price, 8, @matype)
            SET b = MovingAverage(@price, 14, @matype)
            SET c = MovingAverage(@price, 20, @matype)
            SET d = MovingAverage(@price, 30, @matype)
            SET TnP = TotalNetProfit()
            a< b AND
            b< c AND
            c< d AND
            d- ((a+b+c)/3) > 15
            AND TIME <1730
            AND (TnP< 800 OR TnP >-500)

            E questo é il risultato:

            Click image for larger version

Name:	2014-08-06_Trade Nastrone_EMA_M4.jpg
Views:	1
Size:	45.7 KB
ID:	156050

            Mi sembra che adesso, con la suddetta formulazione, lo script "tollera" la presenza del TotalNetProfit in oggetto ma che nel contempo, come dal trend il risultato sia purtroppo di non intervenuto.
            Saluti
            Armando
            File Allegati

            Comment

            • CIVT
              Senior Member
              • Dec 2009
              • 813

              #21
              Originariamente Scritto da armando
              Gent. Max e Fabio
              Di seguito lo script posto in strategia nella giornata odierna.
              Script Buy:
              INPUTS: @price(CLOSE), @periods(14), @trailAmount(100), @trailPercent(10), @stopLoss(400), @SLperiods(8)
              INPUTS: @matype(EXPONENTIAL)

              SET TRAILING_STOP = @trailAmount
              SET TRAILING_PERCENT = @trailPercent
              SET STOP_LOSS = @stopLoss
              SET TnP= TotalNetProfit()
              SET a = MovingAverage(@price, 8, @matype)
              SET b = MovingAverage(@price, 14, @matype)
              SET c = MovingAverage(@price, 20, @matype)
              SET d = MovingAverage(@price, 30, @matype)
              a> b AND
              b> c AND
              c> d AND
              ((a+b+c)/3) - d> 15
              AND TIME <1730
              AND (TnP< 800 OR TnP >-500)

              Script Sell:
              SET a = MovingAverage(@price, 8, @matype)
              SET b = MovingAverage(@price, 14, @matype)
              SET c = MovingAverage(@price, 20, @matype)
              SET d = MovingAverage(@price, 30, @matype)
              SET TnP = TotalNetProfit()
              a< b AND
              b< c AND
              c< d AND
              d- ((a+b+c)/3) > 15
              AND TIME <1730
              AND (TnP< 800 OR TnP >-500)

              E questo é il risultato:

              [ATTACH=CONFIG]16087[/ATTACH]

              Mi sembra che adesso, con la suddetta formulazione, lo script "tollera" la presenza del TotalNetProfit in oggetto ma che nel contempo, come dal trend il risultato sia purtroppo di non intervenuto.
              Saluti
              Armando
              Ciao Armando, ma tu vuoi uscire dai trades quando raggiungi 800€ o il contrario? Perchè AND (TnP< 800 OR TnP >-500) vuol dire che esce quando TnP è inferiore a 800 e questa condizione è sempre verificata quando parte il trade, prova ad invertire i segni!

              Comment

              • armando
                Member

                • Apr 2012
                • 43

                #22
                Hai ragione! E mi rifaccio all\'inizio della mia discussione dove dicevo: "L\'intenzione é quella di chiudere la strategia quando il profitto giornaliero é > di una cifra (p.es. 700) ed altrettanto quando la perdita < - 500." quindi la formulazione all\'inizio era:
                and tnp > 700 and tnp < -500
                Ma in backtest mi azzera tutti i trade. (ma era la forma sbagliata)
                Dopo ulteriori suggerimenti la descrizione é:
                AND (TnP< 700 OR TnP >-500)
                Ho provato anche nella forma che ritengo quella giusta, e che mi confermi:
                AND (TnP> 700 OR TnP <-500)
                Ho fatto i test e non cambia nulla, continua a non intervenire:
                Click image for larger version

Name:	2014-08-07_test Nastrone_EMA_M6.jpg
Views:	1
Size:	112.7 KB
ID:	156052




                Mi sorge un dubbio, ed é il fatto che poiché sono in attivo anche gli script di EXL e EXS, secondo Te, devo aggiungere anche in questi ultimi in una qualche formulazione il TotalNetProfit?
                Scusa x il tempo che ti faccio perdere.
                Armando

                Comment

                • CIVT
                  Senior Member
                  • Dec 2009
                  • 813

                  #23
                  Originariamente Scritto da armando
                  Hai ragione! E mi rifaccio all\'inizio della mia discussione dove dicevo: "L\'intenzione é quella di chiudere la strategia quando il profitto giornaliero é > di una cifra (p.es. 700) ed altrettanto quando la perdita < - 500." quindi la formulazione all\'inizio era:
                  and tnp > 700 and tnp < -500
                  Ma in backtest mi azzera tutti i trade. (ma era la forma sbagliata)
                  Dopo ulteriori suggerimenti la descrizione é:
                  AND (TnP< 700 OR TnP >-500)
                  Ho provato anche nella forma che ritengo quella giusta, e che mi confermi:
                  AND (TnP> 700 OR TnP <-500)
                  Ho fatto i test e non cambia nulla, continua a non intervenire:
                  [ATTACH=CONFIG]16089[/ATTACH]




                  Mi sorge un dubbio, ed é il fatto che poiché sono in attivo anche gli script di EXL e EXS, secondo Te, devo aggiungere anche in questi ultimi in una qualche formulazione il TotalNetProfit?
                  Scusa x il tempo che ti faccio perdere.
                  Armando
                  Armando non so cosa siano EXL ed EXS ma studiando un pochino la funzione di Totanetprofit non riesco a capire come lavora, penso che prima di tutto bisogna capire questo e poi sviluppare qualche idea! Io l\'ho provato sull\'incrocio di due medie mobili ma non restitusce true quando il profitto supera il valore 10....

                  Ho scritto questo banalissimo codice per verificare il Tnp:
                  Codice:
                  INPUTS: @price(CLOSE), @fastPeriods(25), @slowPeriods(50), @matype(SIMPLE)
                  
                  
                  SET tnp = TotalNetProfit()
                  SET fast = MovingAverage(@price, @fastPeriods, @matype)
                  SET slow = MovingAverage(@price, @slowPeriods, @matype)
                  
                  CROSSOVER(fast, slow) or tnp > 10
                  
                  set PLOT1 = tnp
                  Questo il risultato
                  Click image for larger version

Name:	ChartTnp.jpg
Views:	1
Size:	118.9 KB
ID:	156054

                  Comment

                  • armando
                    Member

                    • Apr 2012
                    • 43

                    #24
                    Ciao CIVT,
                    Con EXL intendo ExitLongScript e con EXS ExitShortScript. Hai visto lo scritto di Alduran in aprile?
                    "Avevo già provato anche questa alternativa, ma non cambia nulla, la condizione viene ignorata. Spero che nella prossima release sarà funzionante...Ritengo sia indispensabile poter gestire la posizione in un trading automatizzato."
                    Risposta di Andrea Cagalli:
                    "Tieni presente che stai utilizzando una versione Beta, nella versione definitiva ovviamente sarà funzionante

                    Ciao Ciao"

                    Io volevo provare ed eventualmente sollecitare implementazione di questa funzione importante che in aprile già non funzionava. Secondo me inoltre:
                    -dovrebbe essere una funzione di money management di livello superiore che fà riferimento alla giornata borsistica, un pò come le TRAILING_STOP e la STOP_LOSS ma che diversamente da queste, che sovrintendono al singolo trade controlli l\'eventuale profitto o perdita totali.
                    -E pensare che i campi ci sono, non sono un informatico ma il Total net profit, Open Position ed il Flat All sono presenti nelle chart.
                    -Chiude con il flat all, sia se in guadagno che in perdita e stop, e riparte il giorno dopo se non si interviene.
                    Aspettiamo la versione implementata se non diversamente indicato.
                    Ciao
                    Armando

                    Comment

                    • chrisbasetta
                      Senior Member
                      • Aug 2008
                      • 693

                      #25
                      Originariamente Scritto da armando
                      Ciao CIVT,
                      Con EXL intendo ExitLongScript e con EXS ExitShortScript. Hai visto lo scritto di Alduran in aprile?
                      "Avevo già provato anche questa alternativa, ma non cambia nulla, la condizione viene ignorata. Spero che nella prossima release sarà funzionante...Ritengo sia indispensabile poter gestire la posizione in un trading automatizzato."
                      Risposta di Andrea Cagalli:
                      "Tieni presente che stai utilizzando una versione Beta, nella versione definitiva ovviamente sarà funzionante

                      Ciao Ciao"

                      Io volevo provare ed eventualmente sollecitare implementazione di questa funzione importante che in aprile già non funzionava. Secondo me inoltre:
                      -dovrebbe essere una funzione di money management di livello superiore che fà riferimento alla giornata borsistica, un pò come le TRAILING_STOP e la STOP_LOSS ma che diversamente da queste, che sovrintendono al singolo trade controlli l\'eventuale profitto o perdita totali.
                      -E pensare che i campi ci sono, non sono un informatico ma il Total net profit, Open Position ed il Flat All sono presenti nelle chart.
                      -Chiude con il flat all, sia se in guadagno che in perdita e stop, e riparte il giorno dopo se non si interviene.
                      Aspettiamo la versione implementata se non diversamente indicato.
                      Ciao
                      Armando
                      Il TotalNetProfit() credo riguardi l\'intera equity line della strategia, non il singolo trade o la singola giornata... quindi è comunque un valore cumulativo che non è azzerabile di giorno in giorno...
                      Da quel che ho capito tu vuoi fermare la strategia all\'interno della giornata quando ha raggiunto un certo profit o un certo stop...
                      mi sa che non è possibile per ora, ci vorrebbe una funzione DailyNetProfit()
                      non so se c\'è un altro modo per aggirare il problema...

                      Comment

                      • armando
                        Member

                        • Apr 2012
                        • 43

                        #26
                        Mi stà bene fare riferimento all\'intera equity line of strategy ma occorre comprendere cosa intendere x intera. Se la strategia impostata dovesse essere in continua perdita, nei giorni che passano.....sei tu ad intervenire; al momento sì! Può essere giusto che la funzione sia over daily perché dovrà fare i conti in riferimento ai tetti di profit impostati (se chiedi un TotalNetProfit >10000 € sarà difficile che lo ottieni in un giorno) o loss ed al capitale che poni in gioco; ma a patto che funzioni!!

                        Ossia, chiude e stop se viene raggiunto uno dei due livelli a metà del giorno dopo o dopo due giorni.
                        Comunque una funzione di nome DailyNetProfit() mi piace. Ma forse, come la vedo io, sarebbe necessario togliere il Daily.
                        Ciao CIVT
                        Armando

                        P.s.: le Total net profit ed Open Position, già presenti nelle chart che come dicevo, possono essere utilizzate, sono già ora implementate giornalmente e di minuto in minuto (certamente anche meno) x cui......
                        Last edited by armando; 08-08-14, 15:59.

                        Comment

                        • livioptions
                          Senior Member
                          • Jul 2010
                          • 2340

                          #27
                          Script e opzioni

                          Salve a tutti , una cosa che non ho capito è se io posso scrivere uno script che ordini di comprare/vendere una opzione.
                          Qualcuno mi toglie il dubbio? Grazie
                          ... in fondo mi accontento di piccole cose: un piccolo yacht, una piccola villa, una piccola fortuna ...

                          Comment

                          • fnet
                            Senior Member
                            • Aug 2010
                            • 738

                            #28
                            Originariamente Scritto da livioptions
                            Salve a tutti , una cosa che non ho capito è se io posso scrivere uno script che ordini di comprare/vendere una opzione.
                            Qualcuno mi toglie il dubbio? Grazie
                            ciao
                            no su beeTrader al momento non sono presenti le opzioni , è prevista l\'implementazione in futuro .... ovviamente non Ti so dire quando , finite le ferie senti lo staff di Playoptions ..
                            fabio
                            "Tempus omnia medetur" .... e fà guadagnare di Theta

                            Comment

                            Working...