Jak zdobyć dane wskaźnika? - Strona 2
Strona 2 z 3 PierwszyPierwszy 123 OstatniOstatni
Pokaż wyniki od 11 do 20 z 27

Wątek: Jak zdobyć dane wskaźnika?

  1. #11
    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 ...
    Cytat Zamieszczone przez ;
    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.
    Cytat Zamieszczone przez ;
    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.

  2. #12

    Cytat Zamieszczone przez ;
    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

  3. #13

    Cytat Zamieszczone przez ;
    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

  4. #14
    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.
    Cytat Zamieszczone przez ;
    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: ...
    Cytat Zamieszczone przez ;
    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: ...

  5. #15
    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.

  6. #16

    Cytat Zamieszczone przez ;
    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.

  7. #17
    Dziękuję za twój wnikliwy wkład.

  8. #18
    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

  9. #19
    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”

  10. #20
    Cześć wszystkim, czy jakieś ciało może dostarczyć mi scenariusza dla numeru referencyjnego MACD (12,26,9) na tej ścianie? Twoje zdrowie!

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Używamy cookies
Używamy cookies, aby jak najlepiej dostosować witrynę do Twoich potrzeb. Kontynuowanie przeglądania tej strony, oznacza zgodę na używanie plików cookies. Aby uzyskać więcej informacji zapoznaj się z naszą Polityką Prywatności.