Не мультивалютник случаем?
повставляйте после каждой третьей строчки кода (а где есть сомнения и после каждой) вывод ошибки (если она есть). Чтоб точно определить место и время её появления. А потом нам расскажите этот ньюанс. Очень интересно узнать...
sergeev >>:
повставляйте после каждой третьей строчки кода (а где есть сомнения и после каждой) вывод ошибки (если она есть). Чтоб точно определить место и время её появления. А потом нам расскажите этот ньюанс. Очень интересно узнать...
повставляйте после каждой третьей строчки кода (а где есть сомнения и после каждой) вывод ошибки (если она есть). Чтоб точно определить место и время её появления. А потом нам расскажите этот ньюанс. Очень интересно узнать...
//Вот кусок этого кода: int i, n=OrdersHistoryTotal(); if (n==0) return(0); if (OrderSelect(n-1,SELECT_BY_POS,MODE_HISTORY) && OrderMagicNumber()==Magic && OrderClosePrice()==OrderTakeProfit() && OrderOpenTime()<iTime(NULL,PERIOD_D1,0)) { double NewLot = NormalizeDouble(OrderLots()*PercClose/100,2); int OT=OrderType(); n=OrdersTotal(); if (n==0) return(0); for (i=0; i<n-1; i++) // закроем частично первый убыточный ордер if (OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==Magic && OrderProfit()<0) { if (OT==OP_BUY && OrderType()==OP_SELL && OrderLots()>NewLot) { OrderClose(OrderTicket(),NewLot,Ask,Slippage,Red); Alert("SELL partional close"); } if (OT==OP_SELL && OrderType()==OP_BUY && OrderLots()>NewLot) { OrderClose(OrderTicket(),NewLot,Bid,Slippage,Red); Alert("BUY partional close"); } if (PrintError(200)==0) break; } }
т.е. функция PrintError() как раз иногда выдает ошибку 4059. К функции Alert() она ведь не может относиться, т.к. тестер записывает сообщения Alert в лог. А ближайшая предыдущая функция к Alert - OrderClose()
4059
Балин... Дурная ошибка. Пытаюсь тестить советник анализирующий несколько инструментов. Используются Open[0], High[i], Low[i], Open[i] (где i >0), MarketInfo ("Символ", MODE_POINT). Все, никакого "криминала", а в результате ничего не работает. Зачем это исключение? И когда оно появилось? (Раньше вроде работало...)
Ошибку вызывает MarketInfo ("Символ", MODE_POINT), где символ отличен от тестируемого, при этом функция выдает правильное значение, пришлось просто лишнюю обработку для тестера слелать.... Если функция работает зачем тогда пугать "меня") такими ошибками?:)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Сегодня столкнулся с такой ситуацией:
написал я нового эксперта. Гоняю в тестере.
Иногда при частичном закрытии ордера функцией OrderClose()
тестер возвращает ошибку 4059 - ERR_FUNC_NOT_ALLOWED_IN_TESTING 4059 - функция не разрешена в тестовом режиме.
А иногда частичное закрытие проходит.
С чем это может быть связано?