bugi w MT4 i EA

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.
pakistaniFX
Bywalec
Bywalec
Posty: 13
Rejestracja: 09 lis 2014, 16:52

bugi w MT4 i EA

Nieprzeczytany post autor: pakistaniFX »

Hej, zaczynam grać swoim automatem i mam pytanie do innych graczy :)

Zdarzyło mi się, że mój EA zamknął pozycję tuż po otwarciu. O tyle dziwne, że ten sam EA otwierał tego dnia kilka pozycji i tylko w tej jednej był problem.
Inna sytuacja: testowałem go na demo i wszystko było ok. Gdy puściłem go na REAL to nie zamykał pozycji i musiałem lekko przeformułować warunki wyjścia, żeby hulało.

CZy macie jakieś doświadczenia z bugami w EA, w jaki sposób radzicie sobie z nimi?

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

Re: bugi w MT4 i EA

Nieprzeczytany post autor: personov »

Czasem wychodzą takie rzeczy, zwłaszcza na realu.
W takich sytuacjach najczęściej przeglądam cały kod bardzo dokładnie i patrzę, czy nie robi się jakaś sprzeczność w warunkach otwierania i zamykania. Zwróć szczególną uwagę na zdefiniowane ceny Bid i Ask, bo na realu mogą rozszerzyć spread i wtedy mogą wyjść takie "kwiatki".
Solą życia jest kasa.

pakistaniFX
Bywalec
Bywalec
Posty: 13
Rejestracja: 09 lis 2014, 16:52

Re: bugi w MT4 i EA

Nieprzeczytany post autor: pakistaniFX »

Czy próbowałeś może podwójnych warunków wejścia/wyjścia? Może gdyby były sprawdzane dwa razy to to odsiałoby fałszywe sygnały.

Przyda się więcej szczegółów: mój EA rozgrywa określone setupy i warunek wyjścia jest bardzo prosty, inny niż warunki wejścia. Dlatego doszukiwałbym się przyczyn w bugach mt4 (chyba, że czymś mnie zaskoczy)

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

Re: bugi w MT4 i EA

Nieprzeczytany post autor: personov »

Trudno cokolwiek powiedzieć jak się nie widzi kodu.
Ja wiem jak patrzeć na swoje kody i wiem gdzie szukać błędu.
Ale nigdy nie zdarzyło mi się coś co nie było błędem w kodzie.
Solą życia jest kasa.

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Re: bugi w MT4 i EA

Nieprzeczytany post autor: JAREK67 »

personov pisze: Ale nigdy nie zdarzyło mi się coś co nie było błędem w kodzie.
To masz dużo szczęścia. Ja dwa razy się naciąłem na fałszywe informacje, które podawał w mql-u broker (Admiral i HFT) i przez to EA robił złe obliczenia.

pakistaniFX
Bywalec
Bywalec
Posty: 13
Rejestracja: 09 lis 2014, 16:52

Re: bugi w MT4 i EA

Nieprzeczytany post autor: pakistaniFX »

dziś miałą miejsce kolejna sytuacja:
bot otworzył pozycję i ustawił zbyt duże SL. SL jest obliczany m.in. na podstawie spreadu, więc można na tej podstawie określić spread w momencie otwarcia. Tyle tylko, że gdyby spread w chwili otwarcia był tak duży, to bot nie otworzyłby pozycji (chronię się przed otwieraniem przy zbyt dużej niepewności rynku). A jednak otworzył.
To było na demo podczas testów, jeśli to ma znaczenie.

coraz bardziej analizuję mój kod pod kątem szybkości jego wykonywania
czy jest możliwe, że po otwarciu, gdy ustawiany był SL to bot wziął nowy, dużo wyższy spread?
używam komendy OrderSend(...) która otwiera pozycje i nadaje jej SL

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Re: bugi w MT4 i EA

Nieprzeczytany post autor: green7 »

pakistaniFX pisze:dziś miałą miejsce kolejna sytuacja:
bot otworzył pozycję i ustawił zbyt duże SL. SL jest obliczany m.in. na podstawie spreadu, więc można na tej podstawie określić spread w momencie otwarcia. Tyle tylko, że gdyby spread w chwili otwarcia był tak duży, to bot nie otworzyłby pozycji (chronię się przed otwieraniem przy zbyt dużej niepewności rynku). A jednak otworzył.
To było na demo podczas testów, jeśli to ma znaczenie.

coraz bardziej analizuję mój kod pod kątem szybkości jego wykonywania
czy jest możliwe, że po otwarciu, gdy ustawiany był SL to bot wziął nowy, dużo wyższy spread?
używam komendy OrderSend(...) która otwiera pozycje i nadaje jej SL
Jeśli używasz OrderSend to przecież otwarcie i ustawienie SL'a następuje w tej samej chwili. Więc nie możliwe aby brane były tu pod uwagę różne spready. Stawiałbym raczej na błędy w Twoim kodzie.
Green
Obrazek
Obrazek

pakistaniFX
Bywalec
Bywalec
Posty: 13
Rejestracja: 09 lis 2014, 16:52

Re: bugi w MT4 i EA

Nieprzeczytany post autor: pakistaniFX »

Nie jestem tego pewien. Może być tak, że jedna komenda wywołuje dwie funkcje: najpierw wysłanie zlecenie i od razu potem jego modyfikacja.
W ECNach (a gram u ECNa) np jest tak, że w OrderSend nie może być ustawione SL i TP na raz, dlatego najpierw się wysyła zlecenie, a potem modyfikuje

Ale to akurat był mój czeski błąd, który już poprawiłem ;)
Natomiast pytanie z początku wątku dalej jest aktualne

z6yszko
Gaduła
Gaduła
Posty: 266
Rejestracja: 17 sty 2011, 10:09

Re: bugi w MT4 i EA

Nieprzeczytany post autor: z6yszko »

pakistaniFX pisze:dziś miałą miejsce kolejna sytuacja:
bot otworzył pozycję i ustawił zbyt duże SL. SL jest obliczany m.in. na podstawie spreadu, więc można na tej podstawie określić spread w momencie otwarcia. Tyle tylko, że gdyby spread w chwili otwarcia był tak duży, to bot nie otworzyłby pozycji (chronię się przed otwieraniem przy zbyt dużej niepewności rynku). A jednak otworzył.
To było na demo podczas testów, jeśli to ma znaczenie.

coraz bardziej analizuję mój kod pod kątem szybkości jego wykonywania
czy jest możliwe, że po otwarciu, gdy ustawiany był SL to bot wziął nowy, dużo wyższy spread?
używam komendy OrderSend(...) która otwiera pozycje i nadaje jej SL
To nie jest błąd, tylko tak może się zdarzyć na platformie. Otwierasz zlecenie po cenie market, natomiast SL ustawia się dokładnie po cenie przekazanej w OrderSend. Więc tak naprawdę nie wiesz po jakiej cenie otworzy się zlecenie, bo w momencie otwarcia może wystąpić poślizg cenowy w jedną lub w drugą stronę. Stąd SL może się ustawić zbyt blisko lub zbyt daleko od ceny otwarcia. Zawsze lepiej wysłać kolejną komendę - OrderModify, która poprawi wartość SL według ceny OrderOpenPrice.

green7
Maniak
Maniak
Posty: 2060
Rejestracja: 16 sty 2008, 18:44

Re: bugi w MT4 i EA

Nieprzeczytany post autor: green7 »

pakistaniFX pisze:Nie jestem tego pewien. Może być tak, że jedna komenda wywołuje dwie funkcje: najpierw wysłanie zlecenie i od razu potem jego modyfikacja.
Nie. W Mt4 OrderSend robi wszytko za jednym zamachem. Inaczej przecież jeśli podałbyś złe parametry czyli np. SL to zostawałbyś z otwartym zleceniem bez SL. A tak nie jest - jak dasz złe parametry nie otworzy się nic.
pakistaniFX pisze:W ECNach (a gram u ECNa) np jest tak, że w OrderSend nie może być ustawione SL i TP na raz, dlatego najpierw się wysyła zlecenie, a potem modyfikuje
ECNy to inna historia. Ponieważ mt4 nie był tworzony pod ECNy to wychodzą tu różne problemy z którymi brokerzy muszą sobie jakoś radzić. I różni brokerzy robią to różnie. Kolega z6yszko wytłumaczył Ci jak to bywa u niektórych broków. Inni działają właśnie tak jak Ty opisujesz - to znaczy ponieważ w chwili wysłania zlecenia nie jest znana cena po której ono się otworzy, to nie wiadomo czy parametry SL/TP będą odpowiednie. Dlatego broker nie zezwala na używanie OrderSend z TP/SL, po prostu odrzucając takie zlecenia. Skutkiem tego możesz ustawić SL/TP tylko przez modyfikację zlecenia.
pakistaniFX pisze:Natomiast pytanie z początku wątku dalej jest aktualne
Które ? O zamknięciu zlecenia zaraz po otwarciu ? To Twoje EA więc to Ty powinieneś wiedzieć czemu się tak stało - nic nie dzieje się samo :)
Green
Obrazek
Obrazek

ODPOWIEDZ