Condizione LASTIF con TODAY

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • CIVT
    Senior Member
    • Dec 2009
    • 813

    #1

    Condizione LASTIF con TODAY

    Sapete dirmi cosa sbaglio? Vorrei uscire dal trade quando il prezzo scende sotto il supporto del giorno...

    Codice:
    # Calcolo la Frontiera della direzione Ribassista
    SET FdDDown = TODAYOPEN() - @AmpFdD
    # Vettore per condizione di uscita ribassista
    SET FdDDownExit = CLOSE < FdDDown
    # Uso il LASTIF per contare quante barre il close resta sotto la linea ribassista
    SET barre = LASTIF(FdDDownExit > REF(FdDDownExit, 1))
    # Condizione di uscita
    # barre > 3 significa che il close è da 15 minuti sotto la linea ribassista
    # ed anche
    # la Slope della SignalLine e\' negativa
    barre > @exitBars
    Click image for larger version

Name:	no exit bars.jpg
Views:	1
Size:	116.6 KB
ID:	164764

    Se serve il signal lo vedete in questo post http://www.playoptions.it/vbforum/sh...ll=1#post68083
    Last edited by CIVT; 05-12-13, 01:11.
  • Smash
    Senior Member

    • Feb 2012
    • 351

    #2
    Originariamente Scritto da CIVT
    Sapete dirmi cosa sbaglio? Vorrei uscire dal trade quando il prezzo scende sotto il supporto del giorno...

    Codice:
    # Calcolo la Frontiera della direzione Ribassista
    SET FdDDown = TODAYOPEN() - @AmpFdD
    # Vettore per condizione di uscita ribassista
    SET FdDDownExit = CLOSE < FdDDown
    # Uso il LASTIF per contare quante barre il close resta sotto la linea ribassista
    SET barre = LASTIF(FdDDownExit > REF(FdDDownExit, 1))
    # Condizione di uscita
    # barre > 3 significa che il close è da 15 minuti sotto la linea ribassista
    # ed anche
    # la Slope della SignalLine e\' negativa
    barre > @exitBars
    [ATTACH=CONFIG]13090[/ATTACH]

    Se serve il signal lo vedete in questo post http://www.playoptions.it/vbforum/sh...ll=1#post68083

    Ciao,
    a prima vista l\'uso del LASTIF sembrerebbe corretto.

    Ma se lo script (immagino che sia un Exit Long Script) lo metti così, ti funziona?

    Codice:
    # Calcolo la Frontiera della direzione Ribassista
    SET FdDDown = TODAYOPEN() - @AmpFdD
    # Vettore per condizione di uscita ribassista
    SET FdDDownExit = CLOSE < FdDDown
    # Uso il LASTIF per contare quante barre il close resta sotto la linea ribassista
    SET barre = LASTIF(FdDDownExit > REF(FdDDownExit, 1))
    # Condizione di uscita
    # barre > 3 significa che il close è da 15 minuti sotto la linea ribassista
    # ed anche
    # la Slope della SignalLine e\' negativa
    # barre > @exitBars
    FdDDownExit

    Comment

    • Francario Massimiliano
      Administrator
      • Jul 2008
      • 1033

      #3
      Salve,
      Originariamente Scritto da CIVT
      Sapete dirmi cosa sbaglio? Vorrei uscire dal trade quando il prezzo scende sotto il supporto del giorno...
      il mio consiglio è di provare a modificare lo script in questo modo:

      Codice:
      # Calcolo la Frontiera della direzione Ribassista
      SET FdDDown = TODAYOPEN() - @AmpFdD
      # Vettore per condizione di uscita ribassista
      SET FdDDownExit = CLOSE < FdDDown
      
      # Calcolo la condizione per l\'istruzione LASTIF
      SET condizione = FdDDownExit > REF(FdDDownExit, 1)
      # Verifica nella finestra di debug della condizione
      #PRINT(condizione)
      # Uso il LASTIF per contare quante barre il close resta sotto la linea ribassista
      SET barre = LASTIF(condizione)
      
      # Condizione di uscita
      # barre > 3 significa che il close è da 15 minuti sotto la linea ribassista
      # ed anche
      # la Slope della SignalLine e\' negativa
      barre > @exitBars

      Max Francario
      Manuale di beeTrader
      Manuale di Fiuto Beta

      Comment

      • CIVT
        Senior Member
        • Dec 2009
        • 813

        #4
        Ciao e grazie a tutti per i suggerimenti ma non funziona il codice modificato, vorrei creare un exit order dinamico in luogo del classico stop loss in denaro, lo spunto arriva dal codice che ha scritto Tiziano nel post del Bobao http://www.playoptions.it/vbforum/sh...ll=1#post65623

        Exit Long:
        Codice:
        # Primo ExitLong (completo)
        SET c1 = CROSSOVER(BigBottom, SignalLine)
        OR CROSSOVER(SmallBottom, SignalLine)
        OR CROSSOVER(SmallTop, SignalLine)
        
        # Secondo ExitLong (pendenza SignalLine)
        # Usiamo il LASTIF che misura il numero di barre da quando
        # la SignalLine e\' verde 
        SET barre = LASTIF(SignalLine > REF(SignalLine, 1))
        # Condizione di uscita
        # barre > 3 significa che le ultime 2 barre la SignalLine e\' stata rossa
        # ed anche
        # la Slope della SignalLine e\' negativa
        SET c2 = barre > @exitBars AND LinearRegressionSlope(@price, @SLperiods) < 0
        
        c1 OR c2

        in questo caso viene eseguito l\'ordine di uscita se la signal line corrente è superiore alla precedente da almeno n°barre e se la slope e minore di zero.

        Comment

        • CIVT
          Senior Member
          • Dec 2009
          • 813

          #5
          Debuggando l\'indicatore ho capito che la condizione "SET condizione = FdDDownExit > REF(FdDDownExit, 1)" era superflua quindi eliminandola e invertendo il segno "CLOSE < FdDDown" riesco finalmente a contare da quante barre il CLOSE non è minore di FdDDown

          Quindi il codice corretto è questo:
          Codice:
          # Calcolo la Frontiera della direzione Ribassista
          SET FdDDown = TODAYOPEN() - @AmpFdD
          # Vettore per condizione di uscita ribassista
          SET FdDDownExit = CLOSE > FdDDown
          
          # Calcolo la condizione per l\'istruzione LASTIF
          #SET condizione = FdDDownExit > REF(FdDDownExit, 1)
          ## Verifica nella finestra di debug della condizione
          #PRINT(condizione)
          # Uso il LASTIF per contare quante barre il close resta sotto la linea ribassista
          SET barre = LASTIF(condizione)
          
          # Condizione di uscita
          # barre > 3 significa che il close è da 15 minuti sotto la linea ribassista
          # ed anche
          # la Slope della SignalLine e\' negativa
          barre > @exitBars
          Ecco il risultato, come vedete modificando il numero di barre da 3 a 15 si sposta lo stoploss

          Click image for larger version

Name:	CCI_3bars.jpg
Views:	1
Size:	99.2 KB
ID:	149538
          Click image for larger version

Name:	CCI_15bars.jpg
Views:	1
Size:	100.3 KB
ID:	149539

          Comment

          • Cagalli Tiziano
            Senior Member
            • Dec 2007
            • 11252

            #6
            Originariamente Scritto da CIVT
            Debuggando l\'indicatore ho capito che la condizione "SET condizione = FdDDownExit > REF(FdDDownExit, 1)" era superflua quindi eliminandola e invertendo il segno "CLOSE < FdDDown" riesco finalmente a contare da quante barre il CLOSE non è minore di FdDDown

            Quindi il codice corretto è questo:
            Codice:
            # Calcolo la Frontiera della direzione Ribassista
            SET FdDDown = TODAYOPEN() - @AmpFdD
            # Vettore per condizione di uscita ribassista
            SET FdDDownExit = CLOSE > FdDDown
            
            # Calcolo la condizione per l\'istruzione LASTIF
            #SET condizione = FdDDownExit > REF(FdDDownExit, 1)
            ## Verifica nella finestra di debug della condizione
            #PRINT(condizione)
            # Uso il LASTIF per contare quante barre il close resta sotto la linea ribassista
            SET barre = LASTIF(condizione)
            
            # Condizione di uscita
            # barre > 3 significa che il close è da 15 minuti sotto la linea ribassista
            # ed anche
            # la Slope della SignalLine e\' negativa
            barre > @exitBars
            Ecco il risultato, come vedete modificando il numero di barre da 3 a 15 si sposta lo stoploss

            [ATTACH=CONFIG]13101[/ATTACH]
            [ATTACH=CONFIG]13102[/ATTACH]
            Ottimo lavoro e ottimo spunto per tutti coloro che vogliono cimentarsi nello scrivere ciò che vorrebbero fare a mano!
            Bravo!
            ..se corri dietro a due lepri, non ne prendi nemmeno una.

            Comment

            Working...