Czy ktoś będzie wstanie powiedzieć dlaczego widze tylko 4 kreski z czasem sesji a nie tyle ile chcę ? Bo chciałbym dodać jeszcze kilka .
*nie wyrzuca błędów
poprawione ... ale to błąd gramatycznyMike_Scofield pisze: Bo Hong Kong wpisałeś przec "Ch"
Kod: Zaznacz cały
#property 		indicator_separate_window
#property		indicator_buffers 8
#property		indicator_color1 Gray
#property		indicator_width1 3
#property		indicator_color2 Lime
#property		indicator_width2 3
#property		indicator_color3 Red
#property		indicator_width3 3
#property		indicator_color4 Orange
#property		indicator_width4 3
#property		indicator_color5 Blue
#property		indicator_width5 3
#property		indicator_color6 Pink
#property		indicator_width6 3
#property		indicator_color7 Yellow
#property		indicator_width7 3
#property		indicator_color8 Gold
#property		indicator_width8 3
#property 		indicator_maximum 9
#property 		indicator_minimum 0
extern int     GMTOffset      = 0;
// Buffers
double dFrankfurtBuffer[];
double dLondonBuffer[];
double dNewYorkBuffer[];
double dChicagoBuffer[];
double dSydneyBuffer[];
double dWellingtonBuffer[];
double dTokyoBuffer[];
double dHongkongBuffer[];
int FrankfurtOpen;	
int FrankfurtClose;	
int LondonOpen;
int LondonClose;  
int NewYorkOpen;  
int NewYorkClose; 
int ChicagoOpen;
int ChicagoClose;
int SydneyOpen;   
int SydneyClose; 
int WellingtonOpen;
int WellingtonClose;	
int TokyoOpen;    
int TokyoClose;   
int HongkongOpen;	
int HongkongClose;	
int init() {
	IndicatorShortName("");
	SetIndexBuffer(0,dFrankfurtBuffer);
	SetIndexLabel(0,"Frankfurt");
   SetIndexBuffer(1,dLondonBuffer);
	SetIndexLabel(1,"London");
	SetIndexBuffer(2,dNewYorkBuffer);
	SetIndexLabel(2,"New York");
	SetIndexBuffer(3,dChicagoBuffer);
	SetIndexLabel(3,"Chicago");
	SetIndexBuffer(4,dSydneyBuffer);
	SetIndexLabel(4,"Sydney");
	SetIndexBuffer(5,dWellingtonBuffer);
	SetIndexLabel(5,"Wellington");
	SetIndexBuffer(6,dTokyoBuffer);
	SetIndexLabel(6,"Tokyo");
	SetIndexBuffer(7,dHongkongBuffer);
	SetIndexLabel(7,"Hongkong");
	
	return(0);
}
int start() {
   //set Times 
   FrankfurtOpen  = GMTOffset + 7;
   FrankfurtClose = GMTOffset + 16;
   LondonOpen     = GMTOffset + 8;
   LondonClose    = GMTOffset + 17;
   NewYorkOpen    = GMTOffset + 13;
   NewYorkClose   = GMTOffset + 22;
   ChicagoOpen    = GMTOffset + 14;
   ChicagoClose   = GMTOffset + 23;
   SydneyOpen     = GMTOffset + 22;
   SydneyClose    = GMTOffset + 7;
   WellingtonOpen = GMTOffset + 22;
   WellingtonClose= GMTOffset + 6;
   TokyoOpen      = GMTOffset + 0;
   TokyoClose     = GMTOffset + 9;
   HongkongOpen  = GMTOffset + 1;
   HongkongClose = GMTOffset + 10;
   
  	// Determine number of bars to iterate over
	int iBarsToCalc = Bars - IndicatorCounted();
	if (iBarsToCalc < Bars) iBarsToCalc++;
	
	// Iterate over bars
	for (int i=iBarsToCalc-1;i>=0;i--) {
		
		// Set Frankfurt Line
		if (isMarketOpen(FrankfurtOpen, FrankfurtClose, Time[i]))
			dFrankfurtBuffer[i] = 8;
		else
			dFrankfurtBuffer[i] = EMPTY_VALUE;
			
		// Set London Line
		if (isMarketOpen(LondonOpen, LondonClose, Time[i]))
			dLondonBuffer[i] = 7;
		else
			dLondonBuffer[i] = EMPTY_VALUE;
		
		// Set NewYork Line
		if (isMarketOpen(NewYorkOpen, NewYorkClose, Time[i]))
			dNewYorkBuffer[i] = 6;
		else
			dNewYorkBuffer[i] = EMPTY_VALUE;		
			
		// Set Chicago Line
		if (isMarketOpen(ChicagoOpen, ChicagoClose, Time[i]))
			dChicagoBuffer[i] = 5;
		else
			dChicagoBuffer[i] = EMPTY_VALUE;
			
		// Set Sydney Line
		if (isMarketOpen(SydneyOpen, SydneyClose, Time[i]))
			dSydneyBuffer[i] = 4;
		else
			dSydneyBuffer[i] = EMPTY_VALUE;	
			
		// Set Wellington Line
		if (isMarketOpen(WellingtonOpen, WellingtonClose, Time[i]))
			dWellingtonBuffer[i] = 3;
		else
			dWellingtonBuffer[i] = EMPTY_VALUE;	
				
				
		// Set Tokyo Line
		if (isMarketOpen(TokyoOpen, TokyoClose, Time[i]))
			dTokyoBuffer[i] = 2;
		else
			dTokyoBuffer[i] = EMPTY_VALUE;	
			
		// Set Hongkong Line
		if (isMarketOpen(HongkongOpen, HongkongClose, Time[i]))
			dHongkongBuffer[i] = 1;
		else
			dHongkongBuffer[i] = EMPTY_VALUE;
	}
}
bool isMarketOpen(int iOpenHour, int iCloseHour, datetime timestamp) {
	int iBarHour = TimeHour(timestamp);
	
	if (iOpenHour < iCloseHour && (iBarHour >= iOpenHour && iBarHour < iCloseHour))
		return(true);
	if (iOpenHour > iCloseHour && (iBarHour >= iOpenHour || iBarHour < iCloseHour))
		return(true);
		
	return(false);
}
 
							






 wystarczy po kolei wrzucać wskaźniki tak jak się chce je mieć. Inaczej nie idzie chyba
 wystarczy po kolei wrzucać wskaźniki tak jak się chce je mieć. Inaczej nie idzie chyba 


 zle przeczytalem
 zle przeczytalem 
 Wniosek.. programowanie czasem nie jest łatwe
  Wniosek.. programowanie czasem nie jest łatwe   
 


 hehe ... naprawiłeś
   hehe ... naprawiłeś   nie wiem czemu przedtem mi nie działało (chyba przez inny wskaźnik)
  nie wiem czemu przedtem mi nie działało (chyba przez inny wskaźnik)