Potrzebny kawałek kodu do dodania do EA. Opiszę problem.
System ma dodaną górną granice składania ilości pozycji na każdy świeczkę. Na jednym wykresie na 4H mam 30 pozycji, na drugim 10 pozycji na 1H. Jeżeli któraś pozycja jest zamykana, system w jej miejsce otwiera następna według zadanego limitu ilościowego. Przy sporej zmienności moze to byc do ~100 pozycji równocześnie, ale jak śledzę logi, jest to z reguły ok 60-70 pozycji jednocześnie maksymalnie. Z ukrytym SL i TP na jedna pozycję daje to tylko 2 zapytania do serwera, pierwsze open, drugie zamknij. Problem zaczyna sie w sytuacji, kiedy jest błąd 134. Za każdym wywołaniem do serwera OPEN, będzie zwracany ten błąd aż do momentu, gdy wolny depozyt pozwoli otworzy zlecenie. A to może trwać kilka godzin. W ten sposób do jednego brokera poszło mi wczoraj 170000 zapytań na serwer, na co mi na razie delikatnie zwrócono uwagę z prośbą o korektę ustawień EA.
Ma ktoś jakiś pomysł?
Ograniczenie błędu 134
Ograniczenie błędu 134
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.
No i słusznie - takich co robią sztuczny tłok się wyrzuca 
A dlaczego nie sprawdzisz najpierw czy masz wystarczający margin?
Wystarczy coś takiego o ile dobrze pamiętam:
Sprawdź dokładniej bo piszę teraz w biegu na kolanie to coś mogłem pokręcić.
Przykładów obliczania minimalnego marginu jest na pęczki.
Dodano po 5 minutach:
Pewnie, że pokręciłem
Powinno być tak:
AccountFreeMargin() zamiast AccountEquity():

A dlaczego nie sprawdzisz najpierw czy masz wystarczający margin?
Wystarczy coś takiego o ile dobrze pamiętam:
Kod: Zaznacz cały
if (CzyJestMargin(lots)) OrderSend()...
bool CzyJestMargin(double lots){
double wolnaKasa = AccountEquity();
double minMargin = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
minMargin *= lots;
return (wolnaKasa >= minMargin);
}
Przykładów obliczania minimalnego marginu jest na pęczki.
Dodano po 5 minutach:
Pewnie, że pokręciłem

Powinno być tak:
Kod: Zaznacz cały
if (CzyJestMargin(lots)) OrderSend()...
bool CzyJestMargin(double lots){
double minMargin = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
minMargin *= lots;
return (AccountFreeMargin() >= minMargin);
}
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 ;-)
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)
Z tego powodu czy innego?mike_05 pisze:Poprawiłem a i tak zawiesili mi konto od 2 do 10 GMT i to na dodatek z otwartymi pozycjami.
W ./logs i ./experts/logs możesz zobaczyć co się działo.
Jeżeli zlecenia były odrzucane powinna być odpowiednia informacja.
Jest wiele powodów dla których broker może zawiesić konto.
Pomijając złośliwość czy brak wyobrażni to może być zbyt częste wysyłanie zleceń, przekroczenie dopuszczalnej ilości jednocześnie handlowanych lotów, zbyt krótki czas trwania transakcji itp. Trzeba sprawdzić w regulaminie jakie są ograniczenia.
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 ;-)
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)
A co Ci broker powiedział?mike_05 pisze:[Not enough money] tego najwięcej było, ale już nie ma
[Trade timeout] tego trochę ale ping do brokera koszmarny
[Trade context is busy] a to jak mi zrobili read only
dziś tylko 230 transakcji zamkniętych
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 ;-)
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)
Ok, ale czy wiesz jaka była przyczyna zawieszenia. Bo może nadal będziesz robił coś co mu się nie spodoba i znów podpadniesz.mike_05 pisze:Konto odwiesił. Co prawda dziś odbijałem stratę, ale i tak po bandach jade od -30%+60%
-30% dzisiaj.
To tak jak ten koleś obok
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 ;-)
A gdy już ta istota w pełni do nich dotrze, jakże często muszą zmagać się z konsekwencjami swojej opinii ;-)
Głownie o ilość request, przeglądając logi przed poprawka twoją, miałem np. 3 godziny zapytań OPEN a odpowiedź No money tak kilkanaście na minutę.
Dodano po 4 minutach:
A pomysł mi wpadł, ale chyba wiem jak to zrobić już. EA na wykresie testu pokazuje przeważający czas trwania testu equity ponad balance nawet powyżej 10% w porywach. Konstruuję taki zamykasz całego koszyka, jak equity przekroczy zadany próg.
Dodano po 4 minutach:
A pomysł mi wpadł, ale chyba wiem jak to zrobić już. EA na wykresie testu pokazuje przeważający czas trwania testu equity ponad balance nawet powyżej 10% w porywach. Konstruuję taki zamykasz całego koszyka, jak equity przekroczy zadany próg.
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.