
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
L'ho già scritto prima, ma lo dirò di nuovo:
- funzioni di callback per lavorare con il terminale stesso
- Interruzione/ripristino della connessione
- gestire la coda di diversi EA (mutex, sezioni critiche....)
- debugger (qualsiasi)
- supporto diretto alla numerazione delle barre (dalla più vecchia alla più recente) con messaggistica sui cambiamenti del numero di barre
- creare dll dalle funzioni MQL (aiuterà a creare librerie, cosa che ridurrà il codice complessivo con un gran numero di indicatori)
Risolvere i problemi con l'incertezza, è improbabile che migliori il MQL aggiornato. Perché abbiamo bisogno di alcuni avvisi per calcolare il numero della barra corrente (barra zero)?
Nonostante il "conto alla rovescia", la logica per determinare la barra necessaria è chiara e semplice, secondo me.
- supporto per la numerazione diretta delle barre (dalla più vecchia alla più recente) con notifica del cambiamento del numero di barre
per risolvere i problemi di incertezza, è improbabile che migliori il MQL aggiornato. Perché abbiamo bisogno di avvisi per calcolare il numero della barra attuale (barra zero) dopo?
Nonostante il "conto alla rovescia", la logica della determinazione della barra necessaria è chiara e semplice, secondo me.
Questo ridurrebbe il problema di trovare la barra giusta nella storia a specificare il suo indice "all'indietro" e sarebbe molto più economico.
Eh, l'entusiasmo e l'ottimismo di un tempo sono spariti :), ma aggiungo i miei 5 copechi:
Nel tester, al posto della modalità "punti di controllo" aggiungete il parametro "tutti i tick" "numero di partenze di Expert Advisor per barra". La modalità "per prezzi aperti" non dovrebbe essere cancellata comunque, dato che per essa si usa un fxt più compatto. Comunque, no, è meglio sostituirla con la modalità "a prezzi vicini" :)
E ancora:
-Aggiungere il binding delle variabili globali alle variabili di programma in init.
-Per fare un file exe per il tester.
-Per aggiungere ai buffer degli indicatori ( per ogni tipo di variabili) - per un efficace scambio di dati con Expert Advisor.
Lingua
----
Convertire doppio in stringa con la massima precisione (> 8)
Compilazione condizionale (#ifdef, #ifndef, #define, #undefine)
Possibilità di sostituire le parole chiave con #define (per la compilazione condizionale). Il valore può essere vuoto.
esempio:
//#define EXTERN extern // normale
#define EXTERN // concorso
EXTERN int opt = 0;
Commenti annidati /* */.
Non ANSI, ma implementato quasi ovunque (e disabilitato). Permette di commentare rapidamente un grosso pezzo di codice con normali commenti di testo.
Strutture (promesse)
Array multidimensionali, migliore gestione dei din.
Debugger (promesso?)
Eventi
Eccezioni
API
Puntatori o simili, per liste, mazzi, ...
Interfaccia con il database (SQL o ODBC). Il database non deve essere un server.
Funzioni in linea
Sovraccarico di funzioni
Offuscante (difficile da decompilare).
Crittografia di stringhe con decrittografia singola all'inizializzazione di EA, modifica del flusso di codice, miscelazione del codice, non eliminare il codice inutilizzato,
aggiungere codice spazzatura e dati...
Controllando tutto questo con #pragma.
Terminale
--------
Nelle impostazioni, specificare il programma o lo script MQL con opzioni (e meta variabili) da chiamare prima (e dopo?) la compilazione (per la pre-elaborazione personalizzata).
Editore
--------
Operazioni di commento/discommento (tramite pulsante e/o tasto di scelta rapida)
2. Fare un algoritmo genetico più potente (per essere in grado di testare un numero di varianti 10 alla 20° potenza).
3. Accelerare il processo di test. (Difficilmente aspetterò 15-30 ore, e sarà un compito micidiale!
4. Introdurre la funzione di inversione di posizione (cioè se avete una posizione di acquisto con 5 lotti, potete convertirla in vendita di 5 lotti).
Questo è tutto per ora.
Un altro desiderio per l'altalena. Sarebbe bello se oltre al periodo di ottimizzazione si potesse specificare il periodo di controllo incrociato per i parametri trovati. Questa caratteristica permette di risparmiare un po' dalla riqualificazione del sistema di trading (o dalla riqualificazione del NS).
Un altro desiderio per l'altalena. Sarebbe bello se oltre al periodo di ottimizzazione si potesse specificare il periodo di controllo incrociato per i parametri trovati. Questa caratteristica permette di risparmiare un po' dalla riqualificazione del sistema di trading (o dalla riqualificazione del NS).
Beh, ho un modesto suggerimento. Propongo di introdurre nel linguaggio una funzione che restituisca il numero di celle dell'array in cui si trova il valore dato (o in caso di fallimento restituisca meno uno), altrimenti dobbiamo organizzare un ciclo ogni volta. La funzione ArrayBsearch() non è adatta - restituisce il valore sbagliato.
Il valore restituito da questa funzione sarà ancora controllato per l'uguaglianza -1, quindi possiamo controllare il valore con indice restituito da ArrayBsearch per l'uguaglianza al valore desiderato. Non una grande differenza
Per citare il riferimento.
int ArrayBsearch(...)
Restituisce l'indice del primo elemento trovato nella prima dimensione dell'array.
Se non c'è nessun elemento con il valore specificato nella matrice, la funzione restituisce l'indice dell'elemento più vicino (per valore).
Bene, quando si cerca l'indice non solo di un numero nell'array, ma di un biglietto dell'ordine, questa funzione non si adatta affatto - perché ho bisogno dell'indice del biglietto simile più vicino, quando ho bisogno esattamente di questo biglietto, e se è assente, l'ordine non è tra quelli del mercato - è chiuso e dovremmo trovarlo nella storia! Quando si lavora con gli array spostati in modo sincrono, l'indice è una cosa molto importante, e deve essere preciso o non disponibile.