Zamykanie wszystkich pozycji jednoczesnie

O jezykach programowania w platformach i nie tylko.
nerio
Bywalec
Bywalec
Posty: 8
Rejestracja: 03 mar 2009, 09:53

Nieprzeczytany post autor: nerio »

Witam,

Spotkałem się z EA ktore otwiera dużo pozycji chciałbym jednak dodać do niego coś w rodzaju SL dla całego profitu i niestety nie znajduje prostego rozwiązania.

otóż w skrócie pomysł jest taki: EA otwiera np 10 pozycji na rożnych parach i kiedy wspólny profit ze wszystkich pozycji osiągnie założony poziom zamykamy wszystko niezależnie czy dana pozycja jest zyskowna czy nie.

na forum znalazłem:
for (int i = OrdersTotal(); i > 0; i--)
{


if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() )
//if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGICMA)
{
if (OrderType() == OP_BUY)
{ // zamkniej BUY
OrderClose(OrderTicket(),OrderLots(),Bid,0,Blue);
}
if (OrderType() == OP_SELL)
{ // zamkniej SELL
OrderClose(OrderTicket(),OrderLots(),Ask,0,Blue);
}
}
}
}

i łącząc to z warunkiem

double profit=AccountProfit();

if (profit > XX)
{

}

zamyka pozycje ale bardzo bardzo wolno i po jednej podczas każdego tiku

czy znacie sposób aby za jednym razem wysłać żądanie zamknięcia wszystkich otwartych pozycji ?

Dodano po 38 minutach:

no cóż po kilku testach na demo wiem ze zupełnie nie o to chodziło :(

to co napisałem wyżej zamyka pozycje zaczynając od ostatnio otworzonej a warunek if (profit > XX) szybko przestaje być spełniony i skrypt się zatrzymuje :(

czy ktoś ma jakiś pomysł aby przy raz spełnionym warunku zamknąć wszystko ?

Awatar użytkownika
Asia
Gaduła
Gaduła
Posty: 319
Rejestracja: 09 gru 2009, 02:00

Nieprzeczytany post autor: Asia »

tak z innej beczki
po co Ci 10 pozycji
to zawsze będzie trudno kontrolować i ogarnąć
może 1 lub 2 na raz wystarczą
Czytaj p o w o l i
Dzień dobry, nazywam się ... jestem anonimowym hazardzistą/ką, gram na Forexie
Obrazek

vindemiatrix
Gaduła
Gaduła
Posty: 100
Rejestracja: 22 kwie 2009, 12:12

Nieprzeczytany post autor: vindemiatrix »

if ( profit )
{
for ilosc_pozycji
zamykamy{}
}

po prostu zamykanie włóż do innej pętli tak aby nie sprawdzany był za każdym razem warunek profit.

Pozdrawiam
Wszystko na własną prśbę

Awatar użytkownika
Cyb
Przyjaciel Forum
Przyjaciel Forum
Posty: 1907
Rejestracja: 25 mar 2009, 20:41

Nieprzeczytany post autor: Cyb »

Asia pisze:tak z innej beczki
po co Ci 10 pozycji
to zawsze będzie trudno kontrolować i ogarnąć
może 1 lub 2 na raz wystarczą
Może wyda Ci się to niemożliwe ale większość graczy jest w stanie ogarnąć więcej jak 1 czy 2 pozycje...

nerio
Bywalec
Bywalec
Posty: 8
Rejestracja: 03 mar 2009, 09:53

Nieprzeczytany post autor: nerio »

Dzieki vindemiatrix rozwiązanie proste i skuteczne sam na to nie wpadłem,

A odpowiadając po co mi az 10 pozycji no coz to EA wiec to nie ja je mam ogarnąć tylko on, pozatym operował na kilku parach wiec otwieranie szło mu najlepiej :) gorzez z zyskami. No coz nie ma swietego grala.

ODPOWIEDZ