Pomoc w małej zmianie fragmentu kodu

O jezykach programowania w platformach i nie tylko.
marcin76
Gaduła
Gaduła
Posty: 300
Rejestracja: 14 lis 2012, 12:42

Pomoc w małej zmianie fragmentu kodu

Nieprzeczytany post autor: marcin76 »

witam serdecznie i proszę was o pomoc

proszę o pomoc w sprawie małej poprawki we fragmencie kodu , chodzi o to , że w obecnej chwili EA otwiera zlecenia oczekujące w odp odległości od ceny w obie strony i poniższy parametr powoduje usuwanie zleceń oczekujących jak i zamykanie zleceń otwartych po upływie określonej liczbie minut w tym przypadku po 55 minutach.

Chodzi mi o dorobienie funkcji, która by usuwała same zlecenia oczekujące po określonej w parametrze odległości aktualnej ceny od zleceń oczekujących, mamy sytuacje gdzie są zlecenia oczekujące w góre i w dół , cena idzie np np 50 pipsów w dół i zlecenia oczekujące które były ustawione na ruch w górę cały czas wiszą. Po dorobieniu parametru '' extern int CloseAfterPips = 50;'' były by one usuwane po osiągnięciu odp odległości od aktualnej ceny w typ przypadku 50 pips



extern int CloseAfterMinutes = 55;


if ((TimeCurrent() - g_datetime_151) / 60 >= CloseAfterMinutes) {
l_ord_total_1 = OrdersTotal();
for (int l_pos_11 = 0; l_pos_11 < l_ord_total_1; l_pos_11++) {
if (OrderSelect(l_pos_11, SELECT_BY_POS, MODE_TRADES) == FALSE) break;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNum1) {

if (OrderType() == OP_BUY) {
gi_151 = FALSE;
while (!gi_151) {
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
gi_151 = OrderClose(OrderTicket(), OrderLots(), Bid, slippage_close, Blue);

}
}
if (OrderType() == OP_SELL) {
gi_151 = FALSE;
while (!gi_151) {
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
gi_151 = OrderClose(OrderTicket(), OrderLots(), Ask, slippage_close, Blue);

}
}
if (OrderType() == OP_BUYSTOP || OrderType() == OP_SELLSTOP) {
gi_151 = FALSE;
while (!gi_151) {
while (!IsTradeAllowed()) Sleep(5000);
gi_151 = OrderDelete(OrderTicket());

}
}
}
}
}

ODPOWIEDZ