Announcement
Collapse
No announcement yet.
Multicharts: percorso di apprendimento
Collapse
X
-
Grazie Umberto per l'iniziativa, che reputo preziosa. Ho trovato su web diversa documentazione MC fatemi sapere se gradite che faccio un upload. Inoltre segnalo di nuovo il già citato videocorso di Malverti http://www.enricomalverti.com/2015/0...u-multicharts/Last edited by andy60rm; 06-07-2017, 12:02.
-
Adesso stavo notando che poichè i settaggi di default di lmax hanno come orario di inizio di sessione alle 17.05, le barre a 15 minuti partono dalle 17.05 e poi la prossima barra è 17.20 anzichè 17.15 . Pertanto credo sia da modificare l'orario di inizio sessione nel quote manager
Leave a comment:
-
Originally posted by Cesaforex View PostGrazie Zero...mi sembrava che mi mancasse qualcosa....
hai qualche documentazione da segnalare su cui studiare?
Quello che comunque non ho capito è se i dati storici da datafeed (no da Ascii) vengono automaticamente utilizzati da MC durante i backtest collegandosi al datafeed oppure vengono scaricati in locale?
Leave a comment:
-
Originally posted by Zero View PostIl DDE ti permette di prendere i dati live, ma i dati storici li devi sempre caricare dal file Ascii. In pratica una volta creato il simbolo con Data Source DDE si importano nello stesso simbolo i dati ascii.
....
Quello che comunque non ho capito è se i dati storici da datafeed (no da Ascii) vengono automaticamente utilizzati da MC durante i backtest collegandosi al datafeed oppure vengono scaricati in locale?
Leave a comment:
-
Grazie Zero...mi sembrava che mi mancasse qualcosa....
hai qualche documentazione da segnalare su cui studiare?
Leave a comment:
-
il codice viene eseguito a ogni nuova barra e al primo tick (dove la barra è legata al timeframe di riferimento. Es.: siamo su un 15M, la barra è quella del 15 minuti, Tf 1M la barra è quella del minuto), saranno poi le tue condizioni a determinare il da farsi della strategia.
Queste sono le classiche impostazioni
Screenshot_8.png
e testiamo con questo codice
buy 10 contract next bar at market;
sell 10 contract next bar at market;
Se invece interveniamo modificando cosi
Screenshot_9.png
il software effettuerà ordini di ingresso (se ci sono) 10 volte ogni nuova barra e al primo tick (non ogni tick) e esegue 10 volte le uscite subito dopo ogni singola entrata.
Impostando cosi invece:
Screenshot_11.png
esegue ogni nuova barra e al primo tick
1: ingresso long di 10
2: esce dal primo ingresso
3: ingresso long di 10
Successivamente provando questo codice
buy 10 contract next bar at market;
buy 12 contract next bar at market;
con queste impostazioni
Screenshot_12.png
esegue solo il primo ingresso long 10 contratti. Nel caso ci fosse stata l'uscita allora sarebbe entrato alla successiva barra con 12 contratti.
.
Mentre sulla meta4 e ora anche sulla meta5 con i nuovi aggiornamenti ci si puo' hedgiare, multicharts non permette l'hedging sullo stesso cambio. Pertanto in caso di strategie che prevedono hedging si deve farlo sugli altri cross.
Detto questo i tipi di ordini sono:
buy = entra long
sell=chiude il long
sellshort=entra short
buytocover=chiude lo short
E' inoltre importante ricordare che le barre del grafico visualizzano un orario di fine candela, il che significa che la barra delle 2200 su H1 è la barra iniziata alle 21.00.01 che termina alle 22.00
Specifichiamo con del codice:
Esempio1
if time=2159 then
sellshort 12 contract next bar at market;
if time=2201 then
buy 1 contract next bar at market;
Con questo codice gli diciamo di entrare alle 2159 short con 12 contratti a mercato, successivamente andiamo long di 1 contratto alle 2201.
Il software entrerà quindi short di 12 contratti, ma quando esegue il buy succede che chiude i 12 contratti short e longa di 1.
Esempio2
if time=2159 then
buy 12 contract next bar at market;
if time=2201 then
sellshort 1 contract next bar at market;
Con questo codice gli diciamo di entrare alle 2159 long con 12 contratti a mercato, successivamente andiamo short di 1 contratto alle 2201.
Il software entrerà quindi long di 12 contratti, ma quando esegue lo short succede che chiude 12 contratti long e apre 1 contratto short a mercato.
Esempio3
if time=2159 then
buy 10 contract next bar at market;
if time=2201 then
sell 5 contract next bar at market;
Con questo codice gli diciamo di entrare long con 10 contratti a mercato, successivamente smezziamo la posizione long alle 2201 rimanendo quindi a mercato con 5 contratti long.
Esempio4
if time=2159 then
sellshort 10 contract next bar at market;
if time=2201 then
buytocover 5 contract next bar at market;
Con questo codice gli diciamo di entrare long con 10 contratti a mercato, successivamente smezziamo la posizione short alle 2201 rimanendo quindi a mercato con 5 contratti short.
Di default qualora non vengano specificati il numero di contratti negli ordini, verrà preso il valore inserito nelle "Properties" del Signal
Screenshot_13.png Qui l'opzione Fixed Shared Contracts ha un valore di 100 ovvero di 1 lotto considerando che sto usando Lmax come broker.
Continue.....
- 1 like
Leave a comment:
-
Originally posted by umbertosm View Postciao, questa estate inizio a studiare Multicharts e man
(...)
anch'io sto iniziando con il powerLanguage...
Una cosa che non ho capito del linguaggio è quando il listato viene eseguito. Cioè qual'è l'evento che fa scattare il run del codice?
Per esempio su Metatrader esistono funzioni built-in (onTick(), Oninit(), ecc) che vengono automaticamente eseguite in base agli eventi...ma con PowerLanguage sinceramente non ho capito...
Da questo, poi, scaturiscono ulteriori dubbi sulla gestione delle posizioni..seguendo i vari 'tutorial' non capisco come il linguaggio riesca a riconoscere correttamente i vari ordini aperti e chiuderli in modo controllato....
Leave a comment:
-
Prego.
Controllare anche cliccando destro sul simbolo e successivamente "Fields To Collect" che siano spuntati tutti i campi che si vogliono prendere..
Screenshot_7.png
una volta flaggato "apply to all symbols" automaticamente farà la stessa scelta per gli altri simboli che andremo a creare.
- 1 like
Leave a comment:
-
Il DDE ti permette di prendere i dati live, ma i dati storici li devi sempre caricare dal file Ascii. In pratica una volta creato il simbolo con Data Source DDE si importano nello stesso simbolo i dati ascii.
E' IMPORTANTE E SOTTOLINEO IMPORTANTE evitare di far crushare multicharts altrimenti potreste ritrovarvi cancellata la serie storica e quindi dovete provvedere a ricaricare il tutto. Quindi evitate per esempio con la funzione text_new di plottare su ogni barra i valori che vi interessano. Un valore ogni tanto va bene, su una serie storica di 1 anno con dati plottati su ogni barra a 15 min probabilmente già vi si potrebbe bloccare.Last edited by Exploit; 17-08-2016, 16:01.
Leave a comment:
-
Grazie Zero,
quindi è come se MC utilizzasse un flusso dati derivante da MT4 esatto? sia per i dati 'nuovi' sia per quelli storici caricati in Mt4 sul simbolo linkato.
Leave a comment:
-
http://www.multicharts.com/discussio...7598&hilit=dde
Se nn sai cosa sia il DDE cercalo in rete che ci sono già molte spiegazioni in merito, non è il caso penso di intasare questo thread
Comunque proprio adesso in 2 minuti ho collegato al dde della meta e sembra funzionare.Chiaramente da valutare bene il tutto
Di seguito descrivo i passaggi da fare:
1) Aprire la metatrader e accertarsi che sia spuntato il flag Abilita DDE server
2)Aprire il Quote Manager e creare un nuovo simbolo manualmente
Screenshot_2.png
In questa finestra accertarsi di inserire il giusto nome del simbolo nel "Symbol Root" nel caso in cui abbiate prefissi o suffissi
image_1057.png
Cambiare quindi i settaggi in base al broker che usate. Specialmente il Big Point Value è molto importante poichè viene usato per i calcoli vari di stop loss, take profit ecc ecc.
Price Scale indica quanti numeri decimali usa il broker o la fonte dati.
Min movement 1 point
Big Point Value settato a 1 vuol dire per esempio che quando scriviamo setstoploss(100) imposterà uno stop loss di 100 pips.
Questo Big Point value cambia da broker a broker, quindi è da tenere presente nel codice della strategia di calcolare il tutto in base al BigPointValue.
Screenshot_5.png
3) Connettere il simbolo Screenshot_6.png
Last edited by Exploit; 17-08-2016, 15:13.
- 1 like
Leave a comment:
-
E' anche possibile collegarsi via DDE. L'importazione dei dati duka si potrebbe far tranquillamente in UTC e poi dentro multicharts caricare in GMT. Successivamente i grafici varieranno in base al Timezone Exchange e/o Local automaticamente e/o Timezone da voi creato.
Resta il fatto che a livello di valori monetari sembra esserci differenza abbastanza notevole con backtest con altri data feed a pagamento. Almeno io con dati Duka ottengo risultati monetariamente inferiori pur rispettando l'identica strategia. Chissà magari è un bene...
In definitiva credo si possi pensare di lavorare coi dati live importati via DDE e successivamente mandar gli ordini da multicharts a metatrader usando file di testo. Non ci ho ancora provato ma potrebbe essere una soluzione.
Multicharts nel mandare gli ordini al broker lavora in modo Sync e potrebbe non esserci corrispondenza col broker. Per questo da codice è necessario prepararsi a questi problemi e/o anche lavorare con un altro grafico non sincronizzato dove eseguirà tutta la strategia come fosse in backtest. In modo visuale ci saranno quindi differenze tra gli ordini del grafico Sync e gli ordini del grafico NO SyncLast edited by Exploit; 17-08-2016, 13:50.
Leave a comment:
-
Per il forex, secondo me, si potrebbero utilizzare i dati storici Dukas scaricati con TickDownloader e importarli come custom data.
Bisognerebbe provare, anche se non ho ben capito il discorso sul TimeZone..cioè con MT4 l'export lo facevo in base al timezone del mio Broker..con MC forse è meglio fare UTC considerando che il broker potrebbe cambiare o il discorso vale lo stesso secondo voi?
F.
Leave a comment:
Leave a comment: