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
Risulta che i servizi avranno quasi tutte le funzioni On: OnInit, OnDeinit, OnTick(string),OnTimer,OnTrade,OnTradeTransaction, OnTester, OnTesterInit, OnTesterPass, OnTesterDeinit, OnBookEvent, OnChartEvent(long ChartID, ...), OnCalculate, ...
E se non hai bisogno dei buffer degli indicatori e non vuoi affrontare le stampelle degli indicatori/consigli, scrivi in un nuovo tipo di programma - Servizi - che non soffre delle limitazioni (stiracchiate dalle versioni precedenti di MT).
Esattamente.
Non ci sarà nessun OnCalculate.
Ancora nessuna soluzione con OnChartEvent
Proprio così.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Non riesco a ottenere i dati dell'indicatore dall'alto TF
Sergey Dzyublik, 2017.04.14 10:55
L'utente aveva un indicatore che misurava la "forza" del mercato.
L'indicatore ha lavorato sul timeframe corrente e sulla coppia di valute.
Il compito era quello di mostrare i risultati di 8 valute popolari su un grafico con la possibilità di selezionare un TF indipendente da visualizzare.
Non importa in quale TF si trovi l'utente - dovrebbe mostrare i risultati di quello che è stato impostato nei parametri.
Il problema di caricare il traffico da altre valute con il TF richiesto è stato risolto con la seguente stampella:
dove:
symbols_load- elenco delle valute necessarie per il caricamento
Suffisso- possibile prefisso al nome delle coppie di valute
TF- periodo di tempo richiesto
È possibile aggiungere una sottoscrizione/abbonamento ai dati storici (barre e tick) per un determinato volume? In modo che ci sia sempre una cache (di barre e tick freschi) di una certa dimensione al Servizio per i simboli dati.
Quanto sarebbe più facile allora scrivere, per esempio, degli screeners di mercato.
Gli indicatori dovrebbero essere usati per lo scopo previsto.
In altre parole, la sequenza di esecuzione dell'indicatore OnInit e OnDeinit quando si cambia il simbolo-periodo delgrafico non dovrebbe disturbare nessuno
Questo approccio spiega molte cose.
Quindi, dovremmo accettarlo così com'è, l'importante è esserne consapevoli.
No.
Rileggete quali sono gli indicatori. Akelis. Colby. Chiedi a Yandex quali sono gli indicatori di mercato.
In MT3 quando abbiamo introdotto il concetto di indicatori personalizzati abbiamo permesso di operare con oggetti sui grafici perché c'erano solo 2 buffer di indicatori.
Facciamo un po' di storia. All'inizio c'era FXCharts, non l'ho colto perché sono entrato nell'azienda solo nell'ottobre 2002. Poi c'era MetaTrader. Sono entrato nell'azienda per sviluppare MQL II (FXCharts aveva già un linguaggio per le strategie di trading). Quando abbiamo fatto MQL II e EAs, abbiamo cambiato il nome in MetaTrader 2. Quando abbiamo permesso di scrivere indicatori personalizzati, MetaTrader 3 è diventato MetaTrader 3.
Poi è arrivata MetaTrader 4 e MQL4. Gli indicatori personalizzati hanno la possibilità di operare con 8 buffer di indicatori. È stata mantenuta la possibilità di lavorare con oggetti sul grafico. Ma siccome gli indicatori erano calcolati nel thread dell'interfaccia, c'erano poche persone che abusavano del lavoro con gli oggetti.
E ora abbiamo MT5. L'architettura è completamente diversa, ma siamo ostaggi di MT4 in termini di capacità di operare con oggetti grafici sul grafico. Sì, siamo stacanovisti, abbiamo anche aggiunto, come eroi, possibilità quasi illimitate di gestione del grafico dagli indicatori. Siamo arrivati. L'illustrazione - 16 pagine di discussioni sul nulla.
Passiamo ai servizi
La cartella Services è apparsa nell'Editor MQL5, ma non è ancora chiaro come usare questo strumento. https://www.mql5.com/ru/forum/190129
Gli indicatori dovrebbero essere usati per lo scopo previsto.
In altre parole, la sequenza di OnInit e OnDeinit dell'indicatore quando si cambia il simbolo-periodo delgrafico non dovrebbe disturbare nessuno
Perché tutto l'argomento cade sugli oggetti grafici? Ci sono altre risorse globali come variabili globali, file, ecc. (si possono usare negli indicatori? (possono essere usati negli indicatori secondo il loro scopo?) che saranno fonte di errori, se"l'ordine di esecuzione di OnInit e OnDeinit dell'indicatore al cambio del simbolo-periodo delgrafico non disturba nessuno". Ancora una volta, si noti che il kernel è ora implementato in modo tale che l'ordine dovrebbe preoccupare il programmatore MQL, per evitare il rake causato dall'incertezza della sequenza delle chiamate OnInit/Deinit. Per non preoccupare MQL, è necessario un kernel che internamente si occupa di risolvere l'incertezza.
Come possono i servizi o la capacità di eseguire più EA su un singolo grafico non coprire completamente i problemi che stiamo discutendo?
Immaginate che al posto degli indicatori menzionati nel thread, ci sarebbe un servizio in esecuzione che conterrebbe una parte completamente calcolata dell'indicatore. E metterà l'indicatore sul grafico che visualizzerà i dati, calcolati dal Servizio nei buffer dell'indicatore.
Gli indicatori dovrebbero essere usati secondo il loro scopo e non farne qualcosa di universale, solo perché ci sono diversi indicatori da lanciare in un grafico. In questo modo potete iniziare a lamentarvi del divieto di OrderSend negli indicatori.
Come possono i servizi o la capacità di eseguire più EA su un singolo grafico non coprire completamente i problemi che stiamo discutendo?
Immaginate che al posto degli indicatori menzionati nel thread, ci sarebbe un servizio in esecuzione che conterrebbe una parte completamente calcolata dell'indicatore. E metterà l'indicatore sul grafico, che visualizzerà i dati calcolati dal servizio nei buffer dell'indicatore.
Cioè sarà possibile creare un indicatore attraverso il servizio?
Questo è ancora possibile dall'EA (con alcune limitazioni).