Handel w wyznaczonych godzinach

Czasami zachodzi potrzeba ograniczenia godzin, w których EA ma handlować. Można robić to na różne sposoby, ja jednak pokażę chyba najbardziej elegancki i najbardziej elastyczny – czyli definiowanie czasu jako stringa (pozwala na definiowanie minut a nawet sekund) oraz całość w postaci osobnej funkcji.

extern string time1Begin="4:00";
extern string time1End="12:00";
extern string time2Begin="16:00";
extern string time2End="20:00";

bool isTradingTime() {

    if(TimeCurrent()>StrToTime(time1Begin) && TimeCurrent()<StrToTime(time1End)) {
        return(true);
    }

    if(TimeCurrent()>StrToTime(time2Begin) && TimeCurrent()<StrToTime(time2End)) {
        return(true);
    }

    return(false);
}

I kilka uwag (jak zawsze):

  • Przykład zawiera dwa przedziały czasowe, nic nie stoi na przeszkodzie aby dodać więcej :)
  • Kod sprawdza czas wg czasu brokera (odpowiada za to TimeCurrent()), jeśli ktoś woli definiować czas wg zegara komputera na którym działa EA to wystarczy zamienić TimeCurrent() na TimeLocal()
  • Ze względu na uniwersalność EA w polach czasu można podać także pełne daty, wtedy EA będzie handlował od i do żądanego dnia.

Autor: Łukasz Tomaszkiewicz

Podziel się ze znajomymi:

Prześlij nam swoje uwagi

[contact-form-7 404 "Not Found"]
  • Facebook