Moja pierwsza krecha w MT4.

O jezykach programowania w platformach i nie tylko.
Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

drendriu pisze:
Dadas pisze:
drendriu pisze: A gdzie znajde ten polski kurs ?.
Człowieku, ty tak serio? Czy jaja sobie robisz?
Nie umiesz nawet napisać "Kurs MQL4" w Google?
Spotykałem jakieś przytłumaczone na polski bodajże z ruskiego ale, jakos nie miałem okazji do niego zajrzeć bo nie było potrzeby. Teraz przy okazji tej krechy chciałbym coś poczytać, ale że wplatformie mt4 ????, czy w wskaźniku jakiś jest podstawowy ????? to piersze słysze.

P.S. Dzięki kolego Ajot za komentarze.
Ajot w nagłówku ci to napisał:
//+------------------------------------------------------------------+
//| Krecha2.mq4 |
//| Wszystko co potrzebujesz zeby zrozumiec ten kod znajdziesz pod: |
//| http://bossa.pl/index.jsp?layout=2&page ... at_id=1081 |
//+------------------------------------------------------------------+

drendriu
Pasjonat
Pasjonat
Posty: 485
Rejestracja: 28 maja 2011, 10:10

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: drendriu »

Dadas pisze: Ajot w nagłówku ci to napisał:
//+------------------------------------------------------------------+
//| Krecha2.mq4 |
//| Wszystko co potrzebujesz zeby zrozumiec ten kod znajdziesz pod: |
//| http://bossa.pl/index.jsp?layout=2&page ... at_id=1081 |
//+------------------------------------------------------------------+
Acha nie zauważyłem. Dzieki Dadas i jeszcze raz dzięki Ajot.

P.S. W podroździale o zmiennych lokalnych opisują jeszcze raz zmienne globalne....
http://bossa.pl/index.jsp?layout=2&page ... at_id=1175

Trza by chyba do nich napisać .....

Awatar użytkownika
ajot
Gaduła
Gaduła
Posty: 92
Rejestracja: 21 cze 2010, 17:44

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: ajot »

drendriu pisze: P.S. W podroździale o zmiennych lokalnych opisują jeszcze raz zmienne globalne....
http://bossa.pl/index.jsp?layout=2&page ... at_id=1175

Trza by chyba do nich napisać .....

Kod: Zaznacz cały

int ZmiennaGlobalna = 10 // zmienna globalna
int init ()
{
...
}
int start ()
{
int ZmiennaLokalna = 5 // zmienna lokalna

Print(ZmiennaGlobalna);
Print(ZmiennaLokalna);
}
double jakas_funkcja()
{
...
}
Masz racje, mają tam błąd ... (tu wersja poprawiona),jak to wyłapujesz to znaczy, że zaczynasz to łapać, tak trzymaj.

Różnica zmiennych lokalnych a globalnych tak w skrócie to:
- zmienne lokalne działają tylko w obrębie funkcji gdzie zostały zadeklarowane
- zmienne globalne działają w obrębie całego kodu w związku z tym powinny być zadeklarowane poza funkcjami, najczęściej na początku twojego dzieła ;)

Wielkiej filozofii z mql4 nie ma, szczególnie jak coś tam liznąłeś wcześniej z jakiegokolwiek innego języka programowania.

Powodzenia i wytrwałości życzę 8)

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

ajot pisze:
drendriu pisze: P.S. W podroździale o zmiennych lokalnych opisują jeszcze raz zmienne globalne....
http://bossa.pl/index.jsp?layout=2&page ... at_id=1175

Trza by chyba do nich napisać .....

Kod: Zaznacz cały

int ZmiennaGlobalna = 10 // zmienna globalna
int init ()
{
...
}
int start ()
{
int ZmiennaLokalna = 5 // zmienna lokalna

Print(ZmiennaGlobalna);
Print(ZmiennaLokalna);
}
double jakas_funkcja()
{
...
}
Masz racje, mają tam błąd ... (tu wersja poprawiona),jak to wyłapujesz to znaczy, że zaczynasz to łapać, tak trzymaj.

Różnica zmiennych lokalnych a globalnych tak w skrócie to:
- zmienne lokalne działają tylko w obrębie funkcji gdzie zostały zadeklarowane
- zmienne globalne działają w obrębie całego kodu w związku z tym powinny być zadeklarowane poza funkcjami, najczęściej na początku twojego dzieła ;)

Wielkiej filozofii z mql4 nie ma, szczególnie jak coś tam liznąłeś wcześniej z jakiegokolwiek innego języka programowania.

Powodzenia i wytrwałości życzę 8)
Oba się mylicie lub fałszywa nomenklatura się wdarła.

GlobalVariable() to jest zmienna, która działa globalnie i może być wykorzystywana przez inne kody.
Spis zmiennych globalnych jest w Narzędzia - > Zmienne Globalne w MT4.
To co opisujecie to są zmienne ogólne lub zewnętrzne, bym tak nazwał.
Czyli, definiujemy na początku kodu, poza funkcjami wykonawczymi, zmienne które będziemy wykorzystywać w kodzie.
Zmienne typu "extern" lub "input" to są te, które potem możemy zmieniać w okienku parametrów.
Zmienne bez dodatku "extern" lub "input" pozostają widoczne jedynie w kodzie.

Zmienne Globalne "GlobalVariable()" definiujemy przez "GlobalVariableSet()", a odczytujemy przez "GlobalVariableGet()".

Najlepiej jest najpierw zdefiniować zmienne zewnętrzne poza funkcjami wykonawczymi, wtedy są ważne w całym kodzie.
Zmienne zdefiniowane lokalnie są ważne jedynie w obrębie danej funkcji lub od miejsca, w którym zostały zdefiniowane.

Awatar użytkownika
ajot
Gaduła
Gaduła
Posty: 92
Rejestracja: 21 cze 2010, 17:44

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: ajot »

Dadas pisze: Oba się mylicie lub fałszywa nomenklatura się wdarła.
... ciach
Masz oczywiście rację, dlatego napisałem pisząc o tym "tak w skrócie" ... nie chciało mi się tak rozpisywać dlatego dałem wersje uproszczoną for dummies ;)

drendriu
Pasjonat
Pasjonat
Posty: 485
Rejestracja: 28 maja 2011, 10:10

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: drendriu »

drendriu pisze: I tu i mo kopara opadła, dlatego że w AFL w Amibrokerze wywołanie volumenu trwa tyle:
Kolejny dzień walki z kodem. Zadanie - chce stworzyć wskaźnik który będzie tworzył "separate window" w którym to volumen będzie zaznaczany "od -do" (na razie odpuszczam aby od do powiązać z dwoma "moimi krechami - na to przyjdzie pora później). Pytanie które mnie nurtuje odnośnie tego kodu z Simple_Volume:
https://www.mql5.com/en/code/9779

Czy autor tego kodu trochę za bardzo nie nafilozofował z tą pętlą (której działania zresztą póki co nie rozumię)

Kod: Zaznacz cały

 i=Bars-SVPeriod-1;
   if(counted_bars>SVPeriod) i=Bars-counted_bars-1;
   while(i>0)
     {
Buffer[i] = Open[i] * Volume[i] ;
      i--;
     }
   return(0);
Czy można to zrobić prosciej przy pomocy Dadasowego.

Kod: Zaznacz cały

iVolume(NULL,0,shift);
Tzn. Pytanie brzmi czy koniecznie musze wpisywac tą pętle, aby wywołać volumen, czy nie muszę, bo mam wrażenie że to nie jest konieczne, i ten kod z tego linku jest trochę nazbyt rozbudowany i można to zrobić prosciej. Nie pytam jak, pytam tylko czy ?.

P.S. Na wszelki wypadek wstęne ostrzeżenia dla Dadasa. Jak masz mnie kolejny raz wyzywać od ignorantów, to z góry dziekuję za taką pomoc.

-- Dodano: wt 25-11-2014, 14:35 --
drendriu pisze:
drendriu pisze: I tu i mo kopara opadła, dlatego że w AFL w Amibrokerze wywołanie volumenu trwa tyle:
Kolejny dzień walki z kodem. Zadanie - chce stworzyć wskaźnik który będzie tworzył "separate window" w którym to volumen będzie zaznaczany "od -do" (na razie odpuszczam aby od do powiązać z dwoma "moimi krechami - na to przyjdzie pora później). Pytanie które mnie nurtuje odnośnie tego kodu z Simple_Volume:
https://www.mql5.com/en/code/9779

Czy autor tego kodu trochę za bardzo nie nafilozofował z tą pętlą (której działania zresztą póki co nie rozumię)

Kod: Zaznacz cały

 i=Bars-SVPeriod-1;
   if(counted_bars>SVPeriod) i=Bars-counted_bars-1;
   while(i>0)
     {
Buffer[i] = Open[i] * Volume[i] ;
      i--;
     }
   return(0);
Czy można to zrobić prosciej przy pomocy Dadasowego.

Kod: Zaznacz cały

iVolume(NULL,0,shift);
Tzn. Pytanie brzmi czy koniecznie musze wpisywac tą pętle, aby wywołać volumen, czy nie muszę, bo mam wrażenie że to nie jest konieczne, i ten kod z tego linku jest trochę nazbyt rozbudowany i można to zrobić prosciej. Nie pytam jak, pytam tylko czy ?.

P.S. Na wszelki wypadek wstępne ostrzeżenia dla Dadasa. Jak masz mnie kolejny raz wyzywać od ignorantów, to z góry dziekuję za taką pomoc.
-- Dodano: wt 25-11-2014, 15:22 --

I jeszcze jakby mi powiedział ktoś do czego służy wtym kodzie tajemniecze buffersy?.

Kod: Zaznacz cały

#property indicator_buffers 1
Ja rozumiem że #property indicator_separate_window to służy do stworzenia osobnego okna dla wskaźika ale indicator buffer ?. Jasny gwint nie mam pojęcia, a tłumaczenie tez mi nic nie mówi:

http://docs.mql4.com/basis/preprosessor/compilation
Number of buffers for indicator calculation
Po jakiego grzyba tworzy sie jakies buffery, czy tam oznacza ich ilość ?. OMG jaki ten mql jest nieprzyjemny. Nie dziwie się ża miałem taki wstręt, żeby się za to zabrać. Cokolwiek żeby, tu zrobić to trzeba miec anielską cierpliwość ....

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

drendriu, bo to trzeba po kolei, nie wszystko na raz.
Tworzenie obiektów to jedna sprawa.
Do tworzenia obiektów buffers są niepotrzebne.
Natomiast za pomocą buffers można rysować wkresy, histogramy, trendy...

Co do pętli, no to jeżeli chcesz stworzyć wskaźnik, który będzie odczytywał wolumen historyczny, to musisz to w pętli zrobić.

Kod: Zaznacz cały

iVolume(NULL,Tf,shift);
Czyli funkcja iVolume():
NULL = bieżący symbol,
Tf = specyficzny Tf, z którego chcesz czytać, lub 0 = bieżący,
shift = specyficzny index świecy (0,1,2,3,4,5....).

Kod: Zaznacz cały

iVolume(NULL,0,0);
Odczytuje wolumen tickowy bieżącej świecy z bieżącego Tfu i bieżącego symbolu.

Przygoda z programowaniem wymaga nie mniej cierpliwości niż trading.

drendriu
Pasjonat
Pasjonat
Posty: 485
Rejestracja: 28 maja 2011, 10:10

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: drendriu »

Dadas pisze: Natomiast za pomocą buffers można rysować wkresy, histogramy, trendy...
Zapytam prosto, a jest jakaś konkretna lista tego, co można wywołać prze te bufery ?.(bo jakoś nie wiem gdzie tego szukac - w tej dokumentacji linków żadnych, przykładów do skompilowania 0, jakas ta dokumentacja taka, żeby broń Boże laik nic sie z tego nie dowiedział).....

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

drendriu pisze:
Dadas pisze: Natomiast za pomocą buffers można rysować wkresy, histogramy, trendy...
Zapytam prosto, a jest jakaś konkretna lista tego, co można wywołać prze te bufery ?.(bo jakoś nie wiem gdzie tego szukac - w tej dokumentacji linków żadnych, przykładów do skompilowania 0, jakas ta dokumentacja taka, żeby broń Boże laik nic sie z tego nie dowiedział).....
www.mql4.com
tam jest wszystko po kolei
tylko po polsku niestety nie ma

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: LowcaG »

Dokumentacja jest dobra, F1 i wszystko masz. Całe listy, wszystkich komend wraz z opisami i nawet często przykładami.

ODPOWIEDZ