Risultati da 1 a 8 di 8
  1. #1

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186

    Richiesta aiuto per programmare un trailing stop personalizzato

    Buonasera a tutti,
    vorrei creare un trailing stop basato su dei pivot point, e mi servirebbe l'aiuto di qualche utente già smaliziato con il linguaggio EasyScript.
    Supponiamo di essere long.
    In pratica il mio trailing stop dovrebbe essere uguale all'ultimo pivot point caratterizzato da un low minore-uguale al low delle x barre che lo precedono e minore del low delle y barre che lo seguono.
    x e y sono parametri inseriti per input, quindi modificabili.
    Tutte le volte che si crea un nuovo low con le caratteristiche sopra descritte, quello diventa il mio trailing stop che se colpito provoca la chiusura della posizione.
    In EasyScript è possibile programmare una cosa del genere ?
    Un ringraziamento anticipato.
    Massimo

  2. #2
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve Massimo,
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Buonasera a tutti,
    vorrei creare un trailing stop basato su dei pivot point, e mi servirebbe l'aiuto di qualche utente già smaliziato con il linguaggio EasyScript.
    Supponiamo di essere long.
    In pratica il mio trailing stop dovrebbe essere uguale all'ultimo pivot point caratterizzato da un low minore-uguale al low delle x barre che lo precedono e minore del low delle y barre che lo seguono.
    x e y sono parametri inseriti per input, quindi modificabili.
    Tutte le volte che si crea un nuovo low con le caratteristiche sopra descritte, quello diventa il mio trailing stop che se colpito provoca la chiusura della posizione.
    In EasyScript è possibile programmare una cosa del genere ?
    Un ringraziamento anticipato.
    Massimo
    si, è possibile codificare un trailing stop secondo le caratteristiche richieste.
    Se ho interpretato bene la sua richiesta, questo è un esempio del codice che potrebbe fare al caso suo, da utilizzare come script di Exit Long:

    # Variabili di inputs
    INPUTS: @x(10), @y(10)
    
    # Calcolo il minimo dei minimi delle ultime @x barre
    # Questo valore mi serve per individuare tra @y barre qual'era il valore minimo
    SET realLow = MIN(LOW, @x)
    
    # Recupero il minimo dei minimi di @y barre fa'
    SET backLow = REF(realLow, @y)
    
    # Calcolo il minimo dei minimi delle ultime @y barre
    # Questo valore mi serve per verificare che @y barre fa' ci fosse stato 
    # effettivamente il valore minore
    SET forwLow = MIN(LOW, @y)
    
    # Imposto il prezzo di uscita pari al minimo dei minimi di @y barre fa'
    # solo quando effettivamente quello era un "pivot point".
    # Altrimenti imposto il prezzo di uscita ad un valore al quale il prezzo
    # non potra' mai arrivare, in modo che di fatto non esista una 
    # condizione di uscita.
    SET exitPrice = IF(backLow <= forwLow, backLow, -1)
    
    # Condizione di uscita
    CLOSE <= exitPrice
    Il codice che ho riportato qui sopra è solo un esempio, deve adattarlo alle sue necessità.
    Ho usato due variabili, @x ed @y, alle quali ho assegnato un valore iniziale pari a 10, che potranno poi anche essere ottimizzate.

    Max Francario

  3. #3

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Grazie Max,
    cerco subito di decifrare il codice.
    Volendo lo si può plottare come un indicatore, vero ?
    Cordialmente.
    Massimo

  4. #4
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Grazie Max,
    cerco subito di decifrare il codice.
    Volendo lo si può plottare come un indicatore, vero ?
    Cordialmente.
    Massimo
    certo, qualsiasi valore può essere utilizzato per creare un nuovo indicatore.
    Nel codice dell'indicatore servirà una riga del tipo:

    SET PLOT1 = ValoreDaVisualizzare
    Max

  5. #5
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve Massimo,


    si, è possibile codificare un trailing stop secondo le caratteristiche richieste.
    Se ho interpretato bene la sua richiesta, questo è un esempio del codice che potrebbe fare al caso suo, da utilizzare come script di Exit Long:

    # Variabili di inputs
    INPUTS: @x(10), @y(10)
    
    # Calcolo il minimo dei minimi delle ultime @x barre
    # Questo valore mi serve per individuare tra @y barre qual'era il valore minimo
    SET realLow = MIN(LOW, @x)
    
    # Recupero il minimo dei minimi di @y barre fa'
    SET backLow = REF(realLow, @y)
    
    # Calcolo il minimo dei minimi delle ultime @y barre
    # Questo valore mi serve per verificare che @y barre fa' ci fosse stato 
    # effettivamente il valore minore
    SET forwLow = MIN(LOW, @y)
    
    # Imposto il prezzo di uscita pari al minimo dei minimi di @y barre fa'
    # solo quando effettivamente quello era un "pivot point".
    # Altrimenti imposto il prezzo di uscita ad un valore al quale il prezzo
    # non potra' mai arrivare, in modo che di fatto non esista una 
    # condizione di uscita.
    SET exitPrice = IF(backLow <= forwLow, backLow, -1)
    
    # Condizione di uscita
    CLOSE <= exitPrice
    Il codice che ho riportato qui sopra è solo un esempio, deve adattarlo alle sue necessità.
    Ho usato due variabili, @x ed @y, alle quali ho assegnato un valore iniziale pari a 10, che potranno poi anche essere ottimizzate.

    Max Francario
    grande Max, sei troppo avanti

    io avrei utilizzato una cinquantina di righe e poi mi sarei incartato
    invece tu hai risolto con sole 6 righe di codice.

    Apo
    Ultima modifica di Apocalips; 06-10-13 alle 23:17
    ....non si desidera ciò che è facile ottenere (Ovidio)....

  6. #6

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Salve Max,
    per completare l'esempio a fini didattici, le chiederei le seguenti modifiche.
    Innanzitutto trasformare il tutto in un indicatore plottabile tipo Supertrend che quando siamo long segue il prezzo dal basso (pivot low) per poi passare sopra i prezzi (pivot high) quando colpito, con conseguente reverse della posizione.
    Inoltre il valore dell'exitPrice non dovrebbe essere messo a -1, ma dovrebbe rimanere uguale al valore dell'ultimo pivot
    finché non si incontra un nuovo pivot point.
    E quando colpito dai prezzi, come nel caso del supertrend dovrebbe reversare al valore dell'ultimo pivot opposto.
    Saluti
    Massimo

  7. #7
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,164
    Citazione Originariamente Scritto da maxmax68 Visualizza Messaggio
    Salve Max,
    per completare l'esempio a fini didattici, le chiederei le seguenti modifiche.
    Innanzitutto trasformare il tutto in un indicatore plottabile tipo Supertrend che quando siamo long segue il prezzo dal basso (pivot low) per poi passare sopra i prezzi (pivot high) quando colpito, con conseguente reverse della posizione.
    Inoltre il valore dell'exitPrice non dovrebbe essere messo a -1, ma dovrebbe rimanere uguale al valore dell'ultimo pivot
    finché non si incontra un nuovo pivot point.
    E quando colpito dai prezzi, come nel caso del supertrend dovrebbe reversare al valore dell'ultimo pivot opposto.
    Saluti
    Massimo
    Proprio a fini didattici è meglio che iniziate voi ad editare gli script e noi a correggere gli eventuali errori.

    L'idea dell'indicatore è buona ed è semplice da costruire, cerca sul manuale digitando "control F" la voce indicatori custum oppure plot e provaci.

    Poi, se non esce un risultato valido, posta il code che hai scritto e noi lo correggiamo.
    (così capiamo dove gli utenti trovano difficoltà e possiamo integrare il manuale)
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

  8. #8

    Data Registrazione
    Sep 2013
    Località
    Monza
    Messaggi
    186
    Questa è una versione scorretta e non funzionante dell'indicatore in questione,
    ma è quanto di meglio allo stato attuale riesco a fare. Spiacente !!!
    INPUTS: @x(10), @y(10)
    # Valore del Low di Y+1 periodi fa. E' il low candidato pivot da esaminare.
    SET CandidatePivotLow = REF(Low,@y+1)
    # Valore del minimo low di @y barre. Quelle a destra del candidato pivot.
    SET RightMinLow = MIN(LOW, @y)
    # Valore del minimo low di @x barre.
    SET LLow = MIN(LOW, @x)
    # Valore del minimo low di @x barre. Quelle a sinistra del candidato pivot.
    SET LeftMinLow = REF(LLow,@y+2)
    # Condizione per pivot.
    SET Condition1 = (CandidatePivotLow <= LeftMinLow) AND (CandidatePivotLow > RightMinLow)
    # Aggiorna valore trailing.
    Set PivotLine = IF(Condition1, CandidatePivotLow, REF(PivotLine, 1))
    SET PLOT1=PivotLine
    In attesa di correzioni e commenti agli errori a beneficio degli utenti
    cordialmente saluto.
    Massimo

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
Contattaci

Chiama gli esperti
+39 0425 792923

Chiamaci
Email

Richiedi informazioni via E-MAIL
info@playoptions.it

Scrivici
Nostri Uffici

Vieni a trovarci
45100 Rovigo

Contattaci

Serve Aiuto?

Contattaci per maggiori informazioni.

Denis MorettoSpecialista Finanziario
Contattaci
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.