Unisciti alla nostra fan page

Script di mappatura dei simboli di Market Watch basato sulla somiglianza - script per MetaTrader 5
- Pubblicati da::
- Enrique Enguix
- Visualizzazioni:
- 17
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Questo script è un riferimento di codice progettato per aiutare gli sviluppatori e gli utenti di MetaTrader 5 a risolvere un problema comune: la mancata corrispondenza tra i nomi dei simboli configurati e i nomi effettivi forniti dai broker.
Come sviluppatore, ho affrontato questa sfida quando ho lavorato su Expert Advisor (EA) configurabili, in particolare quelli che gestiscono strategie multi-simbolo. È frequente che gli utenti non impostino i nomi dei simboli secondo le convenzioni del proprio broker, con il risultato che gli EA non funzionano correttamente. Ad esempio, se nelle impostazioni dell'EA viene specificato "EURUSD", ma il broker utilizza "EURUSD.i" o "EURUSD.m", l'EA non troverà il simbolo corretto e non sarà in grado di operare.
Questo codice utilizza l'algoritmo della distanza di Levenshtein per identificare il simbolo più simile a quello specificato dall'utente tra tutti quelli disponibili nella finestra di Market Watch.
Anche se non sono un esperto, questa soluzione si è dimostrata efficace nella mia esperienza personale e può essere uno strumento utile per altri sviluppatori.
Principali applicazioni e utilizzi:
- Integrazione in EA configurabili: questo script è inteso come riferimento per l'integrazione in EA o script che devono adattarsi automaticamente ai nomi dei simboli dei broker.
- Adattabilità ai broker personalizzati: se un broker utilizza nomi specifici per i suoi simboli, questo approccio aiuta a mapparli correttamente e a evitare errori di configurazione.
- Convalida della configurazione: Può essere utilizzato come strumento di convalida durante la fase di sviluppo e di test per garantire che gli EA siano robusti e adattabili.
- Formazione e apprendimento: per chi sta imparando l'MQL5, questo codice mostra come lavorare con gli array, le stringhe e le funzioni dinamiche come il calcolo delle distanze tra le stringhe.
Avviso importante:
Questo codice si basa sulla mia esperienza personale ed è una soluzione che ha funzionato per i miei progetti. Tuttavia:
- Non sono un esperto di MQL5 e questa soluzione potrebbe non essere la più efficiente o adatta a tutti i casi.
- Potrebbero esserci approcci più avanzati o specifici, a seconda delle esigenze di ciascun utente o progetto.
Invito gli utenti e gli sviluppatori a sperimentare il codice, adattarlo ai propri contesti e, se necessario, studiare altre alternative che potrebbero essere più adatte.
Esempio pratico di integrazione:
Supponiamo di aver sviluppato un EA che fa trading su "EURUSD". Nell'ambiente utente, il broker ha questo simbolo come "EURUSD.i". Integrando questo codice nell'EA:
- L'utente potrà inserire "EURUSD" come configurazione di base.
- Il codice cercherà automaticamente in Market Watch e mapperà il simbolo corretto ("EURUSD.i").
- L'EA funzionerà senza problemi, eliminando la necessità di configurazioni manuali precise.
Conclusioni:
Questo script non solo è utile per garantire la funzionalità degli EA in diversi ambienti, ma serve anche come punto di partenza per lo sviluppo di soluzioni più avanzate.
Sebbene esistano altri modi per affrontare questo problema, spero che questa implementazione sia uno strumento prezioso per altri sviluppatori e utenti di MetaTrader 5.
Tradotto dallo spagnolo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/es/code/54553

Un piccolo script per semplificare la vita dei trader. L'unica cosa che mi infastidisce sempre è reimpostare le proprietà, come i colori, di un nuovo grafico, per farlo apparire come mi piace. Ecco quindi uno script per rendere le cose più semplici.

Un insieme di livelli di Keltner basati sullo smoothing universale.

Using JMA adaptive moving average is the best way to smooth price ranges with a minimum time lag.

Slow adaptive trend line with ultralinear and JMA smoothings.