Są dwie prostsze funkcje:rookie2 pisze: ↑06 lut 2021, 20:48Siadłem do kodowania na MT4, a wcześniej tylko kilka prostych EA zrobiłem na tym. Przyzwyczajony jestem do jforex, dlatego mam problem z ogarnięciem. W sumie te funkcje https://docs.mql4.com/globals jak się z nimi oswoiłem trochę to robią to co należy. I przy kilku instrumentach jak wrzucam indykator wtedy robię nazwę zmiennej + ChartSymbol() i mam dla każdego instrumentu ustawioną zmienną. I w sumie tego szukałem i o to pytałem, tylko na początku nie mogłem zatrybić że tutaj na MT4 jest inaczej, to fakt. Anyway. Dzięki za odpowiedź.ninjaproject pisze: ↑05 lut 2021, 17:14Jak mu nie zakodujesz usuwania przy zmianie Tf-u, np. to nie będzie usuwał.rookie2 pisze: ↑05 lut 2021, 12:53@ninja, Ty lepiej ogarniasz MT4. Czemu indykator po każdym przełączeniu wykresu na inny TF np z m5 na m15 przeładowuje się. Po co to jest tak zrobione? Przez to zmienne globalne są inicjalizowane od nowa, i ustawiane są początkowe wartości a nie te co były ustawione między czasie, przed przełączeniem wykresu. Czemu to jest tak durnie zrobione? Wiem że jest API z funkcjami jak GlobalVariableSet itd, ale ciekawi mnie czemu tak to jest rozwiązane dziwnie.
Albo jak Ty do tego podchodzisz? Jak rozwiązujesz w MT4 problem zmiennych globalncyh w indyku żeby się nie resetowały po każdym przełączniu wykresu.
Nic nie jest zrobione.
Tylko programista albo rozumie co robi, albo nie rozumie.
Jeżeli nie rozumie, to lepiej żeby nie programował zanim nie zrozumie.
https://docs.mql4.com/basis/function/events
https://www.mql5.com/en/docs/event_handlers/ondeinit
Trzeba rozumieć jak to działa i rozwiązywać problemy tak, żeby kod działał tak, jak programista chce.
A tak bardziej szczegółowo, to zapodaj kod.
Kod: Zaznacz cały
Symbol()
_Symbol
Natomiast, dla zmiennych globalnych definiowanych wewnątrz danej funkcji OnCalculate() nie ma potrzeby dodawać _Symbol.