[Logo] Spazio Aperto Banca Sella
[Register] Registrati   [Login] Login    
[Search] Ricerca   [Recent Topics] Argomenti Recenti   [Hottest Topics] Argomenti vivaci  
[Banner Pubblicitario]
Algotrading  XML
Indice dei Forum » SellaExtreme 5
Autore Messaggio
fabioge


Registrato: 21/08/2014 08:32:27
Messaggi: 67
Offline

Ti faccio l'esempio del ts che ho in mente: tf 10 minuti e semplice incrocio di 2 medie mobili che fanno scattare acquisto o vendita.
Mettiamo che la disconnessione duri 4 candele e il segnale di incrocio avvenga tra la prima e seconda candela, quando la piattaforma si riconnette alla chiusura della quarta ormai non "vede" più l'incrocio tra la prima e la seconda e quindi il segnale viene ignorato, corretto?
Spero sia un caso puramente teorico in quanto una disconnessione di 40 minuti mi sembra esagerata, io credo che se capiti la ricomposizione della chiavetta sia nell'ordine di qualche decina di secondi quindi su tf di 10 minuti dovrebbe essere inifluente giusto?
RudyAlgo


Registrato: 07/04/2015 19:51:26
Messaggi: 9
Offline

Per l esecuzione -impostazione degli ordini mi serve un chiairmento

Strumento Future FIB
a) presumo che non sia consentito avere posizioni contemporanee di segno opposto in tal caso

posizioni contemporanee NO
oggetto ordine viene richiamato con quantita 1 chiudo posizione con quantita 2 reverse

qualora invece posizioni contemporanee SI
oggetto ordine 1 richiamo oggetto ordine 1 chiudo la posizione per reverse ?


Criterio dell ordine

Supponiamo che il criterio del TS mi dia entrata a 500 , a questo punto cosa devo fare poiche il ask bid è normalmente 1 tick sopra e 1 tick sotto

A) va ordine a 500
B) devo dirgli 1 tick sopra /sotto
C) richiamo il flusso ask bid e mi prendo l ask-bid
o cosa succede o cosa devo dirgli?

Per i risultati in Back Test idem se utilizzo il prezzo il bt viene falso in quanto non ha ask bid , risolvo una volta che ho chiarito sopra oltre al chiarimento di cui sopra , o devo effettuare qualche altro accorgimento?

This message was edited 1 time. Last update was at 04/05/2015 12:53:19

RudyAlgo


Registrato: 07/04/2015 19:51:26
Messaggi: 9
Offline

fabioge wrote:Ti faccio l'esempio del ts che ho in mente: tf 10 minuti e semplice incrocio di 2 medie mobili che fanno scattare acquisto o vendita.
Mettiamo che la disconnessione duri 4 candele e il segnale di incrocio avvenga tra la prima e seconda candela, quando la piattaforma si riconnette alla chiusura della quarta ormai non "vede" più l'incrocio tra la prima e la seconda e quindi il segnale viene ignorato, corretto?
Spero sia un caso puramente teorico in quanto una disconnessione di 40 minuti mi sembra esagerata, io credo che se capiti la ricomposizione della chiavetta sia nell'ordine di qualche decina di secondi quindi su tf di 10 minuti dovrebbe essere inifluente giusto?


Mi associo alla domanda , disconnessione o meno per qualsiasi motivo il ts rimane con black out dei dati , appena il flusso si ripristina , cosa fa il ts?

Credo che scatta il segnale in corrispondenza del criterio che fa scattare il segnale e parte l ordine

In tal caso posso e come stabilire di evitare che parta l orine tardivo ?

1 posso dire che l esecuzione dell ordine avvenga entro x tempo , altrimenti cancella ordine?
2 la 1 non risolverebbe pero il quesito poiche credo che se possibile , la condizione entro x tempo si riferisce come start dall invio ordine, pertanto se intanto il prezzo è tornato ak medesimo livello del prezzo di alcune barre /tick fa , quale istruzione in tal caso occorre dire ? e possibile e come dire se la condizione è scattata verifica l orario prima di inviare l ordine ?
RudyAlgo


Registrato: 07/04/2015 19:51:26
Messaggi: 9
Offline

RudyAlgo wrote:Per l esecuzione -impostazione degli ordini mi serve un chiairmento
Integro poiche alcune informazioni gia le ho reperite
Strumento Future FIB
a) presumo che non sia consentito avere posizioni contemporanee di segno opposto in tal caso

posizioni contemporanee NO
oggetto ordine viene richiamato con quantita 1 chiudo posizione con quantita 2 reverse

ok

qualora invece posizioni contemporanee SI
oggetto ordine 1 richiamo oggetto ordine 1 chiudo la posizione per reverse ?

Non è sonsentito

Criterio dell ordine

Supponiamo che il criterio del TS mi dia entrata a 500 , a questo punto cosa devo fare poiche il ask bid è normalmente 1 tick sopra e 1 tick sotto

A) va ordine a 500 ordine al meglio altrimenti è un ordine limite a 500
B) devo dirgli 1 tick sopra /sotto si
C) richiamo il flusso ask bid e mi prendo l ask-bid RECUPERO DAL BID ASK IL PREZZO LIMITE


Per i risultati in Back Test idem se utilizzo il prezzo il bt viene falso in quanto non ha ask bid , risolvo una volta che ho chiarito sopra oltre al chiarimento di cui sopra , o devo effettuare qualche altro accorgimento?
IN BT DEVO DARE ORDINE 1 TICK SOPRA O SOTTO


in grassetto i quesiti del post originario e sotto le risposte , a questo punto chiedo conferma se ho capito correttamente
RudyAlgo


Registrato: 07/04/2015 19:51:26
Messaggi: 9
Offline

Nel caso dell interruzione flusso dati , ho visto che il controllo dell orario potrebbe farsi , ne chiedo conferma, in ogni modo per tale ipotesi di black out del flusso , ci proponiamo di fare una tabella con tutte le casistiche
Diego.Salgarella


Registrato: 17/02/2011 11:21:07
Messaggi: 1537
Offline

fabioge wrote:
---
Ti faccio l'esempio del ts che ho in mente: tf 10 minuti e semplice incrocio di 2 medie mobili che fanno scattare acquisto o vendita.
Mettiamo che la disconnessione duri 4 candele e il segnale di incrocio avvenga tra la prima e seconda candela, quando la piattaforma si riconnette alla chiusura della quarta ormai non "vede" più l'incrocio tra la prima e la seconda e quindi il segnale viene ignorato, corretto?
---

Ciao fabioge

partendo dal tuo esempio, tf 10 minuti, provo a spiegare la cosa con una simulazione ....
Mi riferirò alle candele semplicemente con un numero:
1,2,3,4,5,6,7,8,9,10
di conseguenza i tick di ogni candela saranno:
- 1.1 1.2 1.3
- 2.1 2.2 2.3 2.4
- 3.1 3.2
- 4.1 4.2 4.3 4.4 4.5
- 5.1
- 6.1 6.2 6.3
Ogni volta che arriva un tick il TS verrà svegliato ed avrà:
- SystemContext.EventType == TSEventType.Tick
I tick del tipo 2.1, 3.1, 4.1, 5.1, 6.1 sono particolari perchè sono i primi di una nuova candela e sveglieranno il TS due volte che rispettivamente avranno:
- SystemContext.EventType == TSEventType.Tick
- SystemContext.EventType == TSEventType.Candle

Fatto questo preambolo consideriamo che la linea cada dopo il tick 1.3 e risalga poco prima del tick 4.2 quindi la sequnza di tick che arriva è
- 1.1 1.2 1.3
- 4.2 4.3 4.4 4.5
- 5.1
- 6.1 6.2 6.3
Cosa succede quando arriva il tick 4.2?
  • La serie prezzi si accorge che la "temporalità" delle candele, definita dal time frame, non è stata rispettata. Per mantenerla interpola le candele mancanti (le candele aggiunte avranno prezzo uguale all'ultimo tick ricevuto e volume a zero)

  • Alla serie prezzi viene aggiunto il tick ricevuto

  • Vengono ricalcolati tutti gli indicatori

  • Viene svegliato il TS ed avrà SystemContext.EventType == TSEventType.Tick

  • Viene svegliato il TS ed avrà SystemContext.EventType == TSEventType.Candle


  • Tornando alla tua domanda la valutazione viene fatta in quell'istante e il tuo algoritmo considererà la nuova serie che sarà:
    - 1.1 1.2 1.3
    - 2.1I (interpolato quindi uguale a 1.3 ma volume a zero)
    - 3.1I (interpolato quindi uguale a 1.3 ma volume a zero)
    - 4.1 4.2 4.3 4.4 (mancando il 4.1 il 4.2 viene considerato 4.1 quindi questa candela ha un open diverso dalla realtà)
    - 5.1 (Ricomincia la sequenza)
    - 6.1 6.2 6.3

    Ciao
    Diego Salgarella

    Diego Salgarella
    Resp IT Trading On Line
    Diego.Salgarella


    Registrato: 17/02/2011 11:21:07
    Messaggi: 1537
    Offline

    fabioge wrote:
    ---
    Spero sia un caso puramente teorico in quanto una disconnessione di 40 minuti mi sembra esagerata, io credo che se capiti la ricomposizione della chiavetta sia nell'ordine di qualche decina di secondi quindi su tf di 10 minuti dovrebbe essere inifluente giusto?
    ---

    Ciao fabioge

    per questa domanda non c'è una vera risposta perchè dipende dall'algoritmo che sta applicando il tuo TS ...

    se la caduta di pochi secondi si trova in mezzo alla candela non è un problema ma se avvenisse a cavallo di 2 candele?
    oppure
    Hai un algoritmo basato su massimi e minimi e, se in quel periodo di buio, si verifica uno spike potresti perdere il massimo, o minimo, di riferimento.

    Ciao
    Diego Salgarella

    Diego Salgarella
    Resp IT Trading On Line
    Diego.Salgarella


    Registrato: 17/02/2011 11:21:07
    Messaggi: 1537
    Offline

    RudyAlgo wrote:
    ---
    a) presumo che non sia consentito avere posizioni contemporanee di segno opposto in tal caso

    posizioni contemporanee NO
    oggetto ordine viene richiamato con quantita 1 chiudo posizione con quantita 2 reverse

    qualora invece posizioni contemporanee SI
    oggetto ordine 1 richiamo oggetto ordine 1 chiudo la posizione per reverse ?
    ---

    Ciao RudyAlgo

    non puoi avere posizioni di segno opposte contemporanee ... quindi l'operazione inversa chiude l'operazione di partenza.
    Se l'operazione inversa ha una quantità superiore a quella di partenza farai un reverse.

    Ciao
    Diego Salgarella

    Diego Salgarella
    Resp IT Trading On Line
    Diego.Salgarella


    Registrato: 17/02/2011 11:21:07
    Messaggi: 1537
    Offline

    RudyAlgo wrote:
    ---
    Criterio dell ordine

    Supponiamo che il criterio del TS mi dia entrata a 500 , a questo punto cosa devo fare poiche il ask bid è normalmente 1 tick sopra e 1 tick sotto

    A) va ordine a 500
    B) devo dirgli 1 tick sopra /sotto
    C) richiamo il flusso ask bid e mi prendo l ask-bid
    o cosa succede o cosa devo dirgli?
    ---

    Ciao RudyAlgo

    L'istruzione per eseguire un ordine sono:
    - OrderManager.Buy(strumento, quantità, {prezzo}) per l'acquisto
    - OrderManager.Buy(strumento, quantità, {prezzo}) per la vendita

    Entrambe le operazioni prevedono 3 parametri di cui uno opzionale
    - strumento -> lo strumento su cui si vuole operare
    - quantità -> quanti "pezzi" si vogliono comprare o vendere
    - {prezzo} -> è il prezzo a cui si vuole eseguire l'operazione ed è opzionale. Se viene espresso verrà eseguito un ordine limitato se non viene espresso verrà eseguito un ordine al meglio.

    Per arrivare alla tua domanda ... no mi è completamente chiara
    Se la condizione è ultimo prezzo scambiato 510 l'algoritmo mi dice di compare a 500 posso:
    - Compare senza indicare il prezzo per cui l'ordine viene eseguito al meglio andando ad incrociare la lettera indipendentemente dal prezzo
    - Compare indicando come prezzo di acquisto 500 per cui il tuo ordine verrà inviato al mercato limitato e di conseguenza si troverà in book in base alle condizioni del momento

    Il prezzo a cui inviare un ordine può essere stabilito in vari modi
    - In base all'ultimo scambio -> [serie].Last
    - In base ad un valore specifico di giornata -> Val([serie], "XXXX" in cui XXXX può essere uno qualunque tra i valori disponibili (apertura, massimo, minimo, riferiemnto, ecc ecc)
    - In base ad un valore del denaro del book -> Book([serie]).Bid.Price(n) in cui serie è la serie del TS e n è il livello di denaro che si vuole considerare
    - In base ad un valore della lettera del book -> Book([serie]).Ask.Price(n) in cui serie è la serie del TS e n è il livello di lettera che si vuole considerare
    - In base ad un numero di tick a partire da un prezzo di riferimento -> NextPrice(strumento, prezzo riferimento, tick) tick può essere positivo (valori successivi al prezzo di riferiemtno) o negativo (valori antecedenti al prezzo di riferimento)

    Ciao
    Diego Salgarella

    Diego Salgarella
    Resp IT Trading On Line
    Diego.Salgarella


    Registrato: 17/02/2011 11:21:07
    Messaggi: 1537
    Offline

    RudyAlgo wrote:
    ---
    Per i risultati in Back Test idem se utilizzo il prezzo il bt viene falso in quanto non ha ask bid , risolvo una volta che ho chiarito sopra oltre al chiarimento di cui sopra , o devo effettuare qualche altro accorgimento?
    ---


    Ciao RudyAlgo

    il back test simula anche il book
    Prima di un evento tick :
    - Carica la struttura in modo tale che al primo denaro sia presente il prezzo che poi verrà "battuto"
    - Il book viene completato di tutti i livelli, in base al tick range, partendo dal primo denaro precedentemente settato
    - Nel TS viene generato l'evento book

    Il match di eseguito viene fatto solo se il prezzo dell'ordine corrisponde ad un valore dei tick che vengono simulati in fase di back test

    Ciao
    Diego Salgarella

    Diego Salgarella
    Resp IT Trading On Line
    Diego.Salgarella


    Registrato: 17/02/2011 11:21:07
    Messaggi: 1537
    Offline

    RudyAlgo wrote:Nel caso dell interruzione flusso dati , ho visto che il controllo dell orario potrebbe farsi , ne chiedo conferma, in ogni modo per tale ipotesi di black out del flusso , ci proponiamo di fare una tabella con tutte le casistiche

    Ciao RudyAlgo

    si l'evento Time continua a verificarsi anche se la connessione è caduta

    Ciao
    Diego Salgarella

    Diego Salgarella
    Resp IT Trading On Line
    RudyAlgo


    Registrato: 07/04/2015 19:51:26
    Messaggi: 9
    Offline

    Un altro quesito , sempre col FIB , nonostante definiamo come inzio data 1 aprile time frame 1 minuto , il BT ci restituisce l analisi su 5000 candele e non 14000 , un limite del demo o ci sfugge qualcosa?
    KingOfLosers


    Registrato: 09/04/2015 15:21:27
    Messaggi: 31
    Offline

    Diego.Salgarella wrote:
    Ciao RudyAlgo

    il back test simula anche il book
    Prima di un evento tick :
    - Carica la struttura in modo tale che al primo denaro sia presente il prezzo che poi verrà "battuto"
    - Il book viene completato di tutti i livelli, in base al tick range, partendo dal primo denaro precedentemente settato
    - Nel TS viene generato l'evento book

    Il match di eseguito viene fatto solo se il prezzo dell'ordine corrisponde ad un valore dei tick che vengono simulati in fase di back test

    Ciao
    Diego Salgarella


    Ciao Diego non mi sono chiare alcune cose che ho constatato ieri in fase di back test usando il book.

    1) Tutte le operazioni in cui andavo a vedere ask erano un tick superiore all'ultimo prezzo mentre tutte le operazioni bid erano uguali all'ultimo prezzo
    2) Avere un book in back test che ha già ( che sia ask o bid ) il prezzo che verrà battuto non è "falsante"? ovvero se io in un dato momento guardo il book in real time normalmente ho un -1/+1 rispetto al prezzo quindi se devo fare un'operazione devo necessariamente alzare od abbassare l'offerta in base all'entrata mentre in back test almeno da quanto ho potuto vedere io da un lato (bid) il prezzo è sempre uguale quindi "vinco facile". La domanda quindi che ti pongo è non è meglio per un back test più realistico aggiungere/togliere un tick all'ultimo prezzo al posto di usare il book?

    Altra domanda che però non centra nulla con il book è se esiste un modo per scrivere un log a file in modo da poterlo analizzare con calma.

    Grazie
    RudyAlgo


    Registrato: 07/04/2015 19:51:26
    Messaggi: 9
    Offline

    Diego puoi accorpare le risposte dei quesiti con King of Looser rispondi a lui , che ha le competenze informatiche , poiche stiamo lavorandoci su insieme.
    nicko


    Registrato: 31/01/2015 17:28:57
    Messaggi: 11
    Offline

    Diego.Salgarella wrote:
    RudyAlgo wrote:
    ---
    Per i risultati in Back Test idem se utilizzo il prezzo il bt viene falso in quanto non ha ask bid , risolvo una volta che ho chiarito sopra oltre al chiarimento di cui sopra , o devo effettuare qualche altro accorgimento?
    ---


    Ciao RudyAlgo

    il back test simula anche il book
    Prima di un evento tick :
    - Carica la struttura in modo tale che al primo denaro sia presente il prezzo che poi verrà "battuto"
    - Il book viene completato di tutti i livelli, in base al tick range, partendo dal primo denaro precedentemente settato
    - Nel TS viene generato l'evento book

    Il match di eseguito viene fatto solo se il prezzo dell'ordine corrisponde ad un valore dei tick che vengono simulati in fase di back test

    Ciao
    Diego Salgarella


    Ciao Diego,
    cosa succede però con strumenti "illiquidi", cioè per quelli che in il last viene battuto raramente (perchè pochissimi scambi) mentre il bid/ask continua a muoversi perchè il MM aggiorna le quotazioni?
    Non sarebbe meglio utilizzare una serie storica (configurata in locale) dove vengono salvati i bid/ask?
    (mi rifaccio ad una domanda di circeo in un altro post)
     
    Indice dei Forum » SellaExtreme 5
    Vai a:   
    E.t.v.s.p.b WLS11G