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 ?