Pagina 1 di 3 123 Ultima
Risultati da 1 a 10 di 158

Discussione: Scripts di esempio

Visualizzazione Ibrida

  1. #1

    Data Registrazione
    Aug 2008
    Località
    Edolo (BS)
    Messaggi
    693
    Ciao Max e grazie per aver aperto questa sezione...

    L'oggetto CurrentStrategy è il principale...ok fin qui tutto semplice :-)

    Questo ero riuscito a farlo, ovvero far interagire ad esempio il prezzo del sottostante con la Strategia...anche se magaari in modo un pò spartano...

    dim bepl1
    dim close

    bepl1 = CurrentStrategy.UpsideBreakEven
    close = CurrentStrategy.GetMainUnderlyingPrice

    if close < bepl1 then
    showmessage ("Bravo")
    else
    showmessage ("Vaffa!")
    end if


    Quello che invece tutt'ora non riesco a fare è interagire ad esempio con una singola opzione all'interno di una strategia...

    Immagino che dovrò prima definire la gamba, con qualcosa di simile a:

    Opzione = CurrentStrategy.OPZIONECHEVOGLIO
    Opzione_BEP = CurrentStrategy.OPZIONECHEVOGLIO.UpsideBreakeven


    Ci sto girando intorno ma non riesco a trovare il modo giusto...

  2. #2
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,
    ecco un esempio di come ottenere gli oggetti corrispondenti alle leg della strategia.

    dim under as TUnderlying
    dim c17000 as TOption
    
    under = CurrentStrategy.GetMainUnderlying()
    c17000 = CurrentStrategy.GetByName("C @ 17000 03-2013")
    if(under.Reference > c17000.Strike) Then
        c17000.Buy(2, MARKET)
    End If
    L'interpretazione dello script è la seguente:
    Assegno alla variabile under l'oggetto che rappresenta il sottostante principale della strategia
    Assegno alla variabile c17000 l'oggetto che rappresenta la leg il cui nome è "C @ 17000 03-2013"
    Se
    il prezzo di riferimento dell'oggetto under è maggiore dello strike dell'oggetto c17000
    Allora
    Compra 2 contratti di c17000 al prezzo MARKET


    L'oggetto CurrentStrategy ha diversi metodi disponibili per ottenere gli oggetti che corrispondono alle gambe della strategia: GetByName (usando il nome visualizzato sulla finestra Strategy Builder), GetByIsin (usando il codice isin dello strumento), GetByID (usando il codice identificativo univoco degli strumenti), AddFuture, AddOption.

    Quando si dichiarano le variabili con la parola chiave Dim, se si conosce in anticipo il tipo di dati che quelle variabili andranno a contenere, è consigliabile specificarlo.

    Max Francario

  3. #3

    Data Registrazione
    Aug 2008
    Località
    Edolo (BS)
    Messaggi
    693
    Grazie Max!

    Ok...ottimo punto di partenza :-)

  4. #4

    Data Registrazione
    Aug 2008
    Località
    Edolo (BS)
    Messaggi
    693
    Sono l'unico interessato allo Script??

    Max...altra domandina...
    Qual è il modo corretto per utilizzare la funzione:
    FILTER_TIME_SESSION ?

    Quello che vorrei fare è dire a Fiuto di eseguire ad esempio il FlatAll solamente se si trova all'interno degli orari della sessione che ho definito...

    Ho dichiarato le sessioni così, e anche qui non so se è giusto:

    DIM StartSession1 as TDateTime
    DIM EndSession1 as TDatetime

    StartSession1 = 0905
    EndSession1 = 1725


    Ripeto...non so se è corretto...
    Poi però ho provato in vari modi ad inserie una condizione che richiamasse il FILTER_TIME_SESSION ma senza avere successo...

    Grazie in anticipo

  5. #5
    L'avatar di Francario Massimiliano
    Data Registrazione
    Jul 2008
    Messaggi
    1,002
    Salve,
    Citazione Originariamente Scritto da chrisbasetta Visualizza Messaggio
    Sono l'unico interessato allo Script??

    Max...altra domandina...
    Qual è il modo corretto per utilizzare la funzione:
    FILTER_TIME_SESSION ?

    Quello che vorrei fare è dire a Fiuto di eseguire ad esempio il FlatAll solamente se si trova all'interno degli orari della sessione che ho definito...

    Ho dichiarato le sessioni così, e anche qui non so se è giusto:

    DIM StartSession1 as TDateTime
    DIM EndSession1 as TDatetime

    StartSession1 = 0905
    EndSession1 = 1725


    Ripeto...non so se è corretto...
    Poi però ho provato in vari modi ad inserie una condizione che richiamasse il FILTER_TIME_SESSION ma senza avere successo...

    Grazie in anticipo
    uno dei modi per impostare gli orari è il seguente:

    CurrentStrategy.StrategySettings.StartSession1 = (9 * ONE_HOUR) + (5 * ONE_MINUTE)
    CurrentStrategy.StrategySettings.EndSession1 = (17 * ONE_HOUR) + (25 * ONE_MINUTE)
    FILTER_TIME_SESSION invece è una costante obsoleta, che non viene più utilizzata dal software. Sto provvedendo a modificare anche il manuale on-line con questa modifica.

    Al posto di FILTER_TIME_SESSION, è possibile utilizzare la seguente proprietà:
    CurrentStrategy.StrategySettings.VerifyTimeSession = true
    
    oppure
    
    CurrentStrategy.StrategySettings.VerifyTimeSession = false
    In entrambi gli esempi che ho riportato si interviene direttamente sulle proprietà della strategia, le stesse visibili nella finestra di impostazione che si apre da Strategy Builder -> Setup -> Impostazioni strategia -> scheda "Sessioni".

    Se invece si vuole eseguire un'operazione controllata dall'orario indipendentemente dalle impostazioni della strategia, allora è possibile utilizzare una cosa simile a quanto segue:

    dim inizio as TDateTime
    dim fine as TDateTime 
    dim ore as Word, minuti as Word, secondi as Word, usec as Word              
    dim adesso as TDateTime      
    
    
    inizio = 9 * ONE_HOUR + 15 * ONE_MINUTE
    fine = 17 * ONE_HOUR + 25 * ONE_MINUTE
    DecodeTime(Now(), ore, minuti, secondi, usec)
    adesso = ore * ONE_HOUR + minuti * ONE_MINUTE
    
    
    IF ((adesso > inizio) and (adesso < fine)) THEN 
        MostraMessaggio("Test")
    END IF

    Max Francario

  6. #6

    Data Registrazione
    Aug 2008
    Località
    Edolo (BS)
    Messaggi
    693
    Grazi ancora Max, sei stato super speedy!!

  7. #7

    Data Registrazione
    Aug 2008
    Località
    Edolo (BS)
    Messaggi
    693
    Rieccomi Max!

    Ho altre due domandine...passo dopo passo sto costruendo....

    1) Ho messo in paper una strategia con lo Script, pare che funzioni ma quando scatta l'ordine, me lo mette in Basket senza eseguirlo automaticamente.
    Nei settaggi strategia ho selezionato il Flag per l'esecuzione automatica, inoltre nel codice script ho inserito questo comando, ma probabilmente c'è qualcosa di sbagliato:

    dim AutoExecAutoOrders as Boolean

    CurrentStrategy.StrategySettings.AutoExecAutoOrder s = True


    Continua a mettermeli solo in Basket...

    2) Che comando uso per farmi mandare una email ogni volta che viene eseguito un ordine? Tipo con i Workflow? Ho visto che c'è un comando ma se non erro serve solo per gli ordini a mercato reale, non quelli in paper...

    Thanks

  8. #8

    Data Registrazione
    Aug 2010
    Località
    Padova
    Messaggi
    738
    Citazione Originariamente Scritto da Francario Massimiliano Visualizza Messaggio
    Salve,
    ecco un esempio di come ottenere gli oggetti corrispondenti alle leg della strategia.

    dim under as TUnderlying
    dim c17000 as TOption
    
    under = CurrentStrategy.GetMainUnderlying()
    c17000 = CurrentStrategy.GetByName("C @ 17000 03-2013")
    if(under.Reference > c17000.Strike) Then
        c17000.Buy(2, MARKET)
    End If
    L'interpretazione dello script è la seguente:
    Assegno alla variabile under l'oggetto che rappresenta il sottostante principale della strategia
    Assegno alla variabile c17000 l'oggetto che rappresenta la leg il cui nome è "C @ 17000 03-2013"
    Se
    il prezzo di riferimento dell'oggetto under è maggiore dello strike dell'oggetto c17000
    Allora
    Compra 2 contratti di c17000 al prezzo MARKET


    L'oggetto CurrentStrategy ha diversi metodi disponibili per ottenere gli oggetti che corrispondono alle gambe della strategia: GetByName (usando il nome visualizzato sulla finestra Strategy Builder), GetByIsin (usando il codice isin dello strumento), GetByID (usando il codice identificativo univoco degli strumenti), AddFuture, AddOption.

    Quando si dichiarano le variabili con la parola chiave Dim, se si conosce in anticipo il tipo di dati che quelle variabili andranno a contenere, è consigliabile specificarlo.

    Max Francario
    per cortesia traduci l'esempio sopra in Pascal
    grazie
    "Tempus omnia medetur" .... e fà guadagnare di Theta

  9. #9
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630

    Lo accendiamo o no il motore?

    L'argomento è ostico, non c'è dubbio, lo dimostra la scarsa partecipazione a questo 3D che vede coinvolti solamente 3-4 utenti come i bravi Chrisbasetta, Traderloky, Smash, Ismael che sembrano aver digerito abbastanza bene lo script e il suo linguaggio di programmazione; per tutti gli altri 100 utenti attivi che normalmente partecipano al forum di PO, l'approccio allo script resta ancora problematico ed infatti interventi e richieste di spiegazioni sull'argomento da parte di costoro, me compreso, non ve ne sono.

    Tiziano e il suo staff che non finiamo mai di ringraziare ci hanno messo a disposizione questo potentissimo strumento ma gran parte di noi non riesce ancora a far partire la macchina neanche solo per apprezzarne il rombo stile vecchia ferrari turbo degli anni 80.

    allora che si fà ? non si partecipa al Granpremio ?

    secondo il mio modesto parere una prima soluzione al problema che potrebbe stimolare ed invogliare gli utenti a cominciare a studiare lo script e quindi rilanciare questo 3D è chiedere un piccolo sforzo al buon Max affinchè ci faccia vedere il codice completo e funzionante di una semplice strategia messa in paper come ad esempio la rollata di un condor da dove poter partire per prendere spunto e incominciare a fare domande.

    una volta superata questa fase diciamo così di "stimolo" e di "apprendistato" sarebbe bello dare la possibilità a chiunque lo desideri di poter approfondire l'argomento magari partecipando ad un vero e proprio corso specifico di formazione da svolgersi in sede a Rovigo.

    che ne pensate ?

    ps: a Max che lo abbiamo infilato in questo "guaio" e che si sacrificherà per noi, verrà riservata una percentuale di tutti i nostri futuri guadagni.


    buona domenica e scusate per la lungaggine.

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

  10. #10
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,168
    Citazione Originariamente Scritto da Apocalips Visualizza Messaggio
    L'argomento è ostico, non c'è dubbio,

    Premesso che io non avrei nemmeno messo lo script in questa fase, un paio di utenti gestori di fondi o sicav, che conoscono il linguaggio, hanno insistito e lo stanno usando.

    Premesso anche che il workflow è uno strumento che si usa con facilità e che permette già di avere delle strategie abbastanza sofisticate (io uso il workflow perchè non so scrivere in quel linguaggio) e perciò lo script diventa meno urgente.

    Premesso questo, mi trovi d'accordo su tutta la linea e anche sulla modalità per poterlo, prima conoscere, e poi imparare!! Apo, hai centrato il punto!

    Quindi faremo certamente così, però dobbiamo rimandare di alcuni mesi perchè Max, che è l'unico tra di noi, capace di insegnarlo è super impegnato nella difficile finitura di Fiuto Future.

    Perchè difficile?

    Perchè anche FF ha un linguaggio di programmazione che stiamo completando in maniera tale che si possa utilizzare da subito. Quindi dietro alle parole che si scriveranno, vengono già richiamate delle funzioni e pertanto diventa facile. Ha l'autocostruzione e le parole che si possono scrivere sono divise in sette classi. Si chiama Easy Script e allego una immagine esplicativa.

    Allora, se vediamo che gli utenti di FF (Fiuto Future) non avranno difficoltà a scrivere le loro strategie ecco che potremmo pensare di fare lo stesso lavoro (richiede mesi) su Fiuto Pro.

    Se non sarà così allora "viriamo" e costriamo noi una serie di logiche di strategie che si possano copiare/incollare e modificare.

    Per concludere:
    abbiamo messo nelle condizioni tutti gli utenti che lo desiderano, di poter costruire la strategia automatica, mettiamo in condizioni di farlo su FF con un linguaggio semplificato e poi unifichiamo le due scritture in base alle vostre richieste.

    P.S. perchè non abbiamo fatto da subito su Fiuto Pro un linguaggio tipo FF?
    perchè la strategia di FF ha solo i sottostanti e gli indicatori mentre la strategia in opzioni ha le greche e gli strike, ovvero si moltiplicano le funzioni per circa 1200 volte!
    Anteprime Allegate Anteprime Allegate Clicca sull'immagine per ingrandirla

Nome: FF.png‎
Visite: 68
Dimensione: 75.0 KB
ID: 10547  
    Ultima modifica di Cagalli Tiziano; 10-03-13 alle 14:49
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

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.