Pierz Andrzej pisze:Teoretycznie za pomoca :
MarketInfo(.............) lub Is......()
ale w praktyce nie wyglada juz tak pieknie

nie zawsze informacje zwracane przez serwer sa "prawdziwe"
pozdrawiam
Andrzej Pierz
Dzięki. Próbowałem ale wyniki tak jak napisałeś. Err - no może nie wszystko - nie próbowałem MODE_TRADEALLOWED we wszystkich kombinacjach. Dzięki za przypomnienie - mam teraz lekcję do odrobienia ;-)
Jeżeli nie zadziała to jedyne co mi przychodzi do głowy to że jak zdarzy się taki błąd to powtórzyć i jak zdarzy się jeszcze raz to dać trochę na odczekanie i spróbować jeszcze... i tak do skutku. Coś jak z kolizją w domenie Ethernet dawno, dawno temu jak jeszcze istniało coś takiego jak prawdziwa domena kolizyjna - spuścizna po ALOHAnet

Można też pewne rzeczy można uprościć, np. przerwa weekendowa. Choć już samo to już stawia pewne wyzwanie bo różni brokerzy rożnie to traktują.
I na koniec: tak, pamiętam
green7 co napisałeś o IsTradeAllowed() ;-)
Dodano po 16 minutach:
GoAway pisze:
Najsensowniejszą opcją jest zaimplementowanie wysyłania zleceń w godzinach handlu u danego brokera. Jeśli bombardujesz ich zleceniami w czasie kiedy market powinien być open, no to raczej pretensji nie powinni mieć.
To akurat jest w miarę proste. Problem są te chwile gdy dzieje się coś co normalnie się nie dzieje np. awaria w systemie brokera lub broker arbitralnie wyłącza przyjmowanie zleceń. To ostatnie wcale nie jest takie rzadkie.
Mój kod działa pod warunkiem IsConnected() ale to tak naprawdę nie ma prawie nic wspólnego z przyjmowaniem zleceń.
Dodano po 40 minutach:
Niestety, MarketInfo(Symbol(), MODE_TRADEALLOWED) zwrócił mi TRUE teraz, o 22:56 naszego czasu w Sobotę mimo że rynek jest zamknięty od wczoraj wieczorem
Dodano po 4 godzinach 4 minutach:
GoAway pisze:
btw.
I tak żadne rozwiązanie nie będzie dobre, bo w chwili wysłania zapytania jest TRADE_DISABLED a już chwile później może być enabled.
Jakoś mi to umknęło - właśnie o to chodzi! W obie strony (w sensie że broker za chwilę może nie przyjąć zlecenia jak i że za chwilę może je przyjąć)
Dlatego właśnie nie wystarczy po prostu wyłączyć EA/skrypt gdy natknie się na pierwszy błąd...
Zastanawiam się, czy to jest niedoróba Metaquotes czy celowe niedociągnięcie - brak jednoznacznej informacji w tym temacie. Tak, wiem, brzmi jak teoria spiskowa. Ale Virtual Dealer Plug-in jest jakby nie było ich dziełem… i to, że klient MT4 jest bezpłatny też nie jest żadnym przypadkiem ani bynajmniej ukłonem do klienta. Brokerzy słono płacą za tę technologię ale ona odpłaca tak, że to co bierze Metaquotes to pikuś...
Jakże często ludzie mają już gotową opinię zanim zdążą pojąć istotę rzeczy.
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)