Wszystkie pytania dozwolone początkujących programistów
Re: Wszystkie pytania dozwolone początkujących programistów
Rozumiem, planuje stworzyć bibliotekę i sobie z niej aby wrzucać funkcję tak jak napisałeś powyżej, ale staram się łapać póki co jak najwięcej skilla i żeby to wszystko było poprawnie zrobione. Dzięki za pomoc raz jeszcze.
Re: Wszystkie pytania dozwolone początkujących programistów
Hej
Jeszcze jedno pytanie dotyczące wskaźników. Czy mogę za pomocą funkcji iCustom wywołać wskaźnik który pobrałem z internetu? Wrzucam go do folderu Indicators, ale w logach przy próbie wrzucenia go w formie skryptu na wykres wyskakuje cannot open file. Dodam że mam tylko plik ex4, bez kodu źródłowego. Z góry dzięki za odpowiedź.
Jeszcze jedno pytanie dotyczące wskaźników. Czy mogę za pomocą funkcji iCustom wywołać wskaźnik który pobrałem z internetu? Wrzucam go do folderu Indicators, ale w logach przy próbie wrzucenia go w formie skryptu na wykres wyskakuje cannot open file. Dodam że mam tylko plik ex4, bez kodu źródłowego. Z góry dzięki za odpowiedź.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Jeżeli wskaźnik kompiluje się poprawnie, to tak, zawsze.blashka pisze: ↑10 mar 2021, 09:47Hej
Jeszcze jedno pytanie dotyczące wskaźników. Czy mogę za pomocą funkcji iCustom wywołać wskaźnik który pobrałem z internetu? Wrzucam go do folderu Indicators, ale w logach przy próbie wrzucenia go w formie skryptu na wykres wyskakuje cannot open file. Dodam że mam tylko plik ex4, bez kodu źródłowego. Z góry dzięki za odpowiedź.
Przez funkcję iCustom() możemy pobrać ceny poszczególnych buforów dowolnego wskaźnika.
Kod źródłowy nie jest tu do niczego potrzebny.
Wskaźnika nie można instalować do folderu Scripts, ponieważ jest wskaźnikiem, a nie skryptem w rozumieniu MQL4.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Wszystkie pytania dozwolone początkujących programistów
Mam wskaźnik w wersji skompilowanej, który generuje na wykresie kolorowe krzywe ciągłe zaczynające się od kropki, wskazujące panujący na rynku trend. Gdy trend się zmienia, na następnej świeczce pojawia się kropka innego koloru i dalej jest rysowana linia ciągła w tym kolorze co kropka aż do momentu gdy trend ulega zmianie. Aby sprawdzić skuteczność tego wskaźnika chciałem stworzyć EA, który będzie otwierał pozycje w kierunku odpowiadającym kolorowi pojawiającej się kropki i zamykał ją po pojawieniu się kropki sygnalizującej zmianę trendu. Moja umiejętność programowania w języku MQL4 okazała się na tyle słaba, że nie znalazłem sposobu zapisania w kodzie wysyłania polecenia kupna lub sprzedaży w chwili pojawianie się na wykresie kropek w odpowiednim kolorze.
Bardzo proszę o podpowidź jak zapisać takie polecenia w kodzie MQL4
Pozdrawiam,
RyszKo
Bardzo proszę o podpowidź jak zapisać takie polecenia w kodzie MQL4
Pozdrawiam,
RyszKo
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Pobrać dane z buforów wskaźnika przez funkcję iCustom().RyszKo pisze: ↑11 mar 2021, 12:41Mam wskaźnik w wersji skompilowanej, który generuje na wykresie kolorowe krzywe ciągłe zaczynające się od kropki, wskazujące panujący na rynku trend. Gdy trend się zmienia, na następnej świeczce pojawia się kropka innego koloru i dalej jest rysowana linia ciągła w tym kolorze co kropka aż do momentu gdy trend ulega zmianie. Aby sprawdzić skuteczność tego wskaźnika chciałem stworzyć EA, który będzie otwierał pozycje w kierunku odpowiadającym kolorowi pojawiającej się kropki i zamykał ją po pojawieniu się kropki sygnalizującej zmianę trendu. Moja umiejętność programowania w języku MQL4 okazała się na tyle słaba, że nie znalazłem sposobu zapisania w kodzie wysyłania polecenia kupna lub sprzedaży w chwili pojawianie się na wykresie kropek w odpowiednim kolorze.
Bardzo proszę o podpowidź jak zapisać takie polecenia w kodzie MQL4
Pozdrawiam,
RyszKo
W razie potrzeby zgłosić się do mnie.
PS. Warto podać nazwę wskaźnika, zamiast opisywać co on pokazuje.
PPS. W praktyce te sygnały się pojawiają i znikają. Tylko niektóre zostają na wykresie i te widać w historii.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
Re: Wszystkie pytania dozwolone początkujących programistów
@ninjapojekt.
Dziękuję bardzo za pomoc i wskazówki na temat pisania postów. Jestem z epoki dinozaurów więc we współczesnych czasach często mam problemy z nadążaniem za rozwojem techniki. Mam 87 lat. Wskaźnik o którym pisałem poznałem przed laty u brokera Axiory jako Axiory_Strike_Indicator. Teraz spotkałem go u brokera PurpleTrading jako Purple_Strike_indicator. Jest to dokładnie ten sam wskażnik tylko z inna nazwą. Mam rachunek rzeczywisty u tego brokera. Upolowałem kilka dobrych wejść wg wskazań wskaźnika ale widać, że nie zawsze tak jest. Chciałem zrobić statystyki więc pomyślałem o EA. Poległem na starcie. Próbowałem zapisać wskazania wskaźnika w tablicach:
input string IndName = "Purple_Strike_indicator"; // Nazwa wskaźnika
double GetInd_iCustom[101]; // wszystkie wartości
double GetInd_iCustom_red[101]; // Tylko czerwone
double GetInd_iCustom_aqua[101]; // Tylko zielone
Taki fragment kodu wstawiłem do EA. Całość skompilowałem wyłączając komentarzami linie kodu generujące błędy. Niestety odczytanie wskaźnika przez program nie powiodło się. W logach zapisuje się błąd:
2021.03.12 21:16:14.761 2020.10.30 14:45:54 cannot open file 'C:\Users\rk\AppData\Roaming\MetaQuotes\Terminal\B0BD842222E325E29574A178994914CC\MQL4\indicators\Purple_Strike_idicator.ex4' [2]
Wskaźnik jest w folderze przeznaczonym na wskaźniki i dodany do wykresu działa prawidłowo.
Gdyby to się udało to dalej badając kiedy następuje zmiana koloru mógłbym wysyłać zlecenia kupna lub sprzedaży. Oczywiście wiem, że nawet gdyby udało mi się napisać poprawnie działający kod to wskaźnik nie gwarantuje pozytywnych wyników. Widzę jak wskaźnik nie może się zdecydować gdzie postawić kropkę. Na świeczce decydującej o zmianie koloru kropki pojawiają się i znikają aby ostatecznie pozostać w punktach L lub H. Pisanie kodu traktuję głównie jako naukę posługiwania się językiem MQL4. Może zechcesz jeszcze podpowiedzieć mi jak skutecznie wywołać wskaźnik i umieścić wskazania w tablicach. Chciałem dołączyć plik ze wskaźnikiem ale system sygnalizuje: BŁĄD
Nieprawidłowe rozszerzenie pliku: Axiory_Strike_indicator.ex4
Pozdrawiam,
RyszKo
Dziękuję bardzo za pomoc i wskazówki na temat pisania postów. Jestem z epoki dinozaurów więc we współczesnych czasach często mam problemy z nadążaniem za rozwojem techniki. Mam 87 lat. Wskaźnik o którym pisałem poznałem przed laty u brokera Axiory jako Axiory_Strike_Indicator. Teraz spotkałem go u brokera PurpleTrading jako Purple_Strike_indicator. Jest to dokładnie ten sam wskażnik tylko z inna nazwą. Mam rachunek rzeczywisty u tego brokera. Upolowałem kilka dobrych wejść wg wskazań wskaźnika ale widać, że nie zawsze tak jest. Chciałem zrobić statystyki więc pomyślałem o EA. Poległem na starcie. Próbowałem zapisać wskazania wskaźnika w tablicach:
input string IndName = "Purple_Strike_indicator"; // Nazwa wskaźnika
double GetInd_iCustom[101]; // wszystkie wartości
double GetInd_iCustom_red[101]; // Tylko czerwone
double GetInd_iCustom_aqua[101]; // Tylko zielone
Taki fragment kodu wstawiłem do EA. Całość skompilowałem wyłączając komentarzami linie kodu generujące błędy. Niestety odczytanie wskaźnika przez program nie powiodło się. W logach zapisuje się błąd:
2021.03.12 21:16:14.761 2020.10.30 14:45:54 cannot open file 'C:\Users\rk\AppData\Roaming\MetaQuotes\Terminal\B0BD842222E325E29574A178994914CC\MQL4\indicators\Purple_Strike_idicator.ex4' [2]
Wskaźnik jest w folderze przeznaczonym na wskaźniki i dodany do wykresu działa prawidłowo.
Gdyby to się udało to dalej badając kiedy następuje zmiana koloru mógłbym wysyłać zlecenia kupna lub sprzedaży. Oczywiście wiem, że nawet gdyby udało mi się napisać poprawnie działający kod to wskaźnik nie gwarantuje pozytywnych wyników. Widzę jak wskaźnik nie może się zdecydować gdzie postawić kropkę. Na świeczce decydującej o zmianie koloru kropki pojawiają się i znikają aby ostatecznie pozostać w punktach L lub H. Pisanie kodu traktuję głównie jako naukę posługiwania się językiem MQL4. Może zechcesz jeszcze podpowiedzieć mi jak skutecznie wywołać wskaźnik i umieścić wskazania w tablicach. Chciałem dołączyć plik ze wskaźnikiem ale system sygnalizuje: BŁĄD
Nieprawidłowe rozszerzenie pliku: Axiory_Strike_indicator.ex4
Pozdrawiam,
RyszKo
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Pogooglowałem.
Niestety, Axiory_Strike_indicator.ex4 jest oferowany wyłącznie klientom Axiory, a Purple_Strike_indicator.ex4 wyłącznie klientom Purple.
Ponieważ nie są to kody źródłowe, to nie mamy możliwości wglądu w kod i jego modyfikacji.
Jeżeli masz ten wskaźnik w folderze Indicators, to w MQL4 odczytujesz z niego dane za pomocą funkcji iCustom().
Czyli przykład:
Oczywiście, do EA potrzebujesz zwykle tylko cenę i=1, niektórzy biorą i=0.
Wtedy pętla for nie jest potrzebna.
Nie jestem w stanie znaleźć tego wskaźnika w necie, więc dalej pomóc nie mogę nie mając go i nie widząc jego buforów.
Jeszcze doczytałem, że te wskaźniki są zabezpieczone przed stosowaniem na platformach innych brokerów.
Ewentualnie, założyć konto demo np. w Purple...
Niestety, Axiory_Strike_indicator.ex4 jest oferowany wyłącznie klientom Axiory, a Purple_Strike_indicator.ex4 wyłącznie klientom Purple.
Ponieważ nie są to kody źródłowe, to nie mamy możliwości wglądu w kod i jego modyfikacji.
Jeżeli masz ten wskaźnik w folderze Indicators, to w MQL4 odczytujesz z niego dane za pomocą funkcji iCustom().
Czyli przykład:
Kod: Zaznacz cały
int i,limit,counted_bars=IndicatorCounted();
limit=Bars-counted_bars;
for (i=limit; i>=0; i--)
{
double cenaBufor0=iCustom(_Symbol,_Period,"Purple_Strike_indicator", tu wszystkie potrzebne parametry wejściowe, 0, i);
double cenaBufor1=iCustom(_Symbol,_Period,"Purple_Strike_indicator", tu wszystkie potrzebne parametry wejściowe, 1, i);
double cenaBufor2=iCustom(_Symbol,_Period,"Purple_Strike_indicator", tu wszystkie potrzebne parametry wejściowe, 2, i);
}
Wtedy pętla for nie jest potrzebna.
Nie jestem w stanie znaleźć tego wskaźnika w necie, więc dalej pomóc nie mogę nie mając go i nie widząc jego buforów.
Jeszcze doczytałem, że te wskaźniki są zabezpieczone przed stosowaniem na platformach innych brokerów.
Ewentualnie, założyć konto demo np. w Purple...
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 12 mar 2021, 23:24 przez ninjaproject, łącznie zmieniany 1 raz.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
PS. Uruchomiłem pewne kontakty, zobaczymy jakie rozwiązanie z tego wyjdzie, ale to jutro.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
No to już wiem:
Sygnał Kup (kropka niebieska) - Bufor 0
Sygnał Sprzedaj (kropka czerwona) - Bufor 1
Linia trendu niebieska - Bufor 2
Linia trendu czerwona - Bufor 3
Więcej buforów ten wskaźnik nie posiada.
Sygnał Kup (kropka niebieska) - Bufor 0
Sygnał Sprzedaj (kropka czerwona) - Bufor 1
Linia trendu niebieska - Bufor 2
Linia trendu czerwona - Bufor 3
Więcej buforów ten wskaźnik nie posiada.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Czyli, że pobranie danych powinno wyglądać tak:
Kod: Zaznacz cały
int okresPSI = 5;
int i,limit,counted_bars=IndicatorCounted();
limit=Bars-counted_bars;
for (i=limit; i>=0; i--)
{
double cenaBufor0=iCustom(_Symbol,_Period,"Purple_Strike_indicator", " ",okresPSI, 0, i);
double cenaBufor1=iCustom(_Symbol,_Period,"Purple_Strike_indicator", " ",okresPSI, 1, i);
double cenaBufor2=iCustom(_Symbol,_Period,"Purple_Strike_indicator", " ",okresPSI, 2, i);
double cenaBufor2=iCustom(_Symbol,_Period,"Purple_Strike_indicator", " ",okresPSI, 3, i);
}
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.