
Przeciwstawne pozycje
- siersciuch
- Pasjonat
- Posty: 407
- Rejestracja: 06 kwie 2010, 20:31
Przeciwstawne pozycje
Mam pomysł, jak to napisać ale nieidzła
, Może ktoś mi cos podopowie. Jak zrobić , zeby nie otwierał sie np short jak juz jest long.

jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.
- siersciuch
- Pasjonat
- Posty: 407
- Rejestracja: 06 kwie 2010, 20:31
Dodałem do warkunku OP_BUY, zeby uzyskać "jesli ilość otwartych long i Short jest równa zero, to otwórz short". daje to ze nieotworzy sie kolejny short jak już jest otwarty to ze nie otworzy sie przeciwstawna pozycja, czyli nie otworzy sie short jak juz jest long otwarty.
Tylko niewiem, teraz dlaczego jak włączę tester to żadne zlecenie nie chce sie odaplić. Cena sobie skacze warunki na otwarcie pozycji sie pojawiają ale nic sie nie dzieje. hmmmm
Kod: Zaznacz cały
(total(OP_SELL)==0
Kod: Zaznacz cały
(total(OP_BUY)==0
Kod: Zaznacz cały
if (total(OP_SELL)==0 && total(OP_BUY)==0 &&...........)
{
OrderSend(Symbol(),OP_SELL...................
}
int total(int cmd)
{
int sum = 0;
RefreshRates();
for (int i=0;i<=OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (Symbol()==OrderSymbol() && cmd==OrderType()) sum++;
}
return(sum);
}
Tylko niewiem, teraz dlaczego jak włączę tester to żadne zlecenie nie chce sie odaplić. Cena sobie skacze warunki na otwarcie pozycji sie pojawiają ale nic sie nie dzieje. hmmmm
Ostatnio zmieniony 13 kwie 2011, 20:42 przez siersciuch, łącznie zmieniany 1 raz.
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.
Spróbuj tak :
MagicNumber zmień sobie do swojej nazwy Magic.
Kod: Zaznacz cały
int total(int cmd)
{
int sum=0;
for ( int i=0;i<=OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && cmd ==OrderType() && MagicNumber==OrderMagicNumber()) sum++;
}
return(sum);
}
Solą życia jest kasa.
- siersciuch
- Pasjonat
- Posty: 407
- Rejestracja: 06 kwie 2010, 20:31
dobra gra wszystko 
dodanie pomogło, to co mówiłem, ze nie otwiera mi żadnego zlecenia, to było przez błędy gdzie indziej.

dodanie
Kod: Zaznacz cały
&& total(OP_BUY)==0
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.