Grupy dyskusyjne   »   pl.biznes.wgpw   »   XTB-Trader 4 + skrypt w mq4

XTB-Trader 4 + skrypt w mq4

Data: 2010-01-04 19:40:28
Autor: sf
XTB-Trader 4 + skrypt w mq4
Witam,

Potrzebuje napisać skrypt w mq4, który będzie przechwytywał każdą akcję
sprzedaży oraz kupna dokonywaną przy użyciu programu XTB-Trader 4 i wysyłał ją
przez HTTP na wskazany serwer. Napisałem sobie skrypt, który wysyła na serwer
jakieś przykładowe dane, ale tylko i wyłącznie gdy uruchomię ręcznie skrypt ze
wskazaniem wykresu. Moje pytanie brzmi w jaki sposób dodać do programu
XTB-Trader 4 skrypt, który będzie czekał na zdarzenie i jeśli będzie ono
sprzedażą lub kupnem to wyśle dane na serwer.

--


Data: 2010-01-05 01:28:41
Autor: Joachim
XTB-Trader 4 + skrypt w mq4
  sf pisze:
Witam,

Potrzebuje napisać skrypt w mq4, który będzie przechwytywał każdą akcję
sprzedaży oraz kupna dokonywaną przy użyciu programu XTB-Trader 4 i wysyłał ją
przez HTTP na wskazany serwer. Napisałem sobie skrypt, który wysyła na serwer
jakieś przykładowe dane, ale tylko i wyłącznie gdy uruchomię ręcznie skrypt ze
wskazaniem wykresu. Moje pytanie brzmi w jaki sposób dodać do programu
XTB-Trader 4 skrypt, który będzie czekał na zdarzenie i jeśli będzie ono
sprzedażą lub kupnem to wyśle dane na serwer.


Zdarzenia dotyczące zmian cen jednego instrumentu możesz przechwytywać przy pomocy Expert Advisora, ale pewnie to wiesz i pewnie to wykorzystujesz.

Zdarzenia dotyczące zdarzenia zlecenia kupna/sprzedaży nie umiem przechwycić, być może nie ma w ogóle takiej możliwości. Jeśli znajdziesz taką możliwość, to wrzuć na forum, chętnie ją poznam.

Ale obejście tego problemu można zastosować następująco:

Sposób 1 - zaimplementować EA tak, żeby podczas składania zleceń wykonywał jakąś twoją funkcję i żadne przechwytywanie zdarzeń nie byłoby konieczne. Pewnie cię to nie satysfakcjonuje, bo pewnie już byś to stosował.


Sposób 2 - Który być może cię zadowoli, to uruchomienie skryptu w którym będzie pętla, a pętla będzie mniej więcej wyglądała następująco:
  1) sprawdzenie aktualnie otwartych zleceń
  2) sprawdzenie czy aktualnie otwarte zlecenia są takie same, jak podczas sprawdzania w poprzedniej iteracji pętli. Jeśli coś się zmieniło, to obsługujesz taką sytuację;
  3) wykonanie sleepa na kilkadziesiąt [ms]
  4) goto 1



Ja czasem sposób drugi stosuję i on mnie satysfakcjonuje.
Stosuję takie podejście z pętlą w sytuacji reakcji na nowe zlecenia w terminalu, oraz dlatego, bo nie znalazłem w MQL4 możliwości przechwycenia zdarzenia zmiany cen z kilku instrumentów przez JEDEN skrypt (z jednego instrumentu wiadomo jak przechwycić zmianę ceny, a z wielu instrumentów prawdopodobnie się nie da).


J.

Data: 2010-01-05 10:08:00
Autor: sf
XTB-Trader 4 + skrypt w mq4
Joachim <joachim1110@op.pl> napisał(a):
Sposób 2 - Który być może cię zadowoli, to uruchomienie skryptu w którym będzie pętla, a pętla będzie mniej więcej wyglądała następująco:
  1) sprawdzenie aktualnie otwartych zleceń
  2) sprawdzenie czy aktualnie otwarte zlecenia są takie same, jak podczas sprawdzania w poprzedniej iteracji pętli. Jeśli coś się zmieniło, to obsługujesz taką sytuację;
  3) wykonanie sleepa na kilkadziesiąt [ms]
  4) goto 1

Dziękuję za odpowiedź. Moja wiedza na temat zagadnienia jest zdecydowanie
niższa niż sądzisz bo dopiero wczoraj uruchomiłem pierwszy raz ten program.
Dostałem zlecenie wykonania strony, na której umieszczone byłyby informacje o
tym jak dana osoba gra.

Udało mi się dojść do tego sposobu drugiego tak jak to opisałeś. Czyli jestem
w stanie w pętli pobierać listę zleceń wyświetlającą się w terminalu.
Wystarczy sprawdzać czy pojawiło się nowe zlecenie i jeśli tak to wysłać za
pomocą POST dane na serwer.

Przykładowy kod o zdarzeniach znalazłem na stronie: http://articles.mql4.com/350
Wysyłkę na serwer: http://codebase.mql4.com/4428

Mam tylko nadzieję, że te zlecenia z terminalu pojawiają się w ułamkach sekund
od złożenia zlecenia.

--


XTB-Trader 4 + skrypt w mq4

Nowy film z video.banzaj.pl więcej »
Redmi 9A - recenzja budżetowego smartfona