А чем занимается continue в этом куске кода?
Ошибка же налицо.
Вчера тестировал советника и всё шло замечательно, как вдруг перестал работать блок ограничения количества ордеров.
Почему, не понятно.
Вот код:
void LimitOpenOrders14()
{
int count = 0;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) continue;
{
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == OrderId14)
{
count++;
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
if (count < OpenOrdersLimit14)
{
BuyOrder4();
}
}
Подобные вещи творятся постоянно после каждого обновления. Я уже замучился исправлять коды то в одном блоке, то в другом. Пока ищу нужную документацию, пока разбираюсь проходит время и новое обновление сводит на нет все мои потуги в программировании. Когда кончится это издевательство? Ну с кодом, кто сможет помочь? Вместо ограничения получаю кучу открытых ордеров. Ещё вчера не мог нарадоваться на работу советника, а сегодня, при дополнительном тестировании блок ограничения перестал работать. Пожалуйста, помогите!
Эти издевания были от отчаяния, прошу извинить. Вот код, который перестал работать:
void LimitOpenOrders14()
{
int count = 0;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == OrderId14)
{
count++;
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
if (count < OpenOrdersLimit14)
{
BuyOrder4();
}
}
Конечноя нашел обходные пути, но очень хотелось бы понять, что тут не так.
Эти издевания были от отчаяния, прошу извинить. Вот код, который перестал работать:
void LimitOpenOrders14() { int count = 0; for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol()) if (OrderMagicNumber() == OrderId14) { count++; } } else { Print("OrderSend() error - ", ErrorDescription(GetLastError())); } if (count < OpenOrdersLimit14) { BuyOrder4(); } }
Конечноя нашел обходные пути, но очень хотелось бы понять, что тут не так.
О каком издевательстве речь? Пока видно только издевательство над кодом.
К чему там этот принт ошибки открытия?
А кто такая "OpenOrdersLimit14" и где ейный обьявитель и разруливатель? Почему не читаем ошибки в компиляторе? Обходные пути такие же гениальные?
" О каком издевательстве речь? Пока видно только издевательство над кодом.
К чему там этот принт ошибки открытия?
А кто такая "OpenOrdersLimit14" и где ейный обьявитель и разруливатель? Почему не читаем ошибки в компиляторе? Обходные пути такие же гениальные?"
Понимать можно как угодно, но не вижу ни какого ответа по существу.
Принт ошибки, что бы можно было прочитать в журнале или логе, но там ничего нет. Ошибок нет.
Нет ошибок и в компиляторе.
О каком издевательстве речь? Пока видно только издевательство над кодом.
К чему там этот принт ошибки открытия?
А кто такая "OpenOrdersLimit14" и где ейный обьявитель и разруливатель? Почему не читаем ошибки в компиляторе? Обходные пути такие же гениальные?
интересно мт4 больно, когда над ним так издеваются?
Эти издевания были от отчаяния, прошу извинить. Вот код, который перестал работать:
void LimitOpenOrders14() { int count = 0; for (int i=OrdersTotal()-1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol()) if (OrderMagicNumber() == OrderId14) { count++; } } else { Print("OrderSend() error - ", ErrorDescription(GetLastError())); } if (count < OpenOrdersLimit14) { BuyOrder4(); } }
Конечно я нашел обходные пути, но очень хотелось бы понять, что тут не так.
интересно мт4 больно, когда над ним так издеваются?
Эти издевания были от отчаяния, прошу извинить. Вот код, который перестал работать:
Конечно я нашел обходные пути, но очень хотелось бы понять, что тут не так.
интересно посмотреть , обходные пути
по русски напишите, что вы хотите от этого кода?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вчера тестировал советника и всё шло замечательно, как вдруг перестал работать блок ограничения количества ордеров.
Почему, не понятно.
Вот код:
void LimitOpenOrders14()
{
int count = 0;
for (int i=OrdersTotal()-1; i >= 0; i--)
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true) continue;
{
if (OrderSymbol() == Symbol())
if (OrderMagicNumber() == OrderId14)
{
count++;
}
}
else
{
Print("OrderSend() error - ", ErrorDescription(GetLastError()));
}
if (count < OpenOrdersLimit14)
{
BuyOrder4();
}
}
Подобные вещи творятся постоянно после каждого обновления. Я уже замучился исправлять коды то в одном блоке, то в другом. Пока ищу нужную документацию, пока разбираюсь проходит время и новое обновление сводит на нет все мои потуги в программировании. Когда кончится это издевательство? Ну с кодом, кто сможет помочь? Вместо ограничения получаю кучу открытых ордеров. Ещё вчера не мог нарадоваться на работу советника, а сегодня, при дополнительном тестировании блок ограничения перестал работать. Пожалуйста, помогите!