„dziel przez zero” pytanie
Pokaż wyniki od 1 do 8 z 8

Wątek: „dziel przez zero” pytanie

  1. #1
    Mam skrypt, który znajduje procentową zmianę bieżącej świecy w stosunku do ceny zamknięcia poprzedniej świecy. Główną rzeczą, z której korzystam, jest Porównanie dzienne, aby sprawdzić, jak daleko każda para walut przesunęła się w ciągu dnia. Chciałbym go używać w mniejszych ramach czasowych, ale mam problem z dzieleniem przez zero. Mogę tylko założyć, że dzieje się tak, ponieważ albo cena się nie zmieniła, albo ponieważ zmiana jest tak mała, podwójne liczby całkowite (gj w poniższym przykładzie) nie mają wystarczającej liczby miejsc po przecinku.

    Przykład:
    Wstawiony kod gj = (((MarketInfo (GBPJPY, MODE_BID)) - (iClose (GBPJPY, PERIOD_M15,1))) (iOpen (GBPJPY, PERIOD_M15,0)) * 100);
    Najmniejszym, którego zamierzam użyć, jest M15 i zamierzam go uruchomić w ciągu ostatnich 30 sekund każdej 15-minutowej świecy. Więc ... to * powinno * zawsze mieć inną cenę zamknięcia od poprzedniej świecy, chyba że jest to tylko zbieg okoliczności, że skrypt działa w cenie zamknięcia poprzedniej świecy. Mogę także uruchomić go na M30, ale chciałbym go mieć na M15. W tej chwili wydaje się, że H4 działa, a H1 wydaje się działać. Ale naprawdę chciałbym, aby działało to konsekwentnie na M30 lub 15.

    Kiedy testuję, otrzymuję błąd dzielenia przez zero konsekwentnie na M30 i M15. Nie wiem, czy to dlatego, że jedna z par (to porównuje wszystkie pary, które mój broker oferuje w tym samym skrypcie, aby uzyskać migawkę całego rynku), ma tę samą cenę, co cena zamknięcia ostatniej świecy. A może dlatego, że procentowa zmiana ceny jest tak mała, że ​​podwójna wartość nie jest wystarczająco konkretna i muszę użyć wartości zmiennej ...? Albo może to być kombinacja dwóch:

    Czy ktoś może mi powiedzieć, jak sprawić, by ta praca była niezawodna?

    Dziękuję Ci...

  2. #2
    Cześć, prosta odpowiedź, ustal zero podziału. Jeśli wiersz kodu podobny do tego daje zero dzielącego warunku = MathRound ((ma - close)divisor); następnie zmień go na jeśli if (divisor! = 0) warunek = MathRound ((ma - close)divisor); else warunek = 0;

  3. #3

    Cytat Zamieszczone przez ;
    Cześć, prosta odpowiedź, ustal zero podziału. Jeśli wiersz kodu podobny do tego daje zero dzielącego warunku = MathRound ((ma - close)divisor); następnie zmień go na jeśli if (divisor! = 0) warunek = MathRound ((ma - close)divisor); else warunek = 0;
    cja, spojrzałem na twoją stronę i pisałeś o wszystkich problemach nowych kompilacji MT4 od stycznia tego roku. W twojej ostatniej aktualizacji napisałeś: 14/08/2014: Kompilacja 509 nie jest już obsługiwana, jednak nie wydano jeszcze żadnych nowych aktualizacji serii 600, pozwala mieć nadzieję, że MetaQuotes poprawi to i naprawi wszystkie błędy w następnej aktualizacji. Czy zauważyłeś jakieś ulepszenia z Metaquotes z MT4 w ich najnowszych aktualizacjach? Czy MT4 wciąż jest kompletnym bałaganem, jak powiedziałeś wcześniej?

  4. #4

    Cytat Zamieszczone przez ;
    {quote}, spojrzałem na twoją stronę i napisałeś o wszystkich problemach nowych kompilacji MT4 od stycznia tego roku. W twojej ostatniej aktualizacji napisałeś: 14/08/2014: Kompilacja 509 nie jest już obsługiwana, jednak nie wydano jeszcze żadnych nowych aktualizacji serii 600, pozwala mieć nadzieję, że MetaQuotes poprawi to i naprawi wszystkie błędy w następnej aktualizacji. Czy zauważyłeś jakieś ulepszenia z Metaquotes z MT4 w ich najnowszych aktualizacjach? Czy MT4 wciąż jest kompletnym bałaganem, jak powiedziałeś wcześniej?
    Właściwie najnowsze kompilacje (14/08/2014 napisałem, że kiedy 670 była najnowszą kompilacją) 697 do 711 itd. Są najgorsze i nie sądziłem, że będzie to możliwe, zawiesza się platforma, platforma zawiesza się, edytor po prostu zamyka się brak opcji zapisywania i nadmierne wykorzystanie pamięci, aby wymienić tylko kilka nowych błędów, które dodali bez naprawiania żadnych istniejących problemów.

  5. #5
    2 załączniki
    Cytat Zamieszczone przez ;
    {quote} Właściwie najnowsze kompilacje (14/08/2014 napisałem, że gdy 670 była najnowszą kompilacją) 697 do 711 itd. są najgorsze i nie sądziłem, że będzie to możliwe, zawiesza się platforma, platforma zawiesza się, edytor właśnie zamykanie bez opcji zapisu i nadmierne wykorzystanie pamięci, aby wymienić tylko kilka nowych błędów, które dodali bez naprawiania żadnych istniejących problemów.
    hai cja ... proszę naprawić ten skrypt renko, kiedy go wykonam, dostaje zero podziału.
    https://www.forex-instant.com/attach...1751955963.mq4i zmień poniższy ea na renko bar ea, właściwie to jest pasek zasięgu ea przez malden dla nowej kompilacji mt4, działa doskonale, ale nie mogłem zrozumieć podstawowego za zasięgiem i renko ea, proszę zmienić poniższe na renko ea.
    https://www.forex-instant.com/attach...3533536016.mq4

  6. #6

    Cytat Zamieszczone przez ;
    {quote} Właściwie najnowsze kompilacje (14/08/2014 napisałem, że gdy 670 była najnowszą kompilacją) 697 do 711 itd. są najgorsze i nie sądziłem, że będzie to możliwe, zawiesza się platforma, platforma zawiesza się, edytor właśnie zamykanie bez opcji zapisu i nadmierne wykorzystanie pamięci, aby wymienić tylko kilka nowych błędów, które dodali bez naprawiania żadnych istniejących problemów.
    Czy uważasz, że jest to zbyt trudne dla kogokolwiek, aby osiągnąć to, co próbują osiągnąć? A może chodzi o czystą niekompetencję z ich strony? Innymi słowy, jak trudno jest wykonać zadanie w odniesieniu do różnych nowych kompilacji? Czy jest to coś, co wymaga najlepszych umysłów w kraju? Nie jestem sarkastyczny - poważnie zastanawiam się nad poziomem trudności tych nowych kompilacji i poprawiam jakiekolwiek błędy.

  7. #7

    Cytat Zamieszczone przez ;
    {quote} hai cja ... proszę naprawić ten skrypt renko, kiedy go wykonam, dostaje zero podziału. {plik} i zmień poniższy ea na renko bar ea, właściwie to jest pasek zakresu ea przez malden dla nowej kompilacji mt4, działa doskonale, ale nie mogłem zrozumieć podstawowego zakresu i renko ea, zmień poniższy kod na renko ea. {plik}
    hai cja, mam rację, teraz tylko wyraźnie widzę twój kod i poprawiłem moje podziękowania

  8. #8

    Cytat Zamieszczone przez ;
    Cześć, prosta odpowiedź, ustal zero podziału. Jeśli wiersz kodu podobny do tego daje zero dzielącego warunku = MathRound ((ma - close)divisor); następnie zmień go na jeśli if (divisor! = 0) warunek = MathRound ((ma - close)divisor); else warunek = 0;

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.