Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 58

 
Vitaly Muzichenko:

Вот

 

void OnTick()
{
  Comment( cLot(100)," | ",AccountFreeMarginCheck(_Symbol,OP_BUY,cLot(100)) );
}
Вам удачи .У меня выдает ошибку ..
 
Movlat Baghiyev:
Вам удачи .У меня выдает ошибку ..
Тогда пойдем от обратного. Свой код покажите. Я по такой же формуле считаю лот, всё работает.
 

И так, более - менее рабочая верия предыдущего советника уже готова

суть такая, в песочек

к примеру имеется 50 ордеров

при команде "закрыть все" кроется максимум 15, остальные выдают таймаут и реквоты

остальные требуют повторных проходов, причем во время резких движений количество проходов  значительно увеличивается.

Можно ли такое ставить на счет? 

Насколько я знаю такие обращения к серверу шеф-поваром не приветствуются, но я могу и ошибаться.

 
trader781:

И так, более - менее рабочая верия предыдущего советника уже готова

суть такая, в песочек

к примеру имеется 50 ордеров

при команде "закрыть все" кроется максимум 15, остальные выдают таймаут и реквоты

остальные требуют повторных проходов, причем во время резких движений количество проходов  значительно увеличивается.

Можно ли такое ставить на счет? 

Насколько я знаю такие обращения к серверу шеф-поваром не приветствуются, но я могу и ошибаться.

Чтобы шеф-повар не психовал надо не тупо повторять, а анализировать ошибки и принимать грамотное решение, повторить попытку или пропустить.

Ещё вариант, если цикл построен от 0 до ... то пропуски неизбежны. Используй обратный цикл

for(int i = OrdersTotal(); i >= 0; --i)
 
Alexey Viktorov:

Чтобы шеф-повар не психовал надо не тупо повторять, а анализировать ошибки и принимать грамотное решение, повторить попытку или пропустить.

Ещё вариант, если цикл построен от 0 до ... то пропуски неизбежны. Используй обратный цикл

for(int i = OrdersTotal(); i >= 0; --i)
OrdersTotal()-1
 
Artyom Trishkin:
OrdersTotal()-1
Alexey Viktorov:

Чтобы шеф-повар не психовал надо не тупо повторять, а анализировать ошибки и принимать грамотное решение, повторить попытку или пропустить.

Ещё вариант, если цикл построен от 0 до ... то пропуски неизбежны. Используй обратный цикл

for(int i = OrdersTotal(); i >= 0; --i)

вот кусок журнала при текущей обработке, часть кроется часть модифицируется, причем вне зависимости от команды сработают не все ордера, если ордеров больше 20, это повторяется для всех при каждой команде, а ведь только тестер

 

2017.01.05 18:31:44.919 2016.12.14 23:03:00  Tester: stop loss #716 at 1.05321 (1.05297 / 1.05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00  Tester: stop loss #715 at 1.05321 (1.05297 / 1.05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00  Tester: stop loss #714 at 1.05321 (1.05297 / 1.05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00  Tester: stop loss #713 at 1.05321 (1.05297 / 1.05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00  Tester: stop loss #712 at 1.05321 (1.05297 / 1.05347)

2017.01.05 18:31:44.919 2016.12.14 23:03:00  Tester: stop loss #711 at 1.05321 (1.05297 / 1.05347)

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: modify #711 sell 0.01 EURUSD at 1.05862 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: modify #712 sell 0.02 EURUSD at 1.05682 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: modify #713 sell 0.04 EURUSD at 1.05388 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: modify #714 sell 0.08 EURUSD at 1.05229 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: modify #715 sell 0.16 EURUSD at 1.05077 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: modify #716 sell 0.32 EURUSD at 1.05232 sl: 1.05321 tp: 0.00000 ok

2017.01.05 18:31:44.919 2016.12.14 23:01:00  Moving tral-martin EURUSD,M1: open #716 sell 0.32 EURUSD at 1.05232 ok

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: OrderModify error 4051

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: invalid stoploss for OrderModify function

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: modify #715 sell 0.16 EURUSD at 1.05077 sl: 200.00000 tp: 0.00000 ok

2017.01.05 18:31:44.918 2016.12.14 22:52:00  Moving tral-martin EURUSD,M1: open #715 sell 0.16 EURUSD at 1.05077 ok

2017.01.05 18:31:44.918 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.918 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.918 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.917 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: OrderModify error 4051

2017.01.05 18:31:44.917 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: invalid stoploss for OrderModify function

2017.01.05 18:31:44.917 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: modify #714 sell 0.08 EURUSD at 1.05229 sl: 200.00000 tp: 0.00000 ok

2017.01.05 18:31:44.917 2016.12.14 22:44:00  Moving tral-martin EURUSD,M1: open #714 sell 0.08 EURUSD at 1.05229 ok

2017.01.05 18:31:44.916 2016.12.14 22:09:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.916 2016.12.14 22:09:00  Moving tral-martin EURUSD,M1: OrderClose error 138

2017.01.05 18:31:44.916 2016.12.14 22:09:00  Moving tral-martin EURUSD,M1: OrderModify error 4051

 
Artyom Trishkin:
OrdersTotal()-1

Неее. Именно так. Артём почитай о функциях префиксный и постфиксный инкремент/декримент.

В моём варианте сначала стартовое значение уменьшается на 1, а потом начинается цикл.

 
Alexey Viktorov:

Неее. Именно так. Артём почитай о функциях префиксный и постфиксный инкремент/декримент.

В моём варианте сначала стартовое значение уменьшается на 1, а потом начинается цикл.

Не обратил внимания на декремент - с мобилы я...
 

trader781:  вот кусок журнала при текущей обработке, часть кроется часть модифицируется, причем вне зависимости от команды сработают не все ордера, если ордеров больше 20, это повторяется для всех при каждой команде, а ведь только тестер

Опять с нулевым проскальзыванием (138)? 

И стоплоссы неправильно посчитаны, судя по журналу.
 
Vitalie Postolache:

Опять с нулевым проскальзыванием (138)? 

50 стоит везде

сам факт что при больших количествах ордеров все сразу не кроются и не модифицируются 

стоплоссы - хрен с ними, досчитаю как с закрытием всех сразу разберсь

пока что вот так

https://www.mql5.com/ru/charts/6368852/eurusd-m1-metaquotes-software-corp 

График EURUSD, M1, 2017.01.05 17:10 UTC, MetaQuotes Software Corp., MetaTrader 4, Demo
График EURUSD, M1, 2017.01.05 17:10 UTC, MetaQuotes Software Corp., MetaTrader 4, Demo
  • www.mql5.com
Символ: EURUSD. Период графика: M1. Брокер: MetaQuotes Software Corp.. Торговая платформа: MetaTrader 4. Режим торговли: Demo. Дата: 2017.01.05 17:10 UTC.
Причина обращения: