Sposób na brak danych dla funkcji iXXXX

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Blackhole
Stały bywalec
Stały bywalec
Posty: 80
Rejestracja: 30 lis 2007, 08:06
Lokalizacja: na drodze do Nieba
Kontakt:

Sposób na brak danych dla funkcji iXXXX

Nieprzeczytany post autor: Blackhole » 05 paź 2019, 13:39

Hej!
Gdy w MQL4 próbuję odczytać np. iHigh z wartością parametru shift na tyle dużą, iż platforma nie ma jej załadowanej, to obserwuję masakryczne spowolnienie działania skryptu.
Jak sobie z tym poradzić?

Pozdrawiam,
Jacek
"W Bogu wszelkie nasze bogactwo."

Online
ninjaproject
Gaduła
Gaduła
Posty: 178
Rejestracja: 30 lip 2019, 13:15

Re: Sposób na brak danych dla funkcji iXXXX

Nieprzeczytany post autor: ninjaproject » 05 paź 2019, 19:55

Blackhole pisze:
05 paź 2019, 13:39
Hej!
Gdy w MQL4 próbuję odczytać np. iHigh z wartością parametru shift na tyle dużą, iż platforma nie ma jej załadowanej, to obserwuję masakryczne spowolnienie działania skryptu.
Jak sobie z tym poradzić?

Pozdrawiam,
Jacek

Kod: Zaznacz cały

if(shift>Bars) shift=Bars;
Poza tym, to pętla for() powinna liczyć max Bars, więc błąd masz w pętli, prawdopodobnie.

Kod: Zaznacz cały

for(int i=0; i<Bars; i++)
{ }

Awatar użytkownika
Blackhole
Stały bywalec
Stały bywalec
Posty: 80
Rejestracja: 30 lis 2007, 08:06
Lokalizacja: na drodze do Nieba
Kontakt:

Re: Sposób na brak danych dla funkcji iXXXX

Nieprzeczytany post autor: Blackhole » 07 paź 2019, 08:17

Chodziło mi o to, jak mogę programowo załadować tyle danych, ile potrzebuję, a nie ograniczyć pętlę do ilości dostępnych danych.
Jeśli chcę mieć dostęp do np. 10000 wartości wstecz, to jak to uzyskać bez konieczności ręcznego załadowywania danych historycznych po każdym uruchomieniu platformy?
"W Bogu wszelkie nasze bogactwo."

Online
ninjaproject
Gaduła
Gaduła
Posty: 178
Rejestracja: 30 lip 2019, 13:15

Re: Sposób na brak danych dla funkcji iXXXX

Nieprzeczytany post autor: ninjaproject » 07 paź 2019, 14:19

Blackhole pisze:
07 paź 2019, 08:17
Chodziło mi o to, jak mogę programowo załadować tyle danych, ile potrzebuję, a nie ograniczyć pętlę do ilości dostępnych danych.
Jeśli chcę mieć dostęp do np. 10000 wartości wstecz, to jak to uzyskać bez konieczności ręcznego załadowywania danych historycznych po każdym uruchomieniu platformy?
To możesz mieć jedynie pretensje do brokera, że podaje tyle, ile podaje. Możesz importować dane z niezależnych źródeł do MT4, ale potrzebujesz wtedy pracować na wykresach offline, bo online dane brokera przepiszą dane pobrane z innych źródeł.

Awatar użytkownika
Blackhole
Stały bywalec
Stały bywalec
Posty: 80
Rejestracja: 30 lis 2007, 08:06
Lokalizacja: na drodze do Nieba
Kontakt:

Re: Sposób na brak danych dla funkcji iXXXX

Nieprzeczytany post autor: Blackhole » 09 paź 2019, 09:25

Jeśli przesunę wykres na początek dostępnych danych, a potem nacisnę np. PgUp lub strzałkę w lewo, to zostają załadowane kolejne dane (chyba tyle, ile się zmieści na szerokości okna). Gdy powyższe zrobię (póki się daje) dla pary EURUSD na M1, to mam dostępnych ponad 30tyś świec.
Nie da się tego uzyskać w MQL4?
"W Bogu wszelkie nasze bogactwo."

Online
ninjaproject
Gaduła
Gaduła
Posty: 178
Rejestracja: 30 lip 2019, 13:15

Re: Sposób na brak danych dla funkcji iXXXX

Nieprzeczytany post autor: ninjaproject » 09 paź 2019, 10:37

Blackhole pisze:
09 paź 2019, 09:25
Jeśli przesunę wykres na początek dostępnych danych, a potem nacisnę np. PgUp lub strzałkę w lewo, to zostają załadowane kolejne dane (chyba tyle, ile się zmieści na szerokości okna). Gdy powyższe zrobię (póki się daje) dla pary EURUSD na M1, to mam dostępnych ponad 30tyś świec.
Nie da się tego uzyskać w MQL4?
Dane od brokera doładowujemy trzymając wciśnięty klawisz "Home", aż się przestaną ładować. Gdy już są, to są, i nie trzeba ich ponownie wymuszać.

ODPOWIEDZ