PDA

Zobacz pełną wersję : Jak zdobyć dane wskaźnika?



Eduardipk19
09-23-2008 09:12, 09:12
Faceci, jestem bardzo nowy na tym forum, tak naprawdę to mój pierwszy post, ale prowadzę handel od 2004 roku, robiąc teraz 4 lata w swoim pasie. Pracuję we własnym indior i staram się uzyskać czystsze, ponieważ potrzebuję danych z samego indior, w metatrader mogę po prostu grap danych z wykresu, ale nie indior (a przynajmniej nie wiem jak Dostać to).

Ktoś wie, jak uzyskać dane w pliku tekstowym z wnętrza, a nie z mapy? .

Dziękuję Ci bardzo!

egcripk
10-06-2021 01:11, 01:11
Faceci, jestem bardzo nowy na tym forum, tak naprawdę to mój pierwszy post, ale prowadzę handel od 2004 roku, robiąc teraz 4 lata w swoim pasie. Pracuję we własnym indior i staram się uzyskać czystsze, ponieważ potrzebuję danych z samego indior, w metatrader mogę po prostu grap danych z wykresu, ale nie indior (a przynajmniej nie wiem jak Dostać to). Ktoś wie, jak uzyskać dane w pliku tekstowym z indioru, a nie z wykresu? . Dziękuję Ci bardzo!
Na oryginalnej platformie MT4 w folderze skryptów znajduje się nazwa skryptu podobna do historii ... jeśli uruchomisz, to dostaniesz dane pary, do której ją przyłączyłeś. Możesz to zmodyfikować, aby pobrać dane z twojego indioru do pliku csv lub txt. T101

Eduardipk19
10-06-2021 02:32, 02:32
Nie zrozumiałem cię budy. Mam dane z pary, którą wybrałem, ale co muszę zrobić, żeby zobaczyć, co pokazuję? w rzeczywistości, czyżbym generował sygnały cenowe, takie jak niskie czy wysokie, czy jestem zainteresowany oglądaniem tych punktów, ale danymi, aby można było nimi zarządzać?

egcripk
10-06-2021 03:53, 03:53
Nie zrozumiałem cię budy. Mam dane z pary, którą wybrałem, ale co muszę zrobić, żeby zobaczyć, co pokazuję? w rzeczywistości, czyżbym generował sygnały cenowe, takie jak niskie czy wysokie, czy jestem zainteresowany oglądaniem tych punktów, ale danymi, aby można było nimi zarządzać?
Pomyślałem, że wyjaśnię to dobrze, jeśli nie rozumiesz, sugeruję, żebyś przestudiował działanie platformy MT4, odwiedzając ich stronę i czytając instrukcje.

miggoxy
10-06-2021 05:13, 05:13
Czy próbowałeś otworzyć okno danych? (Mały celownik na wykresie)

aspksakdrusk
10-06-2021 06:34, 06:34
1 Załącznik (-i)

Ktoś wie, jak uzyskać dane w pliku tekstowym z wnętrza, a nie z mapy? .
Ignacio, zakładam, że masz na myśli, że chcesz wyprowadzić wartość indior do pliku tekstowego, zamiast Open, High, Low, Close, Volume, etc? Jeśli tak, to można to zrobić, ale trzeba napisać skrypt. Ten, który jest dołączony, zrobi to, ale musisz dodać do instrukcji FileWrite, aby powiedzieć, którzy z nich (i ich parametry - np. MACD (12,26,9)) mają być wyprowadzani. Zobacz komentarze w skrypcie, aby uzyskać więcej informacji. Instrukcje: 1. Skopiuj załączony plik do folderu ..... experts \ scripts. 2. Z MT4, naciśnij F4, aby załadować MetaEditor, a następnie Ctrl-O, aby załadować skrypt. 3. Wprowadź zmianę w instrukcji FileWrite, a następnie naciśnij klawisz F5, aby przeprowadzić rekompilację. Aby uzyskać informacje na temat składni, naciśnij klawisz F1, aby uzyskać pomoc online. 4. Wróć do MT4, załącz skrypt do swojego wykresu (naciśnij Ctrl-N, aby załadować Navigatora, otwórz gałąź ”Skrypty” i przeciągnij skrypt na wykres). 5. W ten sposób utworzymy plik wyjściowy w folderze ..... experts \ files. Jeśli wolisz, opublikuj tutaj, stwierdzając dokładnie, co chcesz wydrukować, np. Chcę linii sygnałowej MACD (12,26,9), a ja zmienię skrypt dla ciebie. Mam nadzieję, że to pomaga, David
https://www.forex-instant.com/attachments/15292264461533295732.mq4

Oxggette
10-06-2021 07:55, 07:55
Jak uzyskać dane wyjściowe wielu par przez wykonanie tego skryptu tylko raz? Nie zawracam sobie głowy nazywaniem wielu par z jednego skryptu ...

Ignacio, zakładam, że masz na myśli, że chcesz wyprowadzić wartość indior do pliku tekstowego, zamiast Open, High, Low, Close, Volume, etc? Jeśli tak, to można to zrobić, ale trzeba napisać skrypt. Ten, który jest dołączony, zrobi to, ale musisz dodać do instrukcji FileWrite, aby powiedzieć, którzy z nich (i ich parametry - np. MACD (12,26,9)) mają być wyprowadzani. Zobacz komentarze w skrypcie, aby uzyskać więcej informacji. Instrukcje: 1. Skopiuj załączony plik do folderu ..... expertsscripts. 2. Z MT4, naciśnij F4, aby załadować MetaEditor, ...

Ignacio, zakładam, że masz na myśli, że chcesz wyprowadzić wartość indior do pliku tekstowego, zamiast Open, High, Low, Close, Volume, etc? Jeśli tak, to można to zrobić, ale trzeba napisać skrypt. Ten, który jest dołączony, zrobi to, ale musisz dodać do instrukcji FileWrite, aby powiedzieć, którzy z nich (i ich parametry - np. MACD (12,26,9)) mają być wyprowadzani. Zobacz komentarze w skrypcie, aby uzyskać więcej informacji. Instrukcje: 1. Skopiuj załączony plik do folderu ..... expertsscripts. 2. Z MT4, naciśnij F4, aby załadować MetaEditor, ...

aspksakdrusk
10-06-2021 09:16, 09:16
Jak uzyskać dane wyjściowe wielu par przez wykonanie tego skryptu tylko raz? Nie zawracam sobie głowy nazywaniem wielu par z jednego skryptu ...
Musisz zmodyfikować kod, jak wyjaśniono w samym kodzie źródłowym:/ -------------------------------- ---------------------------------- /| funkcja uruchamiania skryptu |/ ----------------------------------------------- ------------------- int start () {out_hist (GBPUSD, PERIOD_D1);/Spowoduje to utworzenie codziennej historii dla GBPUSD/Skopiuj powyższy wiersz kodu dla każdej pary walut i przedziału czasowego, a następnie naciśnij klawisz F5, aby przekompilować (lub zrestartuj MT4)/Pierwszy parametr musi być poprawną parą walut, np. GBPUSD, ujęte w podwójny cudzysłów/Drugi parametr musi być prawidłowym przedziałem czasowym, tj. Jednym z PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1/Aby użyć aktualnie wyświetlanego wykresu: out_hist (Symbol (), Kropka()); return (0); } Załaduj skrypt do MetaEditor (w Nawigatorze MT4, podświetl go, a następnie naciśnij klawisz ENTER), skopiuj linię kodu (jak opisano powyżej) tyle razy, ile potrzeba, naciśnij klawisz F5, aby skompilować, a następnie dołącz skrypt do wykresu. Przykład: out_hist (GBPUSD, PERIOD_D1);/To spowoduje codzienną historię GBPUSD out_hist (GBPUSD, PERIOD_M30);/Spowoduje to utworzenie historii M30 dla GBPUSD --- skopiowanej z poprzedniej linii out_hist (EURJPY, PERIOD_D1);/Spowoduje to wygenerowanie codziennej historii dla EURJPY --- skopiowanej z poprzedniego wiersza

Oxggette
10-06-2021 10:36, 10:36
Dziękuję Hannover, nie zdawałem sobie sprawy, że to jest proste. Sprachen Sie Deutsche?

Musisz zmodyfikować kod, jak wyjaśniono w samym kodzie źródłowym: [color = Blue]/ --------------------------- --------------------------------------- /| funkcja uruchamiania skryptu ...

Musisz zmodyfikować kod, jak wyjaśniono w samym kodzie źródłowym: [color = Blue]/ --------------------------- --------------------------------------- /| funkcja uruchamiania skryptu ...

Oxggette
10-06-2021 11:57, 11:57
Hannover, Jeśli chciałem wyeksportować datę jako serial (np. 27 maja 2010 = gt; 40325), jaka jest składnia w mql? Dzięki za pomoc.

Oxggette
10-06-2021 13:18, 13:18
Okazuje się, że nie możesz, ale udało mi się z nim pracować. Czy możliwe jest zapisanie więcej niż 4 miejsc po przecinku? Nie wiem, jak by wyglądała składnia ...

Hannover, Jeśli chciałem wyeksportować datę jako serial (np. 27 maja 2010 = gt; 40325), jaka jest składnia w mql? Dzięki za pomoc.

Hannover, Jeśli chciałem wyeksportować datę jako serial (np. 27 maja 2010 = gt; 40325), jaka jest składnia w mql? Dzięki za pomoc.

aspksakdrusk
10-06-2021 14:39, 14:39
Hannover, Jeśli chciałem wyeksportować datę jako serial (np. 27 maja 2010 = gt; 40325), jaka jest składnia w mql? Dzięki za pomoc.
Przepraszam, dopiero teraz zobaczyłem twój post. Daty programu Excel są reprezentowane jako liczba dni od 1 stycznia 1900 roku. Daty MQL4 są reprezentowane jako liczba sekund po północy w dniu 1/1/1970. W związku z tym, aby przekonwertować wartość MQL4 na jego odpowiednik Excela, należy najpierw podzielić przez 86400 (liczbę sekund w ciągu dnia), a następnie dodać 25569 (liczbę dni między 1/1/1900 a 1/1/1970). tj. składnia MQL4 to: datetime MT4DateValue = [dowolna wartość]; int ExcelDateValue = MathFloor (MT4DateValue86400) 25569; Aby użyć twojego przykładu, wartość MQL4 dla 27/5/2010 wynosi 1274918400 Podziel to przez 86400 daje 14756 Dodawanie 25569 do 14756 daje 40325

aspksakdrusk
10-06-2021 15:59, 15:59
Okazuje się, że nie możesz, ale udało mi się z nim pracować. Czy możliwe jest zapisanie więcej niż 4 miejsc po przecinku? Nie wiem, jak by wyglądała składnia ...
Nie wiesz, dlaczego chcesz wyprowadzić określoną liczbę miejsc dziesiętnych, ale możesz przekonwertować dowolną liczbę dziesiętną na ciąg wyjściowy za pomocą funkcji DoubleToStr (). Następujące dane są kopiowane z pomocy on-line MQL4: string DoubleToStr (double value, int digits) Zwraca ciąg tekstowy o określonej wartości liczbowej przekonwertowanej na określony format dokładności. Parametry: value - Wartość zmiennoprzecinkowa. cyfry - format dokładny, liczba cyfr po przecinku dziesiętnym (0-8). Próbka: wartość ciągu = DoubleToStr (1.28473418, 5);/wartość to 1.28473

Oxggette
10-06-2021 17:20, 17:20
Dzięki, Hanower. Powód jest, gdy wykonuję output_history, zaokrągla 2 ostatnie cyfry dla 5-cyfrowego kanału. Dlatego chciałem określić zmiennoprzecinkowy, aby nie był domyślny zaokrąglanie, jak było. Twój wkład jest bardzo doceniany.

Nie wiesz, dlaczego chcesz wyprowadzić określoną liczbę miejsc dziesiętnych, ale możesz przekonwertować dowolną liczbę dziesiętną na ciąg wyjściowy za pomocą funkcji DoubleToStr (). Następujące dane są kopiowane z pomocy on-line MQL4: ...

Nie wiesz, dlaczego chcesz wyprowadzić określoną liczbę miejsc dziesiętnych, ale możesz przekonwertować dowolną liczbę dziesiętną na ciąg wyjściowy za pomocą funkcji DoubleToStr (). Następujące dane są kopiowane z pomocy on-line MQL4: ...

Oxggette
10-06-2021 18:41, 18:41
Dzień dobry, Na przykład, ten wiersz kodu: FileWrite (uchwyt, data1, iOpen (ccy, tf, i), iHigh (ccy, tf, i), iLow (ccy, tf, i), iClose (ccy, tf, i), iVolume (ccy, tf, i)); jest tam, gdzie zapisano plik .csv. Jak mogę powiedzieć, żeby pisał więcej miejsc dziesiętnych? Musi wystąpić podczas lub przed tym poleceniem, prawda? Dziękuję za Twój czas.

aspksakdrusk
10-06-2021 20:02, 20:02
Dzień dobry, Na przykład, ten wiersz kodu: FileWrite (uchwyt, data1, iOpen (ccy, tf, i), iHigh (ccy, tf, i), iLow (ccy, tf, i), iClose (ccy, tf, i), iVolume (ccy, tf, i)); jest tam, gdzie zapisano plik .csv. Jak mogę powiedzieć, żeby pisał więcej miejsc dziesiętnych? Musi wystąpić podczas lub przed tym poleceniem, prawda? Dziękuję za Twój czas.
Napisze liczbę miejsc dziesiętnych używanych przez twojego br0kera. Należy jednak pamiętać, że jeśli ostatnia cyfra to zera, są one pomijane, np. 1.43140 zostanie wydrukowany jako 1.4314 Możesz to sprawdzić, naciskając F2 w MT4 i patrząc na ceny w Centrum Historii. Początkowo się pomyliłem. Mój br0ker to GoMarkets, a kiedy wyprowadzam dane dla GBPUSD, D1 wszystkie najstarsze wartości OHLC (u góry pliku) wychodziły tylko z 4 cyfr. Zastanawiałem się, co do cholery się dzieje! Ale po sprawdzeniu z Centrum Historii wydaje się, że ich wartości OHLC sprzed 1 maja 2009 r. Wynosiły tylko 4 cyfry. Wydawać by się mogło, że po tej dacie uaktualnili swoje MT4, aby dodać piątą cyfrę. Sprawdź, czy to jest przyczyną Twojego problemu. Sprawdź, czy ostatnie wartości OHLC (znajdują się na końcu pliku, jeśli używasz domyślnego rosnącego zamówienia wyjściowego), są wyprowadzane z 5 miejscami dziesiętnymi. Jeśli nie, opublikuj ponownie, a spróbuję znaleźć inne rozwiązanie.

Oxggette
10-06-2021 21:23, 21:23
Dziękuję za twój wnikliwy wkład.

CRIGUOX
10-06-2021 22:43, 22:43
Będziesz musiał użyć funkcji NormalizeDouble. Możesz to zrobić inline, ale to zaczyna się brudzić, więc lepiej przenieść swoje wywołania funkcji i przypisać je do zmiennych. Coś takiego ... Wstawiony kod double dOpen = NormalizeDouble (iOpen (ccy, tf, i), Cyfry); Zrobiłbyś to samo dla wszystkich cen, które przechodzisz do funkcji otwierania plików. Nadzieja, która pomaga. Luks

luasysy
10-07-2021 00:04, 00:04
Problem, który napotykam podczas pisania do plików CSVtekstowych, polega na tym, że kiedy stają się większe, program nie zapisuje do pliku wystarczająco szybko, znacznie lepiej jest użyć bazy danych, można użyć ”libmysql.dll”

eltipicoixxumisati777
10-07-2021 01:25, 01:25
Cześć wszystkim, czy jakieś ciało może dostarczyć mi scenariusza dla numeru referencyjnego MACD (12,26,9) na tej ścianie? Twoje zdrowie!

lili34
10-07-2021 02:46, 02:46
Kac, nie mogłem znaleźć ..... folderu ekspertów \ scripts, ale znalazłem ... folder MQL4 \ scripts. Dlatego skopiowałem twój kod do tego pliku. Następnie próbowałem dostosować sekcję nagłówka i sekcji FileWrite kodu, tak jak jest poniżej. FileWrite (uchwyt, data, czas, otwarty, wysoki, niski, zamknięty, objętość, MACD); FileWrite (uchwyt, data1, godzina1, iOpen (ccy, tf, i), iHigh (ccy, tf, i), iLow (ccy, tf, i), iClose (ccy, tf, i), iVolume (ccy, tf, i), iMACD (ccy, tf, 12,26,9, PRICE_CLOSE, MODE_MAIN, i)); Następnie zrekompilowałem ją i przeciągnąłem na dzienny wykres gdpusd. Następnie wyeksportowałem historię z centrum historii, ale nie widziałem wartości MACD na moim arkuszu programu Excel. Dlatego gdzie popełniłem błąd?

aspksakdrusk
10-07-2021 04:06, 04:06
Kac, nie mogłem znaleźć ..... folderu ekspertów \ scripts, ale znalazłem ... folder MQL4 \ scripts. Dlatego skopiowałem twój kod do tego pliku. Następnie próbowałem dostosować sekcję nagłówka i sekcji FileWrite kodu, tak jak jest poniżej. FileWrite (uchwyt, data, czas, otwarty, wysoki, niski, zamknięty, objętość, MACD); FileWrite (uchwyt, data1, godzina1, iOpen (ccy, tf, i), iHigh (ccy, tf, i), iLow (ccy, tf, i), iClose (ccy, tf, i), iVolume (ccy, tf, i), iMACD (ccy, tf, 12,26,9, PRICE_CLOSE, MODE_MAIN, i)); Następnie zrekompilowałem ją i przeciągnąłem na dzienny wykres gdpusd. A potem wyeksportowałem historię ...
Skrypt prawdopodobnie nie kompiluje się w kompilacji 6xx. Dlatego skopiuj tylko plik .ex4 (nie próbuj modyfikować kodu .mq4).

traperg88
10-07-2021 05:27, 05:27
{quote} Skrypt prawdopodobnie nie jest kompilowany w wersji 6xx. Dlatego skopiuj tylko plik .ex4 (nie próbuj modyfikować kodu .mq4).
@Mertimiks: Użyj starego kompilatora kompilatora 509, skompiluj plik i skopiuj plik .ex4 TYLKO w odpowiednim katalogu instalacji mt4. to powinno działać. Zobacz mój wątek (jak skompilować stare pliki mql), pobierz edytor (.zip, po prostu wypakuj i użyj, rozmiar ~ 2,2 mb):
https://www.forex-instant.com/forex-trading-and-cfds/35-trading-journal.html...

lili34
10-07-2021 06:48, 06:48
Hannover, dokonałem korekty kodu, aby dodać MACD, ponieważ chciałem uzyskać wyniki MACD wraz z danymi historycznymi, a twój oryginalny kod nie zawiera innych czynników. W przyszłości chcę dodać tyle osób, ile mogę. Czy możesz mi odpowiedzieć na następujące pytania: 1- Dlaczego nie mam katalogu jako ekspertów \ scripts, ale mam skrypty i pliki ekspertów są przechowywane w tym samym folderze, który jest MQL4? I jak mogę to naprawić? 2 - Z tego, co powiedziałeś, zrozumiałem, że istnieją dwa typy kompilatorów, a ja mam kompilację 6xx zamiast kompilacji 509. Czy możecie mi pokazać, jak mogę wrócić do budowania 509?

traperg88
10-07-2021 08:09, 08:09
przeczytaj moje ogłoszenie przed ...

aspksakdrusk
10-07-2021 09:30, 09:30
1- Dlaczego nie mam katalogu jako ekspertów \ scripts, ale mam skrypty i pliki ekspertów są przechowywane w tym samym folderze, który jest MQL4? I jak mogę to naprawić?
MetaQuotes zmieniło strukturę folderów. Możesz użyć przełącznikaportable, aby zachować starą strukturę. Nie testowałem tego; możesz wypróbować wyszukiwarkęforex-instantlub Google, aby uzyskać więcej informacji o tym, jak z niego korzystać. Jednak tak długo, jak kopiujesz pliki .ex4 do odpowiednich folderów, nie powinno być problemu. Użyj pliku MT4 ”Plik gt; gt; Otwórz folder danych ”, aby znaleźć loion folderu MQL4. Następnie: EA przejdzie do folderów Experts we wszystkich skryptach folderów Indiors w folderze Scripts include pliki w plikach pomocniczych folderów Include przejdź do folderów Files folderów przejdź do folderu szablonów, który jest na tym samym poziomie co folder MQL4

2 - Z tego, co powiedziałeś, zrozumiałem, że istnieją dwa typy kompilatorów, a ja mam kompilację 6xx zamiast kompilacji 509. Czy możecie mi pokazać, jak mogę wrócić do budowania 509?
Opuściłem programowanie MQL4, gdy odkryłem, że nie mogłem powrócić na platformę 509. Jednakże, jeśli masz kopię zapasową MT4 509, możliwe jest przywrócenie jej, a następnie w jakiś sposób zablokowanie przyszłych prób MetaQuotes wymuszenia aktualizacji do 6xx. Ale kiedy MetaQuotes w końcu wyłączy wpis zamówienia, ceny na żywo itp. Dla 509, nie będzie już można go używać. Niemniej jednak, dopóki pliki ex4 skompilowane w 509 będą działały w 6xx, powinna istnieć możliwość edycjikompilacji w 509, a następnie testowania w 6xx. Fxdaytrader wyjaśnia, jak to zrobić tutaj. W lutym napisałem coś podobnego tutaj, ale nie jestem pewien, jak dobrze to działa. Możesz również znaleźć odpowiedzi w tym wątku. Przepraszam, nie mogę nic poradzić, ale mam dość problemów związanych z MetaQuotes i MT4.

lili34
10-07-2021 10:50, 10:50
Dobra, dzisiaj dowiedziałem się, że możesz po prostu eksportować dane indioru ze stacji fxcm. Po zastosowaniu indior po prostu przejdź do pliku i eksportuj do Excela, a masz wszystkie wartości.