Welcome, Guest
Username: Password: Remember me

TOPIC: Nuova sezione dedicata all'OE

Nuova sezione dedicata all'OE 3 years 3 weeks ago #26705

  • Framzero
  • Framzero's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 7
ManuelVene wrote:
Framzero wrote:
Buongiorno,
ho comprato da pochissimo OE ma sono in imbarazzo per continui problemi di programmazione. Chiedo aiuto qui...
Vorrei testare una strategia basata sulle Bande di Bollinger, quelle "normali" a 2 deviazioni e una fascia più piccola a 1. La strategia funziona così (ma è solo un esempio): BuyCall al cross above della Banda Grande Inferiore, se questa condizione è avvenuta -> sellcall a delta (non so, 0.2,0.3) al cross below della banda piccola inferiore. Come posso dire a OE da Tradestation di verificare se c'è una posizione precedentemente aperta? E' possibile o in qualche modo dovrei scriverlo da OE?(In questo caso non ho idea di come potrei fare...)

Spero che la domanda non sia troppo sciocca.

Grazie mille anticipatamente

Francesco Buzzi

Allora per questo tipo di strategie bisogna utilizzare le funzioni di integrazione da TS come da lei indicato.
In questo caso, al verificarsi delle condizioni da lei scritte dovrà utilizzare le funzioni BuyCall e SellPut.
Nello scegliere lo strike, se ho capito bene, lei vorrebbe utilizzare nel primo caso la banda di Bollinger, le serve quindi il comando “nearest” nella funzione GetStrike, dando come valore quello da lei desiderato.
Nel secondo caso invece deve usare la funzione GetStrike in modalità Delta, e indicare il delta voluto.

Per quanto riguarda la posizione dipende da qual è il suo scopo, se fosse più chiaro potrei suggerirle come procedere.

Intanto grazie per la risposta.
In sostanza vorrei dire Ts di aprire la seconda opzione (SellCall su una banda di bollinger più stretta) solamente se è già stata aperta la BuyCall sulla Banda grande. Così che il risultato sia un spread aperto in 2 momenti differenti. In sostanza se fosse EasyLanguage "normale" bastarebbe scrivere marketposition = 1 then ecc ecc ma presumo che TS non riconosca le opzioni.
The administrator has disabled public write access.

Nuova sezione dedicata all'OE 3 years 2 weeks ago #26738

  • ManuelVene
  • ManuelVene's Avatar
  • Offline
  • Junior Boarder
  • Posts: 32
  • Thank you received: 8
Framzero wrote:
ManuelVene wrote:
Framzero wrote:
Buongiorno,
ho comprato da pochissimo OE ma sono in imbarazzo per continui problemi di programmazione. Chiedo aiuto qui...
Vorrei testare una strategia basata sulle Bande di Bollinger, quelle "normali" a 2 deviazioni e una fascia più piccola a 1. La strategia funziona così (ma è solo un esempio): BuyCall al cross above della Banda Grande Inferiore, se questa condizione è avvenuta -> sellcall a delta (non so, 0.2,0.3) al cross below della banda piccola inferiore. Come posso dire a OE da Tradestation di verificare se c'è una posizione precedentemente aperta? E' possibile o in qualche modo dovrei scriverlo da OE?(In questo caso non ho idea di come potrei fare...)

Spero che la domanda non sia troppo sciocca.

Grazie mille anticipatamente

Francesco Buzzi

Allora per questo tipo di strategie bisogna utilizzare le funzioni di integrazione da TS come da lei indicato.
In questo caso, al verificarsi delle condizioni da lei scritte dovrà utilizzare le funzioni BuyCall e SellPut.
Nello scegliere lo strike, se ho capito bene, lei vorrebbe utilizzare nel primo caso la banda di Bollinger, le serve quindi il comando “nearest” nella funzione GetStrike, dando come valore quello da lei desiderato.
Nel secondo caso invece deve usare la funzione GetStrike in modalità Delta, e indicare il delta voluto.

Per quanto riguarda la posizione dipende da qual è il suo scopo, se fosse più chiaro potrei suggerirle come procedere.

Intanto grazie per la risposta.
In sostanza vorrei dire Ts di aprire la seconda opzione (SellCall su una banda di bollinger più stretta) solamente se è già stata aperta la BuyCall sulla Banda grande. Così che il risultato sia un spread aperto in 2 momenti differenti. In sostanza se fosse EasyLanguage "normale" bastarebbe scrivere marketposition = 1 then ecc ecc ma presumo che TS non riconosca le opzioni.

Ciao Francesco,

Allora, facciamo finta che il tuo segnale di acquisto della call delta 50 sia un cross dal basso verso l'alto della bollinger band inferiore.
E che il tuo sengale di "avvenuta inversione" sia il ritorno alla media mobile, al cui vuoi vendere una call delta 20.

Questa strategia è del tipo più complessa da codificare perchè richiede non solo l'integrazione con TS, ma anche il filtraggio dei segnali che TS genera.
Partiamo dal lato TS:

This image is hidden for guests.
Please log in or register to see it.



questa è la tua strategia: come vedi viene prima dichiarata l'integrazione, riga 1 e 2 (chiaramente dovrai indicare il TUO percorso del file, assicurandoti che esista altrimenti darà errore).
Poi viene calcolata la Bollinger Band inferiore.
Successivamente viene verificata la condizone di ingresso long, quindi il cross del prezzo sulla Bollinger Band inferiore, nel cui caso viene acquistata una call delta 50.
Per ultimo c'è il segnale di ritracciamento, ovvero il cross over la media mobile a 10 periodi, dove andiamo a vendere una call delta 20.

Passiamo ora al lato OE: qui non sarà più sufficiente dire semplicemente di eseguire passivamente tutti i segnali di TradeStation, ma vogliamo filtrarli sulla base della posizione.
Infatti tu hai detto che vogliamo eseguire i segnali Long solo se siamo flat, e i segnali Short solo se siamo Long.
Per fare questo, dovremo ogni giorno guardare che segnali ci sono, e poi eseguirli se la posizione è quella desiderata.
Si fa così (questo è l'editor di OE):

This image is hidden for guests.
Please log in or register to see it.



Nella riga 2 dichiariamo le variabili di cui abbiamo bisogno.
Nella riga 5 mettiamo i a 0 perchè poi la usiamo per scorrere tutti i segnali che TS ha generato per LA SOLA GIORNATA della barra corrente.

Infatti facciamo (nella riga 8) while i < GetTSInputsCount(), quest'ultima funzione ci dice quanti segnali TS ha generato per OGGI, nella maggior parte delle barre è = 0.
Quando abbiamo qualche segnale allora vogliamo capire di che sengale si tratta, se un buy (Long) o un sell (Short).
Per fare questo utilizziamo la funzione GetTSInputInfoInt, in modalità "Side".
Alla funzione GetTSInputInfoInt dobbiamo passare l'ID del segnale di cui vogliamo prendere l'informazione, questo ID lo recuperiamo con la funzione GetTSInputID(ByPos, i).

Quindi, ricapitolando:
- alla riga 11 prendo l'ID dell'i-esimo segnale di oggi.
- nella riga 14 dico: "se questo segnale è un sengale di acquisto (Long), e sono flat (Position = Flat) allora esegui il segnale (riga 15, a cui passo l'ID di questo segnale).
- nella riga 18 dico: "se questo segnale è un segnale di vendita (Short), e sono long (Position = Long) allora esegui il segnale (riga 19 a cui passo l'ID di questo segnale).

Attenzione: se non passassi alcun ID alla funzione di esecuzione dei segnali, lei eseguirebbe tutti quelli presenti nella barra corrente. Quindi se ce ne fossero più di uno rischi che, anche se solo uno dei due ingressi fosse attivato, li eseguirebbe entrambi.
Comunque non è il nostro caso in quanto credo sia molto raro che due segnali basati su periodi così lunghi siano generati nella stessa giornata.

Nel System Launcher poi dovrai usare questi input:

This image is hidden for guests.
Please log in or register to see it.



facendo attenzione di selezionare la strategia da te appena create per la gestione filtrata dei segnali, e di mettere il file txt giusto nel secondo riquadro blu.

Questo è quello che salta fuori nella trade list, come vedi gli ordini Buy avvengono solo se sono Flat, e gli ordini Sell solo se sono Long:

This image is hidden for guests.
Please log in or register to see it.



Si, una volta eseguito il test, puoi anche combinare la copertura: devi andare nel performance report del test e cliccare su Tools->EL Code for Futures Hedging. Questo sarebbe il codice risultante:

This image is hidden for guests.
Please log in or register to see it.



che poi dovresti andare a eseguire in TS, ricordandoti di attivare le ultime linee con il blocco di esportazione.
Dopodichè importi l'equity line in OE e il gioco è fatto.

A presto,
Manuel
The administrator has disabled public write access.

Nuova sezione dedicata all'OE 2 years 9 months ago #27089

  • gianlox
  • gianlox's Avatar
  • Offline
  • User is blocked
  • Posts: 36
  • Thank you received: 9
ciao Manuel, non riesco a creare la strategia di difesa meccanica da TradeStation mi spiego meglio: creo la mia strategia in opzioni con il system launcher, poi clicco su Tools-Code Generator-El Code for Futures Hedging,si apre la strategia di difesa in .txt, copio il contenuto (circa 11000 linee), creo una nuova strategia su tradestion, gli incollo il contenuto e applico la nuova strategia sul grafico, a questo punto dovrebbe essere stato creato un file .txt nella cartella C:\Program Files (x86)\OptionLab\OptionDB Explorer\Exports\TradeStation Equity Export , giusto fino a qui ?
Invece quando clicco su Tools-Import equity Line fron Ts vedo le strategie di default ma non vedo quella che mi avrebbe dovuto creare Tradestation , quale potrebbe essere il problema ?
grazie
The administrator has disabled public write access.

Nuova sezione dedicata all'OE 2 years 9 months ago #27090

  • QTLab
  • QTLab's Avatar
  • Offline
  • Amministratore
  • Posts: 7147
  • Thank you received: 4925
...probabilmente non hai messo a TRUE la stampa del file TXT:

Riga 13: Var: EnablePrinting(true);
QTLab
If you want a guarantee, buy a toaster...
Bulls make money, bears make money, pigs get slaughtered...
The administrator has disabled public write access.
The following user(s) said Thank You: gianlox

Nuova sezione dedicata all'OE 2 years 9 months ago #27092

  • gianlox
  • gianlox's Avatar
  • Offline
  • User is blocked
  • Posts: 36
  • Thank you received: 9
effettivamente di default l'EneablePrinting era a False, mettendolo a True ora è tutto ok.
The administrator has disabled public write access.
Time to create page: 0.181 seconds

Corsi in Partenza

CLICCA QUI PER TUTTE 

LE DATE DEI PROSSIMI 

CORSI IN PARTENZA

 

 

 CORSI A DISTANZA 

 

...NON è in Calendario? 

Ti apriamo SUBITO la REGISTRAZIONE dell'ultima edizione (e ti inviamo le Strategie) in attesa della prossima data, che potrai seguire in sala, oppure collegato a distanza in streaming (la Rifrequenza è SEMPRE Gratis)

 ECCO COME FACCIAMO FORMAZIONE IN QTLAB

 

...in libreria!

VideoCorsi

Video Pillole di Analisi del Mercato o di una specifica Operatività, ma anche Video Didattici sull'utilizzo delle Piattaforme di Trading...
VideoCorsi

Articoli

Il commento ad una Operazione, l'Analisi di una Strategia, o semplicemente la descrizione di una Tecnica... questo ed altro nella sezione Articoli.
Leggi gli Articoli

 

Downloads

Materiali Didattici, le Slide proiettate ai Seminari, codici di Trading Systems, Reports e Software: a tua disposizione!
Downloads



Futures: Month Code

Code Month
F January
G February
H March
J April
K May
M June
N July
Q August
U September
V October
X November
Z December

Login

Diventa Trader!

Il Trading è una professione come tante: si può imparare, richiede impegno, ma prima di ogni cosa, un Metodo, che può essere appreso attraverso la frequenza ad un corso...
Percorso in aula

 

... osservando un Trader e affiancandolo nella sua operatività (Coaching Individuale)... 
Coaching 101

 

... o seguendo l'operatività di Trader più esperti attraverso dei Segnali Operativi inviati real time... 
Segnali Operativi

 

QT Lab Community

Il Trading può essere un gioco di squadra: lo diciamo per esperienza... perchè da anni i nostri Trader interagiscono in questa Community, analizzano insieme operazioni, e condividono idee e metodologie. Vuoi farne parte? Basta registrarsi...
Entra in Community

 

1 punto vale...

ticker futures punto
6A Australian Dollar 1000
6B British Pound 625
6C Canadian Dollar 1000
DX US Dollar Index 1000
6E EuroFx 1250
6J Japanese Yen 1250
6S Swiss Franc 1250
CL Crude Oil 1000
HO Heating Oil 420
NG Natural Gas 10000
RB RBOB Gas 420
ZL Soybean Oil 600
ZC Corn 50
ZS Soybeans 50
ZM Soybean Meal 100
ZW Wheat 50
GE Eurodollars 2500
ZF 5-Yr T-Notes 1000
ZT 2-Yr T-Notes 2000
ZN 10-Yr T-Notes 1000
ZB 30-Yr T-Bonds 1000
GF Feeder Cattle 500
LE Live Cattle 400
HE Lean Hogs 400
GC Gold 100
HG Copper 250
PL Platinum 50
SI Silver 50
CC Cocoa 10
CT Cotton 500
KC Coffee 375
LB Lumber 110
SB Sugar #11 1120

Questo sito utilizza i Cookies per migliorare la navigazione. Utilizzando questo sito e continuando nella navigazione si intende accettata la Privacy Policy e la Cookie Policy 

Puoi bloccare in ogni momento questa raccolta di informazioni seguendo le istruzioni per configurare il tuo browser, contenute nella suddetta pagina. 

Procedere nella navigazione di questo sito web, implica l'accettazione delle condizioni generali di utilizzo e i termini di vendita dei servizi che puoi approfondire in questa pagina.

Quantitative Trading LAB di Luca Giusti - e-mail: [email protected] Tutti i diritti sono riservati. tel: +41 044 586 68 57 oppure +39 02 829 502 73

Questo sito Web non è rivolto a persone giuridiche o fisiche appartenenti a giurisdizioni in cui, in virtù della nazionalità, della tipologia di persona, del proprio domicilio o residenza, della sede sociale o per qualsiasi altro motivo, l’accesso allo stesso, la relativa consultazione, la disponibilità, la pubblicazione, come pure la presentazione di servizi finanziari o la commercializzazione di determinati prodotti finanziari dovesse essere vietata o soggetta a restrizioni. Alle persone cui si applicano tali restrizioni è conseguentemente vietato accedere a questo sito internet. Le informazioni e le opinioni contenute nelle pagine del sito internet e nel materiale in esso contenuto non costituiscono in nessun caso un invito, un’offerta, una raccomandazione o una sollecitazione di acquisto o di vendita, una richiesta o una sottoscrizione di titoli o strumenti finanziari, prodotti o servizi finanziari o d’investimento, né un’esortazione ad effettuare transazioni di alcun genere. Il contenuto del sito internet è stato allestito con la maggiore cura e diligenza possibile. Tuttavia non si fornisce alcuna garanzia circa la correttezza, l’esattezza, la completezza, l’affidabilità o l’attualità dei contenuti proposti. I dati storici relativi ai rendimenti e agli scenari sui mercati finanziari, le prestazioni passate, effettive o indicate da test storici o strategie, non sono garanzia di analoghi risultati futuri. Facendo trading si possono sostenere perdite superiori al proprio investimento iniziale: non si dovrebbe investire o rischiare denari che non si si può permettere di perdere.Per ulteriori dettagli, si prega di leggere le "Condizioni di Utilizzo" nel menù verticale in alto a sinistra. In nessuna circostanza – ivi compresa la negligenza – la nostra società può essere considerata responsabile per perdite e/o danni di qualsiasi natura – sia che si tratti di danni diretti, indiretti oppure consequenziali – derivanti dall’accesso agli elementi di questo sito internet o dal loro utilizzo (o dall’impossibilità di accedere al sito internet stesso e di utilizzarne gli elementi) o da link che portano a siti internet di terzi. Noi non monitoriamo le pagine collegate al sito internet mediante link e decliniamo pertanto qualsiasi responsabilità per i relativi contenuti e per le eventuali prestazioni ivi offerte. La totalità dei contenuti presenti nel sito internet è tutelata dal diritto d’autore. Senza previo consenso scritto da parte nostra non è pertanto consentito riprodurre (anche parzialmente), trasmettere (né per via elettronica né in altro modo), modificare, stabilire link o utilizzare il sito internet per qualsivoglia finalità pubblica o commerciale.Qualsiasi controversia riguardante l’utilizzo del sito internet è soggetta al diritto svizzero, che disciplina in maniera esclusiva l’interpretazione, l’applicazione e gli effetti di tutte le condizioni sopra elencate. Il foro di Bellinzona è esclusivamente competente in merito a qualsiasi disputa o contestazione che dovesse sorgere in merito al presente sito internet e al suo utilizzo.
 
Accedendo e continuando nella lettura dei contenuti di questo sito Web dichiari di aver letto, compreso e accettato le sopracitate informazioni legali.

The material on this website is for information purposes only. Any reference on this Web site to QTLab, the authors, and its affiliated companies should not be construed as an offer or solicitation, directed to residents in jurisdictions where QTLab, by and through any of its affiliates, is not registered to do business. No investment advice or solicitation to buy or sell securities is given or in any manner endorsed by QTLab or any of its affiliates. Charts created using TradeStation. ©TradeStation Technologies, Inc. All rights reserved. No investment or trading advice, recommendation or opinions is being given or intended. Past performance, whether actual or indicated by historical tests of strategies, is no guarantee of future performance or success. There is a possibility that you may sustain a loss greater than your entire investment; therefore, you should not invest or risk money that you cannot afford to lose. For further details please read the "Condizioni di Utilizzo" to see the full set of terms and conditions.

 

www.ForexAcademy.it      -        www.OptionsAcademy.it       -        www.FuturesAcademy.it       -        www.TradingSystemAcademy.it