przeszukanie obiektów na innym wykresie

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

przeszukanie obiektów na innym wykresie

Nieprzeczytany post autor: personov »

Proszę o pomoc w pewnym temacie.
Chciałbym przeszukać/zindeksować obiekty na wykresie, aby użyć ich w pętli for.
Problemem jest nazwa obiektu. Jest funkcja ObjectName(i), gdzie w nawiasie będzie index kolejnego obiektu. Jednak można jej użyć tylko na bieżącym wykresie. Zrobiłem to tak :

Kod: Zaznacz cały

for(i=0;i<=ObjectsTotal();i++){ 
   string name=ObjectName(i);
   RefreshRates();
   cena[i]=ObjectGet(name,OBJPROP_PRICE1);
   }
W pętli przeszukiwane są wszystkie obiekty na bieżącym wykresie, gdzie nazwa obiektów została zindeksowana jako "i".
W tablicy cena[] wskazywane są ceny wszystkich obiektów na bieżącym wykresie.
I wszystko działa.
Ale ja chciałbym przeszukać, zindeksować i odczytać ceny wszystkich obiektów na innym wykresie.
Zrobiłem to tak :

Kod: Zaznacz cały

for(i=0;i<=ObjectsTotal(chart);i++){ 
   string name=ObjectGetString(chart,ObjectName(i),OBJPROP_NAME);
   ChartRedraw(chart);
   cena[i]=ObjectGetDouble(chart,name,OBJPROP_PRICE1);
   }
chart to long z numerem ID wykresu.
Wszystko działa jeśli w linijce

Kod: Zaznacz cały

cena[i]=ObjectGetDouble(chart,name,OBJPROP_PRICE1);
zamiast name dam konkretną nazwę obiektu. Ale przecież nie to chodzi, bo ja chcę mieć ceny wszystkich obiektów na wykresie o numerze chart.
Testowałem i kombinowałem na różne sposoby i wychodzi na to, że nie działa indeksowanie nazw obiektów w linijce

Kod: Zaznacz cały

string name=ObjectGetString(chart,ObjectName(i),OBJPROP_NAME);
Pomóżcie tęgie głowy. Czy jest na to jakiś sposób ?
Solą życia jest kasa.

z6yszko
Gaduła
Gaduła
Posty: 266
Rejestracja: 17 sty 2011, 10:09

Re: przeszukanie obiektów na innym wykresie

Nieprzeczytany post autor: z6yszko »

A próbowałeś za pomocą

Kod: Zaznacz cały

string  ObjectName( 
   long  chart_id,           // chart identifier 
   int   pos,                // number in the list of objects 
   int   sub_window=-1,      // window index 
   int   type=-1             // object type 
   );
Funkcja ObjectName w nowych buildach jest przeciążona (występuje w dwóch wersjach).

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1521
Rejestracja: 09 sie 2009, 21:27

Re: przeszukanie obiektów na innym wykresie

Nieprzeczytany post autor: personov »

Dzięki. Właśnie o to mi chodziło.
Ciekawe tylko dlaczego nie ma tego w instrukcjach MQL4 ?
Ale pomogłeś mi w 100%.
Zgłosiłem post do pochwały, ale widzę, że władze forum nic sobie z tego nie zrobiły :(
Solą życia jest kasa.

ODPOWIEDZ