Pagina 9 di 16 Prima ... 7891011 ... Ultima
Risultati da 81 a 90 di 158

Discussione: Scripts di esempio

  1. #81

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da fnet Visualizza Messaggio
    è corretto come sintassi lo script sotto ( obbiettivo : comprare un'azione ) ?
    grazie in anticipo
    fabio

    { SCRIPT PERSONALITY: PASCAL }
    procedure Compra;
    var Azione TUnderlying ;
    begin
    Azione := CurrentStrategy.GetMainUnderlying;
    Azione.AddOrder(1, MARKET);
    end;

    Ciao,

    la sintassi corretta è:

    { SCRIPT PERSONALITY: PASCAL } 
    var Azione: TUnderlying
    begin                                           
    Azione := CurrentStrategy.GetMainUnderlying     
    Azione.AddOrder(1,MARKET)    
    end

    Aggiungo una considerazione che forse potrà sembrare stupida (e me ne scuso in anticipo se lo fosse):
    per sapere se la sintassi di un codice è corretta, il modo più rapido e più efficace è sicuramente quello di eseguirlo!
    Ultima modifica di Smash; 12-03-13 alle 11:01

  2. #82

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    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




    Citazione Originariamente Scritto da fnet Visualizza Messaggio
    per cortesia traduci l'esempio sopra in Pascal
    grazie

    Meglio tardi che mai!

    var Under: TUnderlying ; c17000: TOption    
    
    
    Begin   
    Under := CurrentStrategy.GetMainUnderlying
    c17000 := CurrentStrategy.GetByName('C @ 17000 03-2013')    
    
    
    if(under.Reference > c17000.Strike) Then
    begin
        c17000.Buy(2, MARKET)   
    End
    
    
    End

    Nota: se l'opzione non è già presente nello Strategy Builder, lo script non fa nulla!

  3. #83

    Data Registrazione
    Aug 2010
    Località
    Padova
    Messaggi
    738
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    .....
    ............
    Grazie per le risposte e i consigli
    fabio
    "Tempus omnia medetur" .... e fà guadagnare di Theta

  4. #84
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,165
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    Meglio tardi che mai!
    Nota: se l'opzione non è già presente nello Strategy Builder, lo script non fa nulla!
    Sei bravo Fabio,
    grazie!
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

  5. #85

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

    Rollata a Delta

    Nell'attesa che Max, tempo permettendo, ci illumini sui metodi alternativi per codificare...
    Proseguo con i miei codici spartani in Basic
    Aggiungiamo qualcosa alla rollata semplice di qualche giorno fa...
    In questo esempio la rollata viene eseguita non a un valore specifico del sottostante ma a un valore del Delta della prima opzione venduta... in tal caso 0.5.
    Ovvero...se il delta della prima put venduta diventa minore di -0.5 (put...quindi Delta negativo) allora scatta la rollata.
    Inoltre ho definito la variabile "Lotti", dove andrò ad inserire il numero di opzioni vendute, che non sarà sempre 1, quindi per comodità si imposta una variabile apposita, che al momento ad esempio ho settato a 5.
    Ovvimente nel codice, al momento del comando di invio ordine, non si usa più il numero 1 ma la variabile stessa.
    Ho quindi aggiunto 2 variabili:
    Valore_Delta (As Double perchè è un numero con la virgola)
    Lotti (As Integer perchè è un numero intero)


    ATTENZIONE! Non è un esempio da usare a mercato reale, è solo per capire la logica dello script, perchè in realtà andrebbero inseriti altri controlli relativi alla strategia e altri parametri...

    Ovviamente Max potrà correggermi se c'è qualche errore nello script...anche perchè sto cercando di imparare anche io

    ' Dichiarazione Variabili
    dim sottostante as TUnderlying
    dim put_Vendute1 as TOption
    dim put_Vendute2 as TOption
    dim put_Comprate1 as TOption
    dim Valore_Delta as Double
    dim Lotti as Integer


    ' Definizione Variabili
    sottostante = CurrentStrategy.GetByName("SIEMENS")
    put_Vendute1 = CurrentStrategy.GetByName("P @ 80 03-2013")
    put_Vendute2 = CurrentStrategy.GetByName("P @ 78 03-2013")
    put_Comprate1 = CurrentStrategy.GetByName("P @ 72 03-2013")
    Valore_Delta = 0.5
    Lotti = 5


    ' Rollata
    if (put_Vendute1.Delta <= -Valore_Delta) then
    put_Vendute1.AddOrder(Lotti, MARKET)
    put_Vendute2.AddOrder(-Lotti, MARKET)
    end if

  6. #86
    L'avatar di Apocalips
    Data Registrazione
    May 2011
    Località
    PESCARA
    Messaggi
    2,630
    Citazione Originariamente Scritto da chrisbasetta Visualizza Messaggio
    Ovvero...se il delta della prima put venduta diventa minore di -0.5 (put...quindi Delta negativo) allora scatta la rollata.
    Grazie per questi esempi illuminanti !

    una cosa sola, hai invertito il segno del delta della put.

    put venduta = delta positivo


    Apo
    ....non si desidera ciò che è facile ottenere (Ovidio)....

  7. #87

    Data Registrazione
    Aug 2008
    Località
    Edolo (BS)
    Messaggi
    693
    Citazione Originariamente Scritto da Apocalips Visualizza Messaggio
    Grazie per questi esempi illuminanti !

    una cosa sola, hai invertito il segno del delta della put.

    put venduta = delta positivo


    Apo
    Vero Apo, però se tu metti nello strategy builder una put venduta...la colonna del Delta da segno meno...e quello è il valore da controllare... il delta della singola gamba...
    Quando è inferiore a -0.5 l'opzione diventa ITM
    Correggetemi se mi è sfuggito qualcosa ovviamente...
    Anteprime Allegate Anteprime Allegate Clicca sull'immagine per ingrandirla

Nome: delta.JPG‎
Visite: 19
Dimensione: 93.8 KB
ID: 10577  

  8. #88

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da Cagalli Tiziano Visualizza Messaggio
    Sei bravo Fabio,
    grazie!
    Grazie a te Tiziano!

    (comunque io non sono Fabio!)

  9. #89
    L'avatar di Cagalli Tiziano
    Data Registrazione
    Dec 2007
    Località
    Rovigo
    Messaggi
    11,165
    Citazione Originariamente Scritto da Smash Visualizza Messaggio
    Grazie a te Tiziano!

    (comunque io non sono Fabio!)
    Volevo vedere se te lo ricordavi che sei Marco

    ...scusa, lapsus!
    ..se corri dietro a due lepri, non ne prendi nemmeno una.

  10. #90

    Data Registrazione
    Feb 2012
    Località
    Pisa
    Messaggi
    351
    Citazione Originariamente Scritto da Cagalli Tiziano Visualizza Messaggio
    Volevo vedere se te lo ricordavi che sei Marco

    ...scusa, lapsus!

    Sì, questa volta hai indovinato!

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.