redart pisze:A może tak:
Kod: Zaznacz cały
double bidUSDJPY =MarketInfo("USDJPY",MODE_BID)
A w Twojej metodzie może pomoże jak wcześniej wywołasz
Ale nie wiem czy tak będzie bo nie sprawdzałem.
no niestety... nie pomoze.
w MQL- nie ma takiego polecenia ktore pobieraloby cene dowolnego instrumentu w dowolnym czasie....
Aktualna cene oczywiscie mozna pobrac zarowno przy pomocy MarketInfo, jak i przy pomocy iClose - jednakze jej wartosc zostanie odczytana dopiero po przyjsciu ticka na aktywny wykres.... refresh rates - niestety tu nie pomoze, bo to polecenie tez bedzie uaktywnione dopiero w chwili nadejscia ticka....
Rozwiazania sa 2:
1. jeden z kolegow z tego forum napisal DLL ke ktora w tle odswieza ceny na naszym wykresie co okreslona ilosc milisekund. (kontakt do kolegi na priva)
2. cala strategie (a wlasciwie to co normalnie jest w start() ) umiesc w funkcji ktora bedzie chodzila w nieskonczonej petli, niezaleznie od przychodzacych tickow - i tylko bedzie usypiana na np. 100 ms (Sleep(100)... czy ile tam chcesz).
W tym wypadku nie zapomnij na poczatku funkcji umiescic RefreshRates().
Wada tego rozwiazania jest to, ze zamula dzialanie systemu, jak rowniez to, iz w celu zmiany parametrow EA trzeba wylaczyc (przycisk na pasku zadan) wszystkie strategie...