Проблема возникла на ровном месте, советник работал, проблем не было, но стоило мне вставить новую функцию(траллинг стоп), как у меня во всем советнике перестали работать OrderSelect, выдает ошибку 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Недопустимое значение параметра функции. Сначала не понял, думал где то что-то поменял может, удалил траллинг стоп, вернул все как было, но OrderSelect так и выдает ошибку.
Вот код на всякий случай:
for(int i = OrdersTotal(); i > 0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderType() == OP_SELL)
{
if(!OrderClose(OrderTicket(), Lots, Ask, slippage, clrRed))
{Print("Error Order Close SELL = ", GetLastError());}
}
}
else
{Print("Error order select, try order close SELL = ", GetLastError());}
}
Проблема возникла на ровном месте, советник работал, проблем не было, но стоило мне вставить новую функцию(траллинг стоп), как у меня во всем советнике перестали работать OrderSelect, выдает ошибку 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Недопустимое значение параметра функции. Сначала не понял, думал где то что-то поменял может, удалил траллинг стоп, вернул все как было, но OrderSelect так и выдает ошибку.
Вот код на всякий случай:
Это не полный код. Скорее всего где-то скобку удалили.
Это не серьёзно... Зачем они (input и extern) тогда нужны....
А что тут не серьёзного? Вы ветке по кодам задали вопрос ну и получили соответствующий ответ. Ну а если не додумались перезагрузить терминал, то вам уже ответили - сервисдеск.
Valerius: что делать, если например сегодня я в советнике в настройках выставил настройки, то на другой день некоторые значения настроек оказываются пустыми?
Трудно догадаться, как Вы этого добились. Код советника Вам выложить жалко, да и мне весь его смотреть лень. Сделайте копию под другим именем, удалите все, кроме параметров и пустой функции OnTick (или Start ???). Эффект сохраняется? Покажите полученный код
Здравствуйте, хочу сделать советник на основе индикатора, скопипастил код индикатора в ontick, не хватает переменных из функции onCalculate, мне это все надо будет получать через copytime copyhigh copylow и т.д. или есть вариант попроще и побістрее?
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Доброго времени суток !
Проблема возникла на ровном месте, советник работал, проблем не было, но стоило мне вставить новую функцию(траллинг стоп), как у меня во всем советнике перестали работать OrderSelect, выдает ошибку 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Недопустимое значение параметра функции. Сначала не понял, думал где то что-то поменял может, удалил траллинг стоп, вернул все как было, но OrderSelect так и выдает ошибку.
Вот код на всякий случай:
Доброго времени суток !
Проблема возникла на ровном месте, советник работал, проблем не было, но стоило мне вставить новую функцию(траллинг стоп), как у меня во всем советнике перестали работать OrderSelect, выдает ошибку 4051 ERR_INVALID_FUNCTION_PARAMVALUE - Недопустимое значение параметра функции. Сначала не понял, думал где то что-то поменял может, удалил траллинг стоп, вернул все как было, но OrderSelect так и выдает ошибку.
Вот код на всякий случай:
Вот код на всякий случай: for(int i = OrdersTotal(); i > 0; i--)
надо for (int i = OrdersTotal() -1; i>=0; i--) ордера нумеруются с нуля и потому самый больший номер на 1 меньше количества
надо for (int i = OrdersTotal() -1; i>=0; i--) ордера нумеруются с нуля и потому самый больший номер на 1 меньше количества
Точно! А я и не заметил... Спать больше нужно
надо for (int i = OrdersTotal() -1; i>=0; i--) ордера нумеруются с нуля и потому самый больший номер на 1 меньше количества
Спасибо !
Это не серьёзно... Зачем они (input и extern) тогда нужны....
А что тут не серьёзного? Вы ветке по кодам задали вопрос ну и получили соответствующий ответ.
Ну а если не додумались перезагрузить терминал, то вам уже ответили - сервисдеск.
Трудно догадаться, как Вы этого добились. Код советника Вам выложить жалко, да и мне весь его смотреть лень. Сделайте копию под другим именем, удалите все, кроме параметров и пустой функции OnTick (или Start ???). Эффект сохраняется? Покажите полученный код
Помогло? А как раньше работало?
простите разобрался,но непонятно зачем в oncalculate передавать значения предопределенных переменных, если они глобальные и так-же доступны
Здравствуйте, хочу сделать советник на основе индикатора, скопипастил код индикатора в ontick, не хватает переменных из функции onCalculate, мне это все надо будет получать через copytime copyhigh copylow и т.д. или есть вариант попроще и побістрее?
iCustom в помощь