Co może być powodem że przy zadanym warunku, który jest spełniony(takie założenie) raz robot wysyła jeden Order, raz dwa Ordery, czasem kilka (czyli wszystkie zdefiniowane), pomimo tego iż w warunkach otwarcia ma kilka Ticket=OrderSend()?
Czy może to być problem z platformą? Czy coś z kodem jest nie tak?
OrderSend() multi strategia
Re: OrderSend() multi strategia
Może być tak ze warunek jest spełniony w kilku kolejnych tickach.
"Anyone who believes in indefinite growth in anything physical, on
a physically finite planet, is either mad - or an economist." - Kenneth Ewart Boulding
a physically finite planet, is either mad - or an economist." - Kenneth Ewart Boulding
- m05
- Gaduła
- Posty: 449
- Rejestracja: niedziela 11 sie 2013, 09:58
- Lat na Forex: 7
- Lokalizacja: exPRL
- Kontakt:
Re: OrderSend() multi strategia
Jak masz kilka warunków, ponumeruj Tictety dla każdego odrębnie.
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.
http://www.dzieciom.pl/2708 Many thanks in advance.
Re: OrderSend() multi strategia
Warunek jest jeden. Natomiast po jednej stronie warunku w grę wchodzą proste obliczenia np. x>0, gdzie x jest wynikiem z wyliczeń.
- m05
- Gaduła
- Posty: 449
- Rejestracja: niedziela 11 sie 2013, 09:58
- Lat na Forex: 7
- Lokalizacja: exPRL
- Kontakt:
Re: OrderSend() multi strategia
No to dodaj warunek przed
if(Ticket=0) Ticket=OrderSend()...
nie powinien otworzyć, jeżeli już jedno jest otwarte.
if(Ticket=0) Ticket=OrderSend()...
nie powinien otworzyć, jeżeli już jedno jest otwarte.
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.
http://www.dzieciom.pl/2708 Many thanks in advance.
Re: OrderSend() multi strategia
Nie rozumiemy się. Mi chodzi właśnie o to żeby otwierał kilka transakcji.
Przypadek 1.
if (OrdersTotal()==0 && x>0)
{
Ticket=OrderSend(........);
Ticket=OrderSend(........);
Ticket=OrderSend(........);
}
W przypadku 1 robot raz otwiera jedną pozycję, innym razem tylko dwie a jeszcze następnym wszystkie trzy. Najczęściej (w 90%) jednak pojawia się opcja otwierania tylko jednej pozycji i jest to Ticket ostatni (nie rozumiem dlaczego np. nie pierwszy lub drugi). Jeśli już otwiera wszystkie trzy to robi to w tym samym momencie.
Przypadek 2.
if (OrdersTotal()==0 && x>0)
{Ticket=OrderSend(....);}
if (OrdersTotal()==1 && x>0)
{Ticket=OrderSend(.....);}
if (OrderTicket()==2 && x>0)
{Ticket=OrderSend(.....);}
W przypadku 2 z tego co widzę robot otwiera trzy pozycję (przynajmniej jak do tej pory). Wadą jest że są one otwierane jedna po drugiej (z tym że kolejna otwiera się dopiero po ticku na instrumencie którego dotyczy), a nie w tym samym momencie.
Zamierzeniem było otwieranie wszystkich transakcji w tym samym momencie. Dlatego pytałem.
Przypadek 1.
if (OrdersTotal()==0 && x>0)
{
Ticket=OrderSend(........);
Ticket=OrderSend(........);
Ticket=OrderSend(........);
}
W przypadku 1 robot raz otwiera jedną pozycję, innym razem tylko dwie a jeszcze następnym wszystkie trzy. Najczęściej (w 90%) jednak pojawia się opcja otwierania tylko jednej pozycji i jest to Ticket ostatni (nie rozumiem dlaczego np. nie pierwszy lub drugi). Jeśli już otwiera wszystkie trzy to robi to w tym samym momencie.
Przypadek 2.
if (OrdersTotal()==0 && x>0)
{Ticket=OrderSend(....);}
if (OrdersTotal()==1 && x>0)
{Ticket=OrderSend(.....);}
if (OrderTicket()==2 && x>0)
{Ticket=OrderSend(.....);}
W przypadku 2 z tego co widzę robot otwiera trzy pozycję (przynajmniej jak do tej pory). Wadą jest że są one otwierane jedna po drugiej (z tym że kolejna otwiera się dopiero po ticku na instrumencie którego dotyczy), a nie w tym samym momencie.
Zamierzeniem było otwieranie wszystkich transakcji w tym samym momencie. Dlatego pytałem.
- m05
- Gaduła
- Posty: 449
- Rejestracja: niedziela 11 sie 2013, 09:58
- Lat na Forex: 7
- Lokalizacja: exPRL
- Kontakt:
Re: OrderSend() multi strategia
To może przed każdym if, wstawić RefreshRates();
??
??
Jeżeli chcesz odnieść sukces, daj się ponieść. 中国的
http://www.dzieciom.pl/2708 Many thanks in advance.
http://www.dzieciom.pl/2708 Many thanks in advance.
Re: OrderSend() multi strategia
mam wstawione RefreshRates() ale przed Ticket a nie przed if. Spróbuję przed if.
Re: OrderSend() multi strategia
Dzielenie na trzy oddzielne zlecenia jest też złym rozwiązaniem, ponieważ może się zdarzyć że w "międzyczasie" zostanie spełniony inny warunek i część transakcji będzie z pierwszego warunku a część z drugiego.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 32 gości