Aktualna cena z innej pary walutowej

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Aktualna cena z innej pary walutowej

Nieprzeczytany post autor: personov »

EA chodzi na parze EURUSD.
W jaki sposób mogę zdobyć do mojego EA informacje jaka jest teraz cena na innej parze ?
Jedyne co mi przyszlo do głowy to :

Kod: Zaznacz cały

double bidUSDJPY = iClose("USDJPY", PERIOD_M1,0);
I działa, ale jest problem. Cena przeładowuje sie tylko po ticku na EURUSD czyli na parze na jakiej chodzi EA.
Nawet jeśli cena na USDJPY sie zmienia to wartość "bidUSDJPY" zmieni sie dopiero jak bedzie tick na EURUSD.
Jak to można naprawić ?
Jest może coś takiego, żeby przekazać bezpośrednio Bid , a nie Close[0] ?
Solą życia jest kasa.

Awatar użytkownika
redart
Stały bywalec
Stały bywalec
Posty: 75
Rejestracja: 06 lip 2008, 22:30

Nieprzeczytany post autor: redart »

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

Kod: Zaznacz cały

RefreshRates();
Ale nie wiem czy tak będzie bo nie sprawdzałem.

Awatar użytkownika
CoVal
Gaduła
Gaduła
Posty: 320
Rejestracja: 06 paź 2005, 22:45

Nieprzeczytany post autor: CoVal »

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

Kod: Zaznacz cały

RefreshRates();
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...

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

A czy da sie zaimportować wartość z Excela do robota w MQL4 ?
Bo wyprowadziłem sobie poprzez arkusz wyceny - wszystkie aktualne ceny i nawet oblicenia robie w excelu. Mam gotową wartość i chce ,aby ta wartość zostala przekazana do EA.
Da się ?
Solą życia jest kasa.

Awatar użytkownika
redart
Stały bywalec
Stały bywalec
Posty: 75
Rejestracja: 06 lip 2008, 22:30

Nieprzeczytany post autor: redart »

CoVal pisze:no niestety... nie pomoze.
CoVal, dzięki za wyjaśnienie jasne i logiczne.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

redart pisze:CoVal, dzięki za wyjaśnienie jasne i logiczne.
I rzeczowe.
Jak moderator nie pomoże to i tak ode mnie dostanie pochwałę ;)

Dodano po 4 godzinach 22 minutach:

A co z tym excelem ?
Zna ktoś temat ?
Solą życia jest kasa.

Awatar użytkownika
CoVal
Gaduła
Gaduła
Posty: 320
Rejestracja: 06 paź 2005, 22:45

Nieprzeczytany post autor: CoVal »

personov pisze:A czy da sie zaimportować wartość z Excela do robota w MQL4 ?
Bo wyprowadziłem sobie poprzez arkusz wyceny - wszystkie aktualne ceny i nawet oblicenia robie w excelu. Mam gotową wartość i chce ,aby ta wartość zostala przekazana do EA.
Da się ?
da sie.
najprostszym sposobem bedzie zapisywac wartosci obliczone w excelu do pliku tekstowego, a potem z tego pliku odczyt tych danych w mql-u.

mozna tez uzyc DDE, jest nawet przyklad w mql-u (DDE-Sample.xls) znajdziesz go w glownym katalogu...., ale tu nie pomoge, bo nigdy sie w to nie bawilem....

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

CoVal pisze:najprostszym sposobem bedzie zapisywac wartosci obliczone w excelu do pliku tekstowego, a potem z tego pliku odczyt tych danych w mql-u.
Ehhhh....
Dla mnie nie jest to takie proste :(
Masz może jakiś przykład kodu, który by takie coś robił ?
Solą życia jest kasa.

ODPOWIEDZ