Dodaj warunek:
If(Hour() >= 12)
EA zawsze wykonuje obliczenia i resztę działań, gdy przychodzą ticki, oczywiście wewnątrz funkcji OnTick().Szymon_P pisze: ↑08 kwie 2021, 18:12Dziękuję za szybką odpowiedź. Mam jeszcze jedno pytanie.
Zapisałem coś takiego:
void OnTick()
{
if (Hour()>=19 && Minute()>=05)
Print ("Próba uruchamiania o czasie XXX");
}
Załóżmy, że zamiast "Print", EA ma obliczyć założone dane i chciałbym to przerwać wykorzystując tylko wynik np. zmienną X. W chwili obecnej na każdym ticku wykonuje obliczenia pomimo tego, że wynik i tak się już nie zmieni.
Nie bardzo rozumiem o co chodzi...Szymon_P pisze: ↑08 kwie 2021, 22:05To, że funkcja będzie się wykonywała cały czas od danej godziny to rozumiem. Nie mogę jej ograniczyć np. od 19:05 do 19:06 bo może zaistnieć sytuacja, że włączę EA np. o 19:50 i w tym przypadku nie wykona już tych obliczeń o które mi chodzi. Teraz pytanie w jaki sposób mam zapisać warunek, żeby funkcja zwróciła mi wynik obliczeń A,B i zakończyła obliczanie danego zadania? Zakładamy, że EA obliczył wartości A,B (zamiast Print). Do dalszych obliczeń potrzebuję już tylko A i B więc funkcję, która mi to obliczyła mogę już "wyłączyć" i przejść do kolejnych obliczeń.
Kod: Zaznacz cały
input string Time1 = "19:50";
datetime dtTime1 = StrToTime(Time1); // returns the current date with the given time
if(TimeCurrent()>=dtTime1)
A po co Print()?Szymon_P pisze: ↑09 kwie 2021, 07:59Już wyjaśniam załóżmy, że potrzebne mi zmienne obliczone na podstawie danych z przedziału czasowego 4-8. O 8 EA ma zadecydować na podstawie tego zakresu co dalej. Jeśli włączę EA o godzinie 7, a funkcja będzie w OnInit to obliczenia nie będą prawidłowe. Druga sprawa to wynik wyświetlam za pomocą Print więc zaśmieca mi terminal bo na każdym tricku wyskakuje pomimo tego, że już się nie zmieni.