Ephemeris Trade Calendar
- Utilità
-
Syarief Azman Bin Rosli
Ciao e benvenuto sul mio profilo ufficiale MQL5!
Sono Syarief Azman Bin Rosli, sviluppatore di sistemi di trading algoritmico e ingegnere software quantitativo con oltre dieci anni di esperienza nello sviluppo di soluzioni automatizzate per MetaTrader 5 e MetaTrader 4. - Versione: 1.0
- Attivazioni: 5
Ephemeris Trade Calendar - lo storico del conto come calendario mensile dei profitti (MT4)
Ephemeris Trade Calendar trasforma lo storico di MetaTrader 4 in un calendario mensile dei profitti sul grafico. Ogni operazione chiusa cade nel suo giorno: le celle sono colorate in base al risultato, mostrano vincenti e perdenti e si sommano nei totali settimanali. Un pannello inferiore passa tra statistiche, mappa del vantaggio (P/L per giorno e ora di ingresso più curva delle operazioni chiuse) e registro del giorno, e un misuratore TODAY segue il target giornaliero e il limite di perdita. Sui grafici reali e demo legge solo lo storico: non apre, modifica né chiude mai un'operazione.
Avvio rapido
- Collegalo a qualsiasi grafico (qualsiasi simbolo e timeframe). Algo Trading non serve.
- Nella finestra Terminale apri la scheda Storico conto, clic destro e scegli All History. MT4 fornisce ai programmi solo lo storico caricato in quella scheda; un periodo più breve lascia vuoti i mesi vecchi e rende approssimate le percentuali.
- Facoltativo: imposta Symbol Filter e Magic Filter per seguire un simbolo o un EA, e Daily Target / Daily Loss Limit per il misuratore TODAY.
- Verifica: il badge mostra TRACKING n TRADES e il mese si riempie. Clicca un giorno per aprirne il registro.
Il pannello
Intestazione
- LED: viola normale, verde target raggiunto, rosso limite di perdita raggiunto, ambra entro l'80% del limite, grigio nessuna operazione chiusa.
- `<>` sposta il pannello nell'angolo successivo. `[-]` lo riduce a una pillola EPHEMERIS con il P/L di oggi (chiuso + flottante); `[+]` lo espande.
- Sottoriga: #conto, valuta e filtri: ALL SYM, il simbolo del grafico o LIST(n); ALL MAGIC, MANUAL o MAGIC(n); NET (swap e commissioni inclusi) o GROSS.
- Badge: TRACKING n TRADES, NO CLOSED TRADES, CHECK FILTER LIST (filtro a lista con lista vuota), TARGET REACHED, LOSS LIMIT HIT, NEAR LOSS LIMIT. Per alcuni secondi dopo un'azione: EXPORTED n TRADES, m DAYS, EXPORT FAILED (codice errore), HISTORY RELOADED, AUTOSCROLL OFF, DAY NOT ON CHART.
Navigazione dei mesi
`<<` mese precedente, `>>` mese successivo (fino a quello corrente), TODAY torna al mese corrente e seleziona oggi. Sul mese corrente il calendario segue la data a mezzanotte.
Calendario
- Colonne da MO a SU (o da SU a SA) più WEEK.
- Cella del giorno: numero, valore nell'unità corrente e vincenti/perdenti come 2W 1L (le operazioni con netto zero non contano in nessuna). Verde = utile netto, rosso = perdita netta, tono più intenso = risultato maggiore rispetto al giorno più grande del mese; grigio = operato con netto zero; scuro = nessuna operazione; numeri tenui = mesi vicini.
- Bordo ciano = oggi, bordo ambra = giorno selezionato.
- WEEK: totale della riga nell'unità corrente e numero di operazioni (n tr); in modalità percentuale, la somma delle percentuali giornaliere.
- Clicca una cella per selezionare il giorno e aprire il registro DAY; un giorno tenue di un mese vicino passa a quel mese.
Striscia del mese
NET (denaro), RETURN (netto del mese / saldo a inizio mese), GREEN DAYS (giorni in utile / giorni operati), TRADES, WIN RATE.
Schede e interruttori
- STATS, EDGE e DAY cambiano il pannello inferiore.
- UNIT: MONEY, UNIT: % e UNIT: PTS alternano i valori del calendario: valuta del conto; percentuale del saldo all'inizio di quel giorno; punti (distanza di prezzo / punto del simbolo, sommati tra simboli).
- SCOPE: MONTH o SCOPE: ALL applica STATS ed EDGE al mese visualizzato o a tutto lo storico caricato.
Pannello STATS (denaro)
Net P/L, Return (netto / saldo a inizio periodo), Trades, Win rate, Profit factor (profitto lordo / perdita lorda; -- senza operazioni perdenti), Expectancy (netto per operazione), Avg win, Avg loss, Payoff ratio (vincita media / perdita media), Largest win, Largest loss, Max drawdown (massimo calo del P/L cumulato delle operazioni chiuse da un picco, in denaro e % del saldo a quel picco), Win streak, Loss streak, Best day e Worst day (con data), Green days (in utile / operati, %), Swap + comm. Piè di pagina: SCOPE, LOTS e HISTORY FROM (record caricato più vecchio).
Pannello EDGE (denaro)
- ENTRY WEEKDAY: una barra per giorno della settimana con il P/L delle operazioni aperte quel giorno (verde in su, rosso in giù, grigio piatto = nessuna). ENTRY HOUR: 24 barre per le ore di ingresso 0-23. Entrambi seguono Day Shift; le letture indicano il giorno e l'ora migliori e peggiori.
- EQUITY CURVE: P/L cumulato delle operazioni chiuse del periodo in ordine di chiusura (fino a 82 colonne), turchese sopra lo zero, rosso sotto, con i valori end e low.
Pannello DAY (registro)
Intestazione: giorno, data, numero di operazioni, netto, W/L. Colonne TICKET, SYMBOL, SIDE, LOTS, OPEN >CLOSE (ora spostata; * = aperta o chiusa in un altro giorno), NET. Sette righe per pagina; `<` e `>` cambiano pagina. GO TO DAY scorre il grafico fino a quel giorno e disattiva lo scorrimento automatico (premi End per tornare). Un giorno vuoto mostra "No closed trades on this day."
Modulo TODAY
closed (netto chiuso di oggi), open (P/L flottante delle posizioni aperte che passano i filtri), total. Il misuratore va da LIMIT (sinistra) a TARGET (destra) con un segno dello zero; il riempimento è il valore obiettivo (chiuso + flottante, o solo chiuso). Con entrambi a 0 mostra "no target or limit set".
Pulsanti di azione
- PLOT: ON / PLOT: OFF disegna le operazioni del mese visualizzato sul simbolo del grafico: freccia di apertura (blu buy, arancione sell), segno di chiusura e linea tratteggiata nel colore di utile o perdita, etichetta del netto; passa il mouse per vedere il ticket. Vengono disegnate le 400 più recenti; la riga di stato mostra allora PLOT n/m.
- EXPORT CSV scrive i file qui sotto. REFRESH rilegge subito lo storico. SYNC hh:mm:ss = ultimo aggiornamento.
Comportamento automatico
- Lo storico viene controllato ogni History Check Interval secondi e a ogni tick; il ricalcolo avviene solo se cambiano il numero di record, il conto o il giorno.
- Contano solo le operazioni buy e sell. Ordini pendenti cancellati e registrazioni di saldo e credito sono ignorati (le operazioni di saldo servono alle percentuali, mai al P/L). Una chiusura parziale appare come operazioni separate perché MT4 registra ogni parte chiusa con il proprio ticket.
- I giorni seguono Assign Trades to Days by e Day Shift from Server Time; il modulo TODAY usa la stessa regola. Le percentuali usano il saldo ricostruito all'indietro dal saldo attuale.
- Gli avvisi di target e limite scattano una volta al giorno ciascuno (di nuovo dopo un nuovo collegamento). Informano soltanto: nulla viene chiuso.
- Mese, pannello, unità, periodo, disegno, angolo e stato ridotto restano dopo un cambio di timeframe o simbolo e si azzerano a un nuovo collegamento o al cambio degli input.
- Strategy Tester: su un grafico l'utility non opera mai. Nel tester, dove gira la demo del Market, Sample Trades in the Strategy Tester apre un'operazione di esempio da 0.10 lotti (o il minimo del broker) alle 08, 11, 14 e 17 ora del server (direzione dalla SMA 20 su H1, stop loss 1.2 ATR, take profit 1.6 ATR, margine verificato) e la chiude alle 21, magic 20261105, così il calendario ha uno storico da mostrare. I pulsanti funzionano nel tester visuale; lì le celle dei giorni non si possono cliccare.
Avvisi
"daily target reached" quando il valore obiettivo raggiunge il target; "daily loss limit reached" quando scende a meno il limite. Popup Alert on Target or Limit mostra una finestra; Push Notification on Target or Limit invia una notifica push (imposta il MetaQuotes ID in Strumenti > Opzioni > Notifiche).
File e variabili globali
- EXPORT CSV scrive MQL4\Files\Ephemeris\<account>_trades.csv (ticket, symbol, type, lots, ora e prezzo di apertura/chiusura, profit, swap, commission, net, points, magic, day) e <account>_days.csv (day, trades, wins, losses, net, gross profit, gross loss, lots, points, pct_of_balance). Ogni esportazione li sovrascrive (File > Apri cartella dati).
- Con Publish Global Variables: EPH_<account>_TODAY_NET (netto chiuso di oggi), EPH_<account>_TODAY_TOTAL (chiuso + flottante), EPH_<account>_GOAL_STATE (1 target raggiunto, -1 limite raggiunto, 0 nessuno). Aggiornate ogni secondo, cancellate alla rimozione dell'utility.
string a = IntegerToString(AccountNumber());
double goal = GlobalVariableGet("EPH_" + a + "_GOAL_STATE");
if(goal < 0) return; // limite di perdita raggiunto oggi: nessun nuovo ingresso - Gli oggetti del grafico usano i prefissi EPH_C_ (pannello) ed EPH_T_ (operazioni disegnate); tutti vengono rimossi all'uscita. Nessuna DLL.
Input
- Symbol Filter (All symbols): All symbols / Chart symbol only / Symbol list.
- Symbol List: separata da virgole, senza distinzione di maiuscole; ogni voce corrisponde a ogni simbolo che inizia con essa (EURUSD copre EURUSDm).
- Magic Filter (All trades): All trades / Manual trades only (magic 0) / Magic number list.
- Magic Number List: numeri separati da virgole.
- Include Swap and Commission (true): false = solo profitto lordo (GROSS).
- Assign Trades to Days by (Close time): Close time / Open time.
- Day Shift from Server Time (0, da -12 a 12 ore): sposta i confini dei giorni, le ore di ingresso e gli orari del registro.
- Week Starts on (Monday): Monday / Sunday.
- Cell Value at Start (Money): Money / Percent of balance / Points.
- Stats Scope at Start (Viewed month): Viewed month / All loaded history.
- Lower Deck at Start (Stats): Stats / Edge map / Day ledger.
- Daily Target (0 = off), Daily Loss Limit (0 = off): valori positivi.
- Target and Limit Unit (Money): Money / Percent of day-start balance.
- Include Floating P/L in the Daily Goal (true).
- Popup Alert on Target or Limit (true), Push Notification on Target or Limit (false).
- Publish Global Variables (false). Plot Trades on Chart at Start (true).
- Profit Color, Loss Color: celle, etichette e disegni.
- Panel Corner (Top left): Top left / Top right / Bottom right / Bottom left. Panel X Offset (12), Panel Y Offset (24): pixel da quell'angolo.
- Panel Scale (1.0, 0.6-2.0). Start Collapsed (false).
- History Check Interval (2, 1-60 secondi).
- Sample Trades in the Strategy Tester (true): solo tester, vedi sopra.
Configurazioni tipiche
- Diario dell'intero conto: valori predefiniti, Storico conto su All History.
- Un EA: Magic Filter = Magic number list, Magic Number List = il suo magic, PLOT: ON sul suo grafico.
- Protezione giornaliera: Daily Target 1.0, Daily Loss Limit 2.0, Target and Limit Unit = Percent of day-start balance, Push Notification on Target or Limit e Publish Global Variables = true così i tuoi EA leggono GOAL_STATE.
- Giorni in ora locale: Day Shift from Server Time = il tuo scarto UTC meno quello del server (server UTC+2, tu UTC+8: 6).
Note
- È visibile solo lo storico caricato in Storico conto. I punti si sommano tra simboli con dimensioni di punto diverse. STATS ed EDGE sono sempre in denaro.
- Le statistiche descrivono solo risultati passati; non prevedono risultati futuri e il trading comporta un rischio di perdita.
