Андрей прошу переписать код бу для МТ5. За ранее спасибо.
void BreakEven()
{
double lots = 0;
double leave = LeaveLots; // LeaveLots = 0.01
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol() && OrderMagicNumber() == 1)
{
lots = OrderLots() - leave;
lots = NormalizeDouble(lots, NDigits);
if (lots < MarketInfo(Symbol(), MODE_MINLOT))
continue;
if (OrderType() == OP_BUY && Ask - OrderOpenPrice() > BreakEvenPoint*Point)
{
// make sure lot is not smaller than allowed value
if (leave < MarketInfo(Symbol(), MODE_MINLOT))
Print("BreakEven block error - Leave Lots value is smaller than minimal allowed value by your broker.");
else
{
bool ret1 = OrderClose(OrderTicket(), lots, OrderClosePrice(), Slippage, White);
if (ret1 == false)
Print("OrderModify() error - ", (GetLastError()));
}
}
if (OrderType() == OP_SELL && OrderOpenPrice() - Bid > BreakEvenPoint*Point)
{
// make sure lot is not smaller than allowed value
if (leave < MarketInfo(Symbol(), MODE_MINLOT))
Print("BreakEven block error - Leave Lots value is smaller than minimal allowed value by your broker.");
else
{
bool ret2 = OrderClose(OrderTicket(), lots, OrderClosePrice(), Slippage, White);
if (ret2 == false)
Print("OrderModify() error - ", (GetLastError()));
}
}
}
}
else
Print("OrderSelect() error - ", (GetLastError()));
}
Комментарии (9)
35 AM2 Сообщений: 16388 - Андрей
12 vypchela Автор Сообщений: 112
35 AM2 Сообщений: 16388 - Андрей
12 vypchela Автор Сообщений: 112
35 AM2 Сообщений: 16388 - Андрей
35 AM2 Сообщений: 16388 - Андрей
12 vypchela Автор Сообщений: 112
35 AM2 Сообщений: 16388 - Андрей
12 vypchela Автор Сообщений: 112
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий