Gli indicatori standard si sovrascrivono?! - pagina 4

 
Naturalmente...
Ecco i dati dei file


e qui c'è questa barra sul grafico


e questo non è l'unico caso, è solo un esempio di molti.
Tutti questi bar sono legati ai bar "della domenica".
 
e qui è nell'archivio delle citazioni
 
Non ti è sembrato strano che ci sia un bar con un orario di apertura di 2300 ore alle quattro?
 
La prima volta che lo vedi, è ovviamente ridondante, dato che ci sono 20:00 e 00:00, tutto è come ho suggerito nel mio primo post in questo thread,
Ma il fatto che non può posizionare un oggetto (costruire una linea), probabilmente qualcos'altro con una base di quotazione, se pensate di averne bisogno, provate prima ad inchiodarlo, e poi aggiungete manualmente
 
Ho letto delle barre ascendenti. Forse (per l'indicatore) è la funzione iBarShift()
<br/ translate="no"> int iBarShift( string symbol, int timeframe, datetime time, bool exact=false)
Cerca la barra per tempo. La funzione restituisce l'offset della barra a cui appartiene il tempo specificato. Se non c'è nessuna barra per il tempo specificato (un "gap" nella storia), la funzione, a seconda del parametro esatto, restituisce -1 o lo spostamento della barra più vicina.

Parametri:
symbol - nome del simbolo dello strumento. NULL significa il simbolo corrente.
timeframe - Periodo. Può essere uno dei periodi del grafico. 0 significa periodo del grafico corrente.
time - Valore temporale da cercare.
exact - Valore restituito se non viene trovata nessuna barra. FALSE - iBarShift restituisce quello più vicino. TRUE - iBarShift restituisce -1.

Esempio:
datetime some_time=D'2004.03.21 12:00';
int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);
Print("shift of bar with open time ",TimeToStr(some_time)," is ",shift);




Cercherò di guardare le citazioni di MiG, più tardi.
 
Mi è già stata fatta questa domanda in una pagina precedente. :о)
No, non lo era.
È un normale bar "domenicale", e apre alle 23:00. FIBO, per esempio, ha bar "domenicali" che iniziano alle 22.
 
Ho controllato, tutto confermato. È vero, sono ancora riuscito a mettere la linea nel posto giusto. Per questo sono passato prima agli orologi. Penso che quando si imposta un oggetto si cerca sempre la barra più vicina ai minuti esatti di Period().

 
La versione finale dell'indicatore utilizzando la seconda valuta.
Si tiene conto dei diversi tempi di arrivo delle barre e delle omissioni nella storia.
Le critiche sono benvenute.

#property copyright "Copyright Quark"
#property link      ""

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime

// indicator parameters
extern int nPeriod = 6;

double arrOpen[];

int nExtCountedBars = 0;

int nBars;
int nBarsUsdChf;

////////////////////////
int init()
{
	nBars = 0;
	nBarsUsdChf = 0;

	string strIndicatorShortName = "Test_1(" + Symbol() + " " + nPeriod + ")";  
	IndicatorShortName(strIndicatorShortName);

	// drawing settings
	SetIndexStyle(0, DRAW_LINE);
	SetIndexShift(0, 0);

	IndicatorDigits(4);
		
	// indicator buffers mapping
	SetIndexBuffer(0, arrOpen);
		
	return(0);
}
///////////////////////////
int start()
{
	if(Bars <= nPeriod) 
		return(0);
		
	if(nBars == Bars || nBarsUsdChf == iBars("USDCHF", 0))
		return(-1);

	int nPos = Bars - nBars;
	
	int nPosUsdChf = nPos;
	
	nBars = Bars;
	nBarsUsdChf = iBars("USDCHF", 0);
		
	while(nPos >= 0)
	{
		// Adjust nPosUsdChf, so that time is the same as in EURUSD
		// If Time(USDCHF) < Time(EURUSD), decrease nPosUsdChf
		while(nPosUsdChf > 0 &&
			TimeDay(Time[nPosUsdChf]) < TimeDay(Time[nPos]) ||		// Yerterday vs. Today
			(TimeDay(Time[nPosUsdChf]) == TimeDay(Time[nPos]) &&		// Same day
				TimeHour(Time[nPosUsdChf]) < TimeHour(Time[nPos])))
			nPosUsdChf--;

		// Now, if Time(USDCHF) > Time(EURUSD), increase nPosUsdChf
		while(nPosUsdChf < Bars &&
			TimeDay(Time[nPosUsdChf]) > TimeDay(Time[nPos]) ||		// Yerterday vs. Today
			(TimeDay(Time[nPosUsdChf]) == TimeDay(Time[nPos]) &&		// Same day
				TimeHour(Time[nPosUsdChf]) > TimeHour(Time[nPos])))
			nPosUsdChf++;

		arrOpen[nPos] = iOpen("USDCHF", 0, nPosUsdChf);

		nPos--;
		nPosUsdChf--;
	}

	return(0);
}


 
Domanda stupida: qual è lo scopo della variabile "nPeriod" oltre a quello di mostrare il suo nome? ;о)
 
Domanda stupida: qual è lo scopo della variabile "nPeriod" oltre a quello di mettersi in mostra nel nome? ;o) <br / translate="no">


Э... È solo che c'era un MA e poi l'ho rimosso. Ma non fino in fondo :)