DenisR: All'inizio avevo anche 15 505 1009, ma poi il terminale è stato aggiornato all'ultima versione (408) ed è diventato 5 505 1009. Ma in ogni caso, il segno di fine file non può essere più grande della dimensione del file stesso. Questo è ciò che mi preoccupa di più in questo momento.
Esempio leggermente modificato di un indicatore dell'helpdesk:
//+------------------------------------------------------------------+//| ProjectName |//| Copyright 2010, CompanyName |//| http://www.companyname.net |//+------------------------------------------------------------------+#property indicator_chart_window#property indicator_buffers 1#property indicator_plots 1//---- plot Line#property indicator_label1 "Line"#property indicator_type1 DRAW_LINE#property indicator_color1 DarkBlue#property indicator_style1 STYLE_SOLID#property indicator_width1 1//--- indicator buffersdouble LineBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,LineBuffer,INDICATOR_DATA);
//---return(0);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//--- получим количество доступных баров для текущих символа и периода на графикеif(prev_calculated<=0)
{
int bars=Bars(Symbol(),0);
Print("Bars = ",bars,", rates_total = ",rates_total,", prev_calculated = ",prev_calculated);
Print("time[0] = ",time[0]," time[rates_total-1] = ",time[rates_total-1]);
//--- return value of prev_calculated for next call
}
return(rates_total);
}
Lancia per esempio USDJPY (1h). Poi, per esempio, eseguilo su #C (30m). Tutto questo viene fatto mentre il mercato USA non è ancora aperto. E vediamo che appena arriva un tick su USDJPY, OnCalculate a #C si attiva, inoltre, prev_calculated=0. E sulla stessa USDJPY, prev_calculated != 0 prima della nuova barra. Mi sembra un bug ovvio, anche se forse mi manca qualcosa. Costruire 408
Lancia, per esempio, su USDJPY (1h). Poi, per esempio, lo facciamo partire su #C (30m). Tutto questo viene fatto mentre il mercato statunitense non è ancora aperto. E vediamo che appena arriva un tick su USDJPY, OnCalculate a #C si attiva, inoltre, prev_calculated=0. E sulla stessa USDJPY, prev_calculated != 0 prima della nuova barra. Mi sembra un bug ovvio, anche se forse mi manca qualcosa. Costruire 408
Domanda. Il buffer degli indicatori contiene numeri interi o, per esempio, il tempo. Posso fare in modo che i valori del buffer dell'indicatore siano visualizzati nella DataWindow come interi o, per esempio, come tempo?
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
Lizar: Domanda. Il buffer degli indicatori contiene numeri interi o, per esempio, il tempo. Posso fare in modo che la DataWindow visualizzi i valori del buffer dell'indicatore come interi o, per esempio, come tempo?
nel suo complesso è possibile - riducendo l'INDICATOR_DIGITS
Lizar: Domanda. Il buffer degli indicatori contiene numeri interi o, per esempio, il tempo. Posso fare in modo che i valori del buffer dell'indicatore siano visualizzati in DataWindow come interi o, per esempio, come tempo?
Al momento, i buffer degli indicatori sono posizionati come array di tipo double. Pertanto, in DataWindow, i valori del buffer dovrebbero essere visualizzati come valori di tipo doppio. Senza gli sviluppatori, probabilmente non saremo in grado di risolvere il problema da soli.
Attualmente индикаторные буферы è posizionato come un array di tipo double. Corrispondentemente, la DataWindow visualizzerà i valori del buffer come valori di tipo double. A quanto pare, non possiamo risolvere il problema da soli, senza sviluppatori.
Yedelkin: I buffer degli indicatori sono attualmente posizionati come array di tipo double. Rispettivamente, i valori del buffer sono visualizzati in DataWindow come valori di tipo doppio. A quanto pare, non saremo in grado di risolvere questo problema senza gli sviluppatori.
Che i buffer degli indicatori siano posizionati come array di tipo doppio. È possibile fare int e datatime da double. Ma non si può mostrare il risultato convertito. Gli indicatori sono semplicemente più potenti, mentre la visualizzazione dei risultati nella DataWindow rimane la stessa. Vorrei scrivere una richiesta al Service Desk.
All'inizio avevo anche 15 505 1009, ma poi il terminale è stato aggiornato all'ultima versione (408) ed è diventato 5 505 1009. Ma in ogni caso, il segno di fine file non può essere più grande della dimensione del file stesso. Questo è ciò che mi preoccupa di più in questo momento.
Esempio leggermente modificato di un indicatore dell'helpdesk:
Lancia per esempio USDJPY (1h). Poi, per esempio, eseguilo su #C (30m). Tutto questo viene fatto mentre il mercato USA non è ancora aperto. E vediamo che appena arriva un tick su USDJPY, OnCalculate a #C si attiva, inoltre, prev_calculated=0. E sulla stessa USDJPY, prev_calculated != 0 prima della nuova barra. Mi sembra un bug ovvio, anche se forse mi manca qualcosa. Costruire 408
Lancia, per esempio, su USDJPY (1h). Poi, per esempio, lo facciamo partire su #C (30m). Tutto questo viene fatto mentre il mercato statunitense non è ancora aperto. E vediamo che appena arriva un tick su USDJPY, OnCalculate a #C si attiva, inoltre, prev_calculated=0. E sulla stessa USDJPY, prev_calculated != 0 prima della nuova barra. Mi sembra un bug ovvio, anche se forse mi manca qualcosa. Costruire 408
Questo è già stato discusso: https://www.mql5.com/ru/forum/3283/page2#comment_50176(ultimi due paragrafi; e puoi vedere l'intero thread).
Domanda. Il buffer degli indicatori contiene numeri interi o, per esempio, il tempo. Posso fare in modo che la DataWindow visualizzi i valori del buffer dell'indicatore come interi o, per esempio, come tempo?
nel suo complesso è possibile - riducendo l'INDICATOR_DIGITS
nel suo complesso è possibile - riducendo l'INDICATOR_DIGITS
Domanda. Il buffer degli indicatori contiene numeri interi o, per esempio, il tempo. Posso fare in modo che i valori del buffer dell'indicatore siano visualizzati in DataWindow come interi o, per esempio, come tempo?
I buffer degli indicatori sono attualmente posizionati come array di tipo double. Rispettivamente, i valori del buffer sono visualizzati in DataWindow come valori di tipo doppio. A quanto pare, non saremo in grado di risolvere questo problema senza gli sviluppatori.