Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Szymon_P
Stały bywalec
Stały bywalec
Posty: 60
Rejestracja: 31 paź 2015, 22:35

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: Szymon_P »

ninjaproject pisze:
03 mar 2023, 18:27
Jak ustawisz sztywno GMT+2, to będzie różnica, bo w Polsce jest zimowo czas GMT+1, bo zimowy jest tym właściwym, a letni jest GMT+2.
Ja nie bardzo w ogóle rozumiem po co te twoje komplikacje?
Ma to znaczenie przy strategiach, które działają w oparciu o konkretne godziny. Czyli jak coś ma zrobić o 8 to po zmianie czasu będzie to robił godzinę później lub wcześniej. Dla konta w ICMarkets obowiązują np. GMT+2 i +3.
Opieranie się na czasie GMT (tak jak giełdy) zrobi strategię bardziej uniwersalną bez względu w jakiej strefie i z podziałem na jakie czasy broker rysuje wykres. Można się jeszcze pokusić o analizę, które giełdy zmieniają czasy letni/zimowy, ale nie wiem czy to będzie miało znaczenie.
Tak mi się przynajmniej wydaje. Muszę trochę zagłębić się w temat.
PS czy świece niedzielne nie są przypadkiem efektem różnic w strefach czasowych?

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

Szymon_P pisze:
03 mar 2023, 19:24
ninjaproject pisze:
03 mar 2023, 18:27
Jak ustawisz sztywno GMT+2, to będzie różnica, bo w Polsce jest zimowo czas GMT+1, bo zimowy jest tym właściwym, a letni jest GMT+2.
Ja nie bardzo w ogóle rozumiem po co te twoje komplikacje?
Ma to znaczenie przy strategiach, które działają w oparciu o konkretne godziny. Czyli jak coś ma zrobić o 8 to po zmianie czasu będzie to robił godzinę później lub wcześniej. Dla konta w ICMarkets obowiązują np. GMT+2 i +3.
Opieranie się na czasie GMT (tak jak giełdy) zrobi strategię bardziej uniwersalną bez względu w jakiej strefie i z podziałem na jakie czasy broker rysuje wykres. Można się jeszcze pokusić o analizę, które giełdy zmieniają czasy letni/zimowy, ale nie wiem czy to będzie miało znaczenie.
Tak mi się przynajmniej wydaje. Muszę trochę zagłębić się w temat.
PS czy świece niedzielne nie są przypadkiem efektem różnic w strefach czasowych?
Nie. Takie zjawisko będzie tylko występować w wypadku sesji NY i australijskiej, ale tylko w tygodniu, czy dwóch, kiedy oni już zmienią czas, a Europa jeszcze nie. Kiedy Europa też już zmieni czas, to wszystko będzie tak jak było.

Świece niedzielne są efektem różnic czasowych serwerów brokera.
Dlatego najlepsze notowania są od brokerów, których doba się zaczyna o naszej 23-ciej, czyli u nich jest już godzina 00. Wtedy nie ma świec niedzielnych.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Szymon_P
Stały bywalec
Stały bywalec
Posty: 60
Rejestracja: 31 paź 2015, 22:35

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: Szymon_P »

ninjaproject pisze:
03 mar 2023, 22:52
Szymon_P pisze:
03 mar 2023, 19:24
ninjaproject pisze:
03 mar 2023, 18:27
Jak ustawisz sztywno GMT+2, to będzie różnica, bo w Polsce jest zimowo czas GMT+1, bo zimowy jest tym właściwym, a letni jest GMT+2.
Ja nie bardzo w ogóle rozumiem po co te twoje komplikacje?
Ma to znaczenie przy strategiach, które działają w oparciu o konkretne godziny. Czyli jak coś ma zrobić o 8 to po zmianie czasu będzie to robił godzinę później lub wcześniej. Dla konta w ICMarkets obowiązują np. GMT+2 i +3.
Opieranie się na czasie GMT (tak jak giełdy) zrobi strategię bardziej uniwersalną bez względu w jakiej strefie i z podziałem na jakie czasy broker rysuje wykres. Można się jeszcze pokusić o analizę, które giełdy zmieniają czasy letni/zimowy, ale nie wiem czy to będzie miało znaczenie.
Tak mi się przynajmniej wydaje. Muszę trochę zagłębić się w temat.
PS czy świece niedzielne nie są przypadkiem efektem różnic w strefach czasowych?
Nie. Takie zjawisko będzie tylko występować w wypadku sesji NY i australijskiej, ale tylko w tygodniu, czy dwóch, kiedy oni już zmienią czas, a Europa jeszcze nie. Kiedy Europa też już zmieni czas, to wszystko będzie tak jak było.

Świece niedzielne są efektem różnic czasowych serwerów brokera.
Dlatego najlepsze notowania są od brokerów, których doba się zaczyna o naszej 23-ciej, czyli u nich jest już godzina 00. Wtedy nie ma świec niedzielnych.
No właśnie nie do końca jest chyba tak jak piszesz. Jeśli wszędzie przejście z czasu letniego na zimowy wyglądałoby tak samo to by nie było tematu (te 2-3 tygodnie są bez znaczenia). W Polsce zmieniamy czas zimowy (GMT+1) na letni (GMT+2) w kwietniu. W Australii zmieniają czas odwrotnie, czyli z letniego (GMT+11) na zimowy(GMT+10) też w kwietniu. Broker ICMarkets (australijski) odpowiednio według ich strony: zimowy GMT+2, letni GMT+3. Powstaje nam rozbieżność 2 godzin. Jak spojrzymy na różnicę czasów pomiędzy Polską, a Australią to faktycznie latem jest to 8 godzin, a zimą 10.
Dokładnie będę wszystko wiedział na początku kwietnia jak zweryfikuję to na żywo.
Jeśli jest tak jak piszę to zasadnym by było pisać EA w odniesieniu do czasu GMT uwzględniając oczywiście zmianę czasu według wskazań TimeDaylightSavings()
PS USA prawdopodobnie zostaną już na stałe z czasem letnim

Szymon_P
Stały bywalec
Stały bywalec
Posty: 60
Rejestracja: 31 paź 2015, 22:35

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: Szymon_P »

Po weekendzie zmienił się czas na GMT+3, ale nie wiem dlaczego TimeDaylightSavings() cały czas pokazuje 0 ?

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

Szymon_P pisze:
14 mar 2023, 10:23
Po weekendzie zmienił się czas na GMT+3, ale nie wiem dlaczego TimeDaylightSavings() cały czas pokazuje 0 ?
USA zmieniły czas w weekend.
Teraz jest przesunięcie.
Tu masz przydatny link:
https://market24hclock.com/?set_theme=dark
TimeDaylightSavings
Returns correction for daylight saving time in seconds, if the switch to summer time has been made. It depends on the time settings of your computer.

int TimeDaylightSavings();

Return Value

If switch to winter (standard) time has been made, it returns 0.
Funkcja TimeDaylightSavings() zwraca wartość zmiany czasu z czasu twojego komputera, a nie z czasu brokera.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Szymon_P
Stały bywalec
Stały bywalec
Posty: 60
Rejestracja: 31 paź 2015, 22:35

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: Szymon_P »

Mam pytanie odnośnie tworzenia funkcji do importu w include. Np. w menu EA wybieram TF poprzez ENUM_TIMEFRAMES TF1 = PERIOD_H1;
Następnie podstawiam dane do funkcji:
double Funkcja(int A, double B, ??TF ) {}
Jak określić zmienną dla TF wybierane z enum?

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

Kod: Zaznacz cały

Funkcja(int A, double B, ENUM_TIMEFRAMES TF ) {}
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Szymon_P
Stały bywalec
Stały bywalec
Posty: 60
Rejestracja: 31 paź 2015, 22:35

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: Szymon_P »

Czy jest możliwość aby EA wrzucał automatycznie na wykres wskaźnik Moving Average według parametrów, które mam ustawione do strategii?

lxi
Stały bywalec
Stały bywalec
Posty: 59
Rejestracja: 28 sty 2014, 14:04

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: lxi »

Ludziska, jak napisać formułę odczytu wartości średniej, ale średniej, która w zakładce "Poziomy" ma ustawione jakieś wartości?
Odczyt standardowy to:

Kod: Zaznacz cały

ema_up = NormalizeDouble(iMA(NULL, PERIOD_CURRENT, 20, 0, MODE_LWMA, PRICE_OPEN, 1), Digits);
Ale moja średnia LWMA 20 tworzy kanał z wartości przesuniętych.
1.png
Jak temu zaradzić? Czy język MQl4 daje w ogóle taką możliwość?

Dodam, że chciałbym odczytać wartości krańcowe czyli poziomy: 90 i -90.

EDIT: Nie było pytania. Właśnie zrozumiałem, że poziom 90 to nic innego jak wartość średniej plus 9 pipsów. A -90 to wartość średniej minus 9 pipsów.
Dziękuję, dobranoc:)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

lxi
Stały bywalec
Stały bywalec
Posty: 59
Rejestracja: 28 sty 2014, 14:04

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: lxi »

Hej, powiedzcie mi czy w poniższym kodzie jest gdzieś wartość odpowiadająca za dokładność obliczeń wartości wskaźnika wyświetlanych w oknie danych? Niestety nie mam pojęcia o pisaniu i strukturze wskaźników. Wskaźnik wrzucony na wykres np. E/U pokazuje odczyty w oknie danych z dokładnością do 4 miejsc po przecinku a ja chciałbym żeby pokazywał z dokładnością do 5 miejsc (tak jak pokazywana jest cena instrumentu).
Zależy mi na tym gdyż chcę napisać w EA warunek, że jeśli cena tylko dotknie konkretnej linii wskaźnika to ma wykonać pewną czynność. Jeśli nie jestem w stanie porównać odczytów wskaźnika z aktualną ceną (różnica dokładności po przecinku) to będą wychodziły głupoty.
TMA ATR Channel.mq4
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

ODPOWIEDZ