Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
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 kwie 2021, 18:40
Dziękuję za IsNewBar() - działa i o to mi chodziło. Co do pkt.2 jakieś jeszcze wskazówki?
Ja bym to pewnie zrobił cuś w ten deseń:

Kod: Zaznacz cały

input double    DolnyStoch = 20;
input double    GornyStoch = 80;

bool ostatniDolnyStoch=false;
bool ostatniGornyStoch=false;
double biezacyStoch;

if(biezacyStoch<=DolnyStoch)
 {
 ostatniDolnyStoch=true;
 }

if(biezacyStoch>=GornyStoch)
 {
 ostatniGornyStoch=true;
 }

//---- Warunek dla Stoch > 80 
 if(ostatniGornyStoch&&
    ostatniDolnyStoch&&
    biezacyStoch>=GornyStoch)
   {
   FunkcjaWykonajMnie();
   }
Oczywiście, po wykonaniu funkcji, należy zresetować zmienne bool na false, albo tylko jedną zmienną, zależy jakie są założenia, i tak w kółko.
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 »

Dziękuję, muszę nauczyć się myśleć w ten sposób. Kolejny problem rozwiązany :D Czy po zakończeniu doby, EA na nowo przelicza OnInit czy tylko podczas pierwszego uruchomienia?

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 »

OnInit() jest realizowana przy każdym przeładowaniu wskaźnika, czyli.
1. Pierwsza inicjalizacja kodu,
2. Zmiana parametrów kodu (tych jak się otworzy dany kod z listy wskaźnikow, np.),
3. Zmiana interwału.

Dotyczy wskaźników i EA.

PS. Tak, żeby pisać kody to potrzeba myśleć algorytmem, czyli tak jak kod będzie wykonywany.
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 »

Jak obliczyć średnią cenę z otwartych pozycji? Załóżmy, że EA zawarł X transakcji buy lub sell, a ja chciałbym poznać ich średnią cenę czyli poziom BE?

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:
17 kwie 2021, 15:56
Jak obliczyć średnią cenę z otwartych pozycji? Załóżmy, że EA zawarł X transakcji buy lub sell, a ja chciałbym poznać ich średnią cenę czyli poziom BE?
Breakeven_Line v1.mq4
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
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 »

Jakim poleceniem uzyskać ostatnią cenę sprzedaży/zakupu?
double Cena_zakupu= (jakie polecenie?);
double Cena_sprzedazy=(jakie polecenie?);

już znalazłem
double vbid = MarketInfo(Symbol(),MODE_BID);
double vask = MarketInfo(Symbol(),MODE_ASK);

grzegrzyw
Gaduła
Gaduła
Posty: 333
Rejestracja: 11 mar 2012, 19:43

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

Nieprzeczytany post autor: grzegrzyw »

Można jeszcze prościej: dla aktualnego wykresu wystarczy zapis Bid, Ask.

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 »

grzegrzyw pisze:
20 kwie 2021, 19:39
Można jeszcze prościej: dla aktualnego wykresu wystarczy zapis Bid, Ask.
Zgadza się, w MQL4 wystarczy napisać Ask, albo Bid.
Natomiast, dla poprawności systematycznej lepiej zdefiniować zmienne:

Kod: Zaznacz cały

 double dAsk=Ask;
 double dBid=Bid;
 
I to musi być wewnątrz pętli OnTick(), dla EA.
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:
20 kwie 2021, 20:23
grzegrzyw pisze:
20 kwie 2021, 19:39
Można jeszcze prościej: dla aktualnego wykresu wystarczy zapis Bid, Ask.
Zgadza się, w MQL4 wystarczy napisać Ask, albo Bid.
Natomiast, dla poprawności systematycznej lepiej zdefiniować zmienne:

Kod: Zaznacz cały

 double dAsk=Ask;
 double dBid=Bid;
 
I to musi być wewnątrz pętli OnTick(), dla EA.
A co gdy mamy np 5 pozycji otwartych i chcielibyśmy każdą cenę "wyciągnąć? Potrzebne mi to do obliczenia średniej ceny zakupu/sprzedaży.

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:
20 kwie 2021, 23:39
ninjaproject pisze:
20 kwie 2021, 20:23
grzegrzyw pisze:
20 kwie 2021, 19:39
Można jeszcze prościej: dla aktualnego wykresu wystarczy zapis Bid, Ask.
Zgadza się, w MQL4 wystarczy napisać Ask, albo Bid.
Natomiast, dla poprawności systematycznej lepiej zdefiniować zmienne:

Kod: Zaznacz cały

 double dAsk=Ask;
 double dBid=Bid;
 
I to musi być wewnątrz pętli OnTick(), dla EA.
A co gdy mamy np 5 pozycji otwartych i chcielibyśmy każdą cenę "wyciągnąć? Potrzebne mi to do obliczenia średniej ceny zakupu/sprzedaży.
A to jest inna rzecz.
To jest wyszukiwanie zleceń otwartych w pętli i odczytywanie OrderOpenPrice();

Tak nawiasem, to zaczynasz lekko przeginać.
Podaj mu palec, a on chce cały organizm...
Może dam ci kurs?
Tylko zapłać, jeżeli sam nie umiesz googlować.

Wszystko jest w dokumentacji:
https://docs.mql4.com/trading
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

ODPOWIEDZ