prostotrader: Quando avrete i vostri dati nella funzione OnCalculate, sarete fuori dai vostri pantaloni!
Non capisci: ho degli indicatori e lo scopo dell'indicatore è la visualizzazione. In questo caso non c'è bisogno di un vetro eccessivamente "tattile". Dico di più - il vetro è addirittura indesiderabile qui.
JSC ''''''OTKRYTIE'', MetaTrader 5, Real
Correlazione tra la direzione della tendenza di RTS-9.16, il volume totale delle posizioni aperte e la differenza tra il volume degli ordini di acquisto al momento e il volume degli ordini di vendita al momento
Per l'indicatore Open Interest ho introdotto una piccola modifica: ora, dopo il primo avvio, se prev_calculate==0, l'indicatore non reinizializzerà i suoi buffer. Cosa ottengo: per esempio, si attacca l'indicatore a un grafico, l'indicatore funziona per un po' di tempo e improvvisamente arriva prev_calculate==0 (forse c'è stato un errore di connessione, o è successo qualcosa con la storia) - in questo caso, l'indicatore non reinizializzerà i suoi buffer di indicatori e continuerà a lavorare come al solito.
Attuazione:
nell'area di dichiarazione delle variabili globali del programma c'è una variabile"StartDate":
double BufferMinDown[];
//---datetime StartDate=0;//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
poi al primo avvio (a prev_calculated==0) il valore della variabile "StartDate" è controllato: se il suo valore è inferiore a D'2015.01.01 00:00' - questo è il primo avvio dell'indicatore, e la variabile "StartDate" è assegnata con l'ultima ora conosciuta del server
Ho un'altra domanda sull'uso delle costanti SYMBOL_SESSION_SELL_ORDERS_VOLUME e SYMBOL_SESSION_INTEREST. Quando si utilizza l'indicatore postato in questo thread, i dati su queste costanti sono immersi, ovviamente per testare il loro uso sulla storia si dovrebbe creare un Expert Advisor. Quando si ricevono queste costanti tramite SymbolInfoDouble(Symbol(),SYMBOL_SESSION_BUY_ORDERS_VOLUME) non in OnCalculate() l'output è zero.
Personalmente voglio prendere un modo semplice senza complicare troppo il codice. Può essere ottenuto solo per l'indicatore e rispettivamente solo in OnCalculate(), e non può essere ottenuto sulla storia, poiché i dati possono essere ottenuti solo per la barra corrente?
Per favore rispondi in questo topic e non spostare il messaggio, perché è impossibile trovare la risposta in seguito, soprattutto perché la domanda è in tema.
Penso di aver capito la risposta alla mia domanda e il titolo del topic, ho eseguito l'EA in tempo reale, tutto funziona sulla storia no. Così la domanda come ottenere i valori di OI e il volume degli ordini di acquisto/vendita sulla storia ha una risposta - non c'è modo...
Perché lo stai facendo?
Confronto due indicatori su strumenti di scambio:
Confronto due indicatori su strumenti di scambio:
È chiaro, ma a cosa servono questi due grafici?
Cosa farete con loro?
È comprensibile, ma a cosa servono questi due grafici?
Cosa farete voi con loro?
Ci sono due risposte qui (potete considerarle nel concetto di AND, OR, OR- generalmente a vostro piacimento):
Ci sono due risposte qui (potete considerarle nel concetto di AND, OR, OR- generalmente a vostro piacimento):
Quando avrete i vostri dati nella funzione OnCalculate, sarete fuori dai vostri pantaloni!
Non si poteva catturare di più perché le letture dell'indicatore vengono azzerate quando la connessione viene interrotta:
Screenshot della piattaforma di trading MetaTrader
RTS-9.16, M1, 2016.09.12
JSC ''''''OTKRYTIE'', MetaTrader 5, Real
Correlazione tra la direzione della tendenza di RTS-9.16, il volume totale delle posizioni aperte e la differenza tra il volume degli ordini di acquisto al momento e il volume degli ordini di vendita al momento
Per l'indicatore Open Interest ho introdotto una piccola modifica: ora, dopo il primo avvio, se prev_calculate==0, l'indicatore non reinizializzerà i suoi buffer. Cosa ottengo: per esempio, si attacca l'indicatore a un grafico, l'indicatore funziona per un po' di tempo e improvvisamente arriva prev_calculate==0 (forse c'è stato un errore di connessione, o è successo qualcosa con la storia) - in questo caso, l'indicatore non reinizializzerà i suoi buffer di indicatori e continuerà a lavorare come al solito.
Attuazione:
nell'area di dichiarazione delle variabili globali del programma c'è una variabile"StartDate":
poi al primo avvio (a prev_calculated==0) il valore della variabile "StartDate" è controllato: se il suo valore è inferiore a D'2015.01.01 00:00' - questo è il primo avvio dell'indicatore, e la variabile "StartDate" è assegnata con l'ultima ora conosciuta del server
altrimenti restituisce semplicemente "rates_total".
Ho un'altra domanda sull'uso delle costanti SYMBOL_SESSION_SELL_ORDERS_VOLUME e SYMBOL_SESSION_INTEREST. Quando si utilizza l'indicatore postato in questo thread, i dati su queste costanti sono immersi, ovviamente per testare il loro uso sulla storia si dovrebbe creare un Expert Advisor. Quando si ricevono queste costanti tramite SymbolInfoDouble(Symbol(),SYMBOL_SESSION_BUY_ORDERS_VOLUME) non in OnCalculate() l'output è zero.
Personalmente voglio prendere un modo semplice senza complicare troppo il codice. Può essere ottenuto solo per l'indicatore e rispettivamente solo in OnCalculate(), e non può essere ottenuto sulla storia, poiché i dati possono essere ottenuti solo per la barra corrente?
Per favore rispondi in questo topic e non spostare il messaggio, perché è impossibile trovare la risposta in seguito, soprattutto perché la domanda è in tema.