Codici sorgente MQL5 di Script per MetaTrader 5 - 2
Gli script eseguono azioni uniche in MetaTrader 5, utilizzando un programma MQL5 e vengono eliminati dal grafico subito dopo. Le funzioni esemplificative includono il caricamento della cronologia di trading, la generazione di rapporti e il loro invio via e-mail, il download e l'elaborazione dei dati da un file. Gli script possono essere utilizzati anche per creare un'interfaccia grafica o per eseguire rapidamente operazioni di trading di un solo tipo, per esempio per chiudere immediatamente tutte le posizioni.
È possibile scaricare e lanciare gli script disponibili in MetaTrader 5. La libreria di script è anche disponibile direttamente dalla piattaforma MetaTrader 5 e dall'ambiente di sviluppo MetaEditor.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Analisi in sola lettura per i conti su cui sono in esecuzione diversi Expert Advisor. Raggruppa le operazioni chiuse in base al "magic number" e misura il risparmio effettivo derivante dall'esecuzione congiunta di tali sistemi: drawdown in modalità autonoma rispetto a quello combinato, la matrice di correlazione a coppie rappresentata come mappa termica sul grafico e una riorganizzazione con il metodo Monte Carlo dei rendimenti periodici del portafoglio.
The script prices one night of holding: for every open position and every Market Watch symbol it prints the swap per night in your account currency, the annualized cost in percent for both directions, the broker's rate-independent markup (|swap long| + |swap short| never depends on interest rates - it is pure broker margin), and the triple-swap day. Honest "n/a" where a swap mode cannot be converted reliably.
A read only MT5 script that reports broker symbol specifications, volume limits, price settings, execution modes, trading permissions, margin requirements and estimated profit values.
Lo script rileva lo spread effettivo del proprio broker dal campo "spread" dei grafici M1 e visualizza la mediana, il 90° e il 99° percentile in unità di prezzo, in punti e in frazioni di ATR, oltre a esportare in un file CSV lo spread medio e massimo per ogni ora del giorno. È utile per testare le strategie in base ai costi reali del proprio conto, anziché rispetto a uno spread “tipico” stimato a occhio.
Legge la cronologia delle operazioni chiuse (un file CSV o un file generato automaticamente dalla cronologia delle operazioni del conto corrente tramite lo script RuinExport.mq5) e riporta quattro indicatori di rischio indipendenti: aumento del volume a seguito di una perdita, esposizioni sovrapposte nella stessa direzione che determinano in media un prezzo sfavorevole, asimmetria dei rendimenti tra guadagni e perdite e una stima classica del rischio di rovina a un determinato livello di rischio per operazione. I quattro punteggi si combinano in un unico voto da A a F accompagnato da raccomandazioni in linguaggio semplice. Se non viene individuato alcun file CSV, lo script genera automaticamente un registro dimostrativo riproducibile, in modo che il report sia visibile già al primo esecuzione.
Most reports give you one drawdown number - the worst one. This read-only script measures all three that matter on your own closed history: depth, duration and frequency. It prints the maximum drawdown with its peak, trough and recovery dates, the longest underwater period in days, whether you are at a new peak or how far below it and for how long, and a table of the deepest episodes with the days each took to recover. An episode is not a losing streak: it closes only when a NEW high is made, so a dip that never reclaims the old peak stays the same episode - which is what makes the duration column meaningful. Entry commissions are included and a partial close counts as one round turn, so the curve carries full cost. Optional percentage figures and CSV export. Deposits and withdrawals are excluded: this is the drawdown of your trading, not of your balance line.
Read-only MT5 script that estimates stop-distance cash loss in account currency, reserves explicit cash costs and floors volume to the broker grid. It never sends or modifies an order.
A native MQL5 tool that reconstructs closed positions from deal-level history, flags the ones closed through more than one exit, and reprices each one at its own first, last, and best exit rates to measure whether scaling out actually added value. Reports a Value-Add Ratio, a Scale Out Win Rate, an Efficiency figure, and a single-trade dependence check, combined into an A+ to F score with recommendations. Runs out of the box against a built-in demonstration data set; a companion script exports the real input file from your own account history. Pure MQL5, no external libraries.
Checks a hypothetical MT5 market or pending order against current symbol, volume, tick-size, stop-distance and filling rules without sending a trade.
Prints a privacy-conscious snapshot of the current MT5 broker, account, symbol and terminal environment to the Experts log for diagnostics and support.
Uno script interamente in MQL5 che misura la robustezza del vantaggio competitivo di una strategia rispetto ai costi di esecuzione. Legge un file CSV contenente data, profitto e volume delle operazioni chiuse e modella il costo di ciascuna operazione come una componente fissa più una componente per lotto. Visualizza il costo di pareggio per operazione, il margine di sicurezza (il multiplo di un costo realistico ipotizzato al quale l’utile netto raggiunge lo zero), l’utile netto e il fattore di profitto ricalcolati in base al costo ipotizzato, la percentuale di operazioni vincenti che il costo trasforma in perdenti e un punteggio composito di robustezza rispetto ai costi da A+ a F con raccomandazioni. Se non è presente alcun file, genera un campione riproducibile e lo analizza, in modo che il risultato sia visibile già al primo esecuzione. Nessuna libreria esterna, nessun Python, nessuna intelligenza artificiale.
Calcola la dimensione corretta del lotto per un’operazione pianificata in base al rischio (percentuale del capitale proprio o importo fisso) e alla distanza dello stop-loss (punti o livello di prezzo). Tiene conto delle specifiche contrattuali del titolo – dimensione e valore del tick, volume minimo/massimo/incremento – e stima il margine richiesto.
Esporta le posizioni chiuse relative a un periodo configurabile in un file CSV per l'analisi del registro in Excel o Google Sheets: ora e prezzo di apertura e chiusura (ponderati in base al volume per le esecuzioni parziali), volume, risultato in punti, commissione, swap, profitto netto e durata dell'operazione.
Uno script nativo MQL5 che analizza la struttura dei drawdown di un conto, non solo il singolo valore del “drawdown massimo”. Legge una curva di equity giornaliera (CSV con Date e DailyPnL), ricostruisce la curva “underwater” e la suddivide in singoli episodi di drawdown con la rispettiva profondità, durata e tempo di recupero. Successivamente riporta l’Ulcer Index, il Pain Index, il Recovery Factor e il tempo trascorso in zona negativa, combinandoli in un unico punteggio di resilienza (da A+ a F) corredato di raccomandazioni, visualizzato nella scheda “Esperti”. Non richiede librerie esterne; se non viene trovato alcun file, genera una curva di esempio, consentendo così l’esecuzione immediata senza configurazioni aggiuntive.
Uno script nativo MQL5 che misura il grado di concentrazione del profitto di una strategia — ovvero se il vantaggio competitivo è ampio o si basa su poche operazioni fortunate. Legge un file CSV con i dati per singola operazione (Data, Profitto) e riporta la quota di profitto netto derivante dalle operazioni più redditizie, il coefficiente di Gini delle operazioni vincenti, un profilo di concentrazione, un test di sopravvivenza che rimuove le poche operazioni migliori e ricalcola il profitto netto e il fattore di profitto, nonché il massimo giornaliero rispetto a un limite di coerenza configurabile, il tutto combinato in un punteggio di concentrazione e coerenza (da A+ a F) con raccomandazioni. Se non viene trovato alcun file, genera un set di dati di esempio, quindi è subito pronto all’uso. Nessuna libreria esterna, nessun Python, nessuna IA. Lo script di supporto ExportTrades.mq5 crea il file a partire dalla cronologia delle operazioni.
Script MT5 open source che registra nel log e, facoltativamente, in un file CSV le impostazioni relative al simbolo XAUUSD/GOLD, lo spread, il valore del tick, la dimensione del contratto, l'incremento di volume, i livelli di stop/freeze, lo swap e il contesto del conto.
Script diagnostico che confronta i valori SYMBOL_TRADE_TICK_VALUE, SYMBOL_TRADE_TICK_VALUE_LOSS e SYMBOL_TRADE_TICK_VALUE_PROFIT per ogni simbolo presente in Market Watch. Classifica ogni simbolo in una delle quattro categorie (ALL_EQUAL, TV_MATCHES_PROFIT, TV_MATCHES_LOSS, ALL_DIFFER) e fornisce un riepilogo aggregato insieme a un suggerimento interpretativo. Utile per verificare su quale proprietà del valore del tick fare affidamento quando si implementa il dimensionamento dei lotti basato sul rischio negli EA. Esporta il report completo per ogni simbolo in formato CSV nella cartella MQL5/Files.
Script per impostare lo Stop Loss su ogni posizione aperta in base a una perdita target espressa nella valuta del conto (ad es. 50 $ per posizione). Funziona con qualsiasi valuta di deposito e qualsiasi simbolo forex. Verifica i livelli di stop e di congelamento del broker. La conversione valutaria viene gestita automaticamente.
I flussi di lavoro di etichettatura a tripla barriera utilizzano spesso una costante arbitraria (0,5–1,0%) o un’ipotesi di spread tradizionale come soglia min_ret. Una soglia impostata al di sotto del costo effettivo di transazione round-trip fa sì che il flusso di lavoro etichetti il rumore determinato dai costi come segnale negoziabile. Il set di dati etichettato tende quindi a sovrastimare sistematicamente l’edge, e qualsiasi modello addestrato su tali etichette subisce un overfitting rispetto a un artefatto dello schema di etichettatura piuttosto che alla struttura di mercato reale. TransactionCostCollector.mq5 è uno script autonomo che risolve la fase di raccolta dati relativa a questo problema.
Utility script that exports your MetaTrader 5 trading history to a CSV file. It automatically calculates Maximum Favorable Excursion (MFE), Maximum Adverse Excursion (MAE), and Forward Returns (Time-Based Excursions) in whole points for deep quantitative analysis in Excel. It will allow you to understand whether you close your trades too early and can help optimize overall trading execution.
The script shows the usage of L1 Trend Filter methods in MQL5 for float and double vectors on random walk simulated data.
Portfolio Scorer is a standalone MQL5 script that evaluates the quality of a multi-EA portfolio across three critical dimensions that most algo traders overlook. The script reads daily profit and loss data from CSV files (one per Expert Advisor), computes a full Pearson correlation matrix between every strategy pair, maps trading activity by UTC hour and weekday, detects asset class diversity, and produces a weighted composite score with a letter grade from A+ to F. How it works: The tool runs in four sequential stages. First, the Data Loader reads and validates CSV files containing daily returns for each EA in the portfolio. Second, the Correlation Engine calculates the complete NxN Pearson correlation matrix and flags pairs that exceed a configurable threshold. Third, the Coverage Analyzer maps which hours and weekdays have active trading and identifies blind spots. Fourth, the Scoring Function combines all three dimensions into a single composite score using adjustable weights.
Questo script serve come esempio pratico di come gli sviluppatori possono lavorare programmaticamente con i file utilizzando MQL5. Uno degli obiettivi principali è quello di dimostrare un'efficace organizzazione dei file di progetto, essenziale per gli sviluppatori che lavorano su sistemi di grandi dimensioni o che mirano a creare progetti portatili e autonomi. Il concetto può essere ulteriormente ampliato e perfezionato con ulteriori idee per supportare flussi di lavoro di sviluppo più avanzati.
Download all OHLC data history available and save it in a file, either for just one symbol or for many in Market Watch
Si tratta di un semplice programma per il confronto tra asincroni e sincroni all close. Si tratta di un programma di esempio, quindi è possibile modificarlo per i propri scopi di test, ad esempio aggiungendo delle condizioni.
The script provides a quick estimation of an exponent/power factor for transformation of variable-length price increments into uniform distibution, that makes them a "random walk". The estimated value characterizes current symbol as more profitable when using in a particular trading strategy.
Questa funzione mi dà i nomi abbreviati dei timeframe Esempio: "M1" invece di "PERIOD_M1"
Questo script può essere classificato come informativo. Si limita a visualizzare sul grafico le informazioni sulla coppia di trading corrente.
Lo script è utile per ispezionare la struttura dei modelli ONNX, fornendo informazioni sull'input e sull'output, sui loro nomi e sulle loro proprietà. È particolarmente utile per il debug e la comprensione delle caratteristiche dei modelli ONNX utilizzati nelle applicazioni di apprendimento automatico.
Questo script raccoglie tutti i buffer degli indicatori integrati in MQL5 e li memorizza in un file CSV a scopo di analisi.
Si tratta di uno script per stampare tutte le operazioni aperte e i relativi PnL in un momento specifico della storia.
Questo script è stato progettato per effettuare il rollover di posizioni aperte con valori di Stop Loss e Take Profit fissi in pip dal prezzo corrente e con un volume fissato in unità della posizione da rollare.
Questa funzione esegue la logica principale dell'apertura di un'operazione. Calcola il prezzo di apertura, i livelli di take profit e di stop loss in base alle informazioni sul simbolo e ai parametri forniti dall'utente. Prepara una richiesta di operazione (MqlTradeRequest) con le informazioni necessarie, come il simbolo, il volume, il tipo di ordine, la deviazione, il commento, il numero magico, ecc. Chiama la funzione OrderSend per inviare la richiesta di operazione e ottenere il risultato. Funzione SetTypeFillingBySymbol: determina il tipo di riempimento dell'ordine (Fill o Kill, Immediate o Cancel, o Return) in base alla politica di riempimento del simbolo. Funzione GetMinTradeLevel: calcola il livello operativo minimo in base al livello di congelamento e al livello di stop del simbolo. Regola il livello minimo per assicurarsi che sia entro certi limiti e restituisce il risultato.