при работе с ордерами из истории... хотя не только из истории...
Ошибки нет.
MODE_TICKVALUE работает для фьючерсов и аналогичных инструментов, у которых заполнено это поле. Для форекс инструментов это поле обычно не используется вообще. Поведение MODE_TICKVALUE не менялось уже 7 лет с самого выпуска системы.
проверял встречное закрытие сделок из-за этого у ордера лотность выдаёт ноль и советник грохается при подсчёте при делении на ноль... сори, сам лапух :)
TarasBY: Сюда ещё можно прикрутить НО результат и ныне там. Обновление котировок здесь вооче-то вообще ни при чём - мы получаем НОВЫЙ бар, а не текущую котировку. Причём, в более явном виде соседний график открывается с "отложенным спросом" новых баров в несколько дней. И RefreshRates() здесь совсем "не пилюля"...
У меня без RefreshRates вообще давало алерт только один раз при запуске, а с ним алерты приходят часто по мере поступления новых баров. А как оно должно работать?
Вы не привели ни единой строчки кода и устраиваете тут истерику. Ищите ошибки в своем коде.
Мы все проверили - ошибок нет, функция работает нормально.
Здравствуйте, Renat!
Ниже привожу код функции которую использую в скриптах для удаления перекрытых ордеров (туда только добавлена контрольная точка-алерт, чтобы проверить правильный заход функции OrderCloseBy() на тикеты... проверял - заходит правильно, а затем идет пауза в несколько минут, после чего выбрасывается ошибка №128 или №136. Проблема нарисовалась после апрегдов с 409 билда на 419, 427, 416...)
Реально нужна Ваша помощь, ибо звонил в свой ДЦ, там что-то проверяли и говорят, что на их стороне всё работает, код я не менял и на 409 билде он работал без проблем, пробовал этот код на сервере MIGBank-Demo - MIG Bank, так там он работает ... я попал в замкнутый круг и без Вашей помощи мне из него не выбраться...
Код:
bool FUNC_Orders_CloseBy()
{
//----- закрываем перекрытые ордера:int ticketSELL = 1, ticketBUY = 1; // для входа в whilewhile( ticketSELL != 0 && ticketBUY != 0 ) // циклим пока есть оба типа ордеров SELL и BUY
{
ticketSELL = 0; ticketBUY = 0; // обнуляем перед новым циклом отбора ордеровfor( int i=0; i<OrdersTotal(); i++ )
{
if( OrderSelect(i, SELECT_BY_POS) == false )
{
myComment = ": <OrderSelect> failed with Error #" + GetLastError() + " ...";
Alert(Symbol(), " @ ", ShortName, myComment);
myComment = " ... on search the overlap orders for <OrderCloseBy> ...";
Alert(Symbol(), " @ ", ShortName, myComment); flag_Success = false;
continue; // продолжаем отбор ордеров
}
if( OrderSymbol() != Symbol() ) continue; // смотрим ордера только по текущему инструментуswitch( OrderType() ) // получаем тип ордера
{
case OP_SELL: ticketSELL = OrderTicket(); break;
case OP_BUY: ticketBUY = OrderTicket(); break;
}
if( ticketSELL != 0 && ticketBUY != 0 ) // найдены ордера SELL и BUY, удаляем:
{
// контрольная точка входа в OrderCloseBy:Alert("test: ticketSELL= ", ticketSELL, " ticketBUY= ", ticketBUY);// визуальный контроль правильности выбора ордеров if( OrderCloseBy(ticketSELL, ticketBUY) == false )
{
myComment = ": <OrderCloseBy> failed with Error #" + GetLastError() + " ...";
Alert(Symbol(), " @ ", ShortName, myComment); flag_Success = false;
return(false); // выходим из FUNC_, чтобы не было зацикливания по while на ошибке >>>>>
}
break; // выходим из for в начало while и начинаем заново for
}
}//end: for(i=OrdersTotal()-1; i>=0; i--)
}//end: while(ticketSELL != 0 && ticketBUY != 0) цикла закрытия перекрытых ордеровreturn(true);
}//end^ FUNC_Orders_CloseBy -----------------------------------------------------------//
Добрый день ! Скажите пожалуйста в обновленной версии мт4 появилась комиссия, а в старой не было . теперь это новшество будет постоянно ? и помимо спредов теперь еще и комиссионные надо отмахивать получается ? работаю на альпари микро .
MarketInfo(OrderSymbol(), MODE_TICKVALUE) = 0
у всех такой лаг? или тока у меня ламера? :)при работе с ордерами из истории... хотя не только из истории...
Ошибки нет.
MODE_TICKVALUE работает для фьючерсов и аналогичных инструментов, у которых заполнено это поле. Для форекс инструментов это поле обычно не используется вообще. Поведение MODE_TICKVALUE не менялось уже 7 лет с самого выпуска системы.
пожалуйста, добавьте возможность регулировать Спред в режиме тестирования.
Я знаю что решение существует, но лучше бы оно было официальным,
от разработчика.
проверял встречное закрытие сделок из-за этого у ордера лотность выдаёт ноль и советник грохается при подсчёте при делении на ноль... сори, сам лапух :)
Сюда ещё можно прикрутить
НО результат и ныне там. Обновление котировок здесь вооче-то вообще ни при чём - мы получаем НОВЫЙ бар, а не текущую котировку. Причём, в более явном виде соседний график открывается с "отложенным спросом" новых баров в несколько дней. И RefreshRates() здесь совсем "не пилюля"...
У меня без RefreshRates вообще давало алерт только один раз при запуске, а с ним алерты приходят часто по мере поступления новых баров. А как оно должно работать?
Вы не привели ни единой строчки кода и устраиваете тут истерику. Ищите ошибки в своем коде.
Мы все проверили - ошибок нет, функция работает нормально.
Здравствуйте, Renat!
Ниже привожу код функции которую использую в скриптах для удаления перекрытых ордеров (туда только добавлена контрольная точка-алерт, чтобы проверить правильный заход функции OrderCloseBy() на тикеты... проверял - заходит правильно, а затем идет пауза в несколько минут, после чего выбрасывается ошибка №128 или №136. Проблема нарисовалась после апрегдов с 409 билда на 419, 427, 416...)
Реально нужна Ваша помощь, ибо звонил в свой ДЦ, там что-то проверяли и говорят, что на их стороне всё работает, код я не менял и на 409 билде он работал без проблем, пробовал этот код на сервере MIGBank-Demo - MIG Bank, так там он работает ... я попал в замкнутый круг и без Вашей помощи мне из него не выбраться...
Код:
Ренат, подскажи пожалуйста: пользовательские индикаторы в КПК всунуть реально и как это сделать? Спасибо.
Никак.
Добрый день ! Скажите пожалуйста в обновленной версии мт4 появилась комиссия, а в старой не было . теперь это новшество будет постоянно ? и помимо спредов теперь еще и комиссионные надо отмахивать получается ? работаю на альпари микро .
На 2й стр. темы я привёл код индикатора. Глобальные переменные не сохраняются при переключении ТФ.
Конечно, я могу ошибаться.
Ув. разработчики, пожалуйста, скажите, что вы увидели сообщение.