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...