ну, тут ошибок нет, но есть)
постараемся подробно их рассмотреть... 1 - давайте использовать более современные функции (это обеспечит более легкий переход на mql5 в случае необходимости)
if(AccountInfoInteger(ACCOUNT_TRADE_MODE)!=ACCOUNT_TRADE_MODE_DEMO)
{
Comment("Советник может работать только на демо счёте");
//Sleep(1000); - не нужен с какой стати советник тут должен ждать?
Print("Советник может работать только на демо счёте");
//return(0); - использование этого оператора в данном случае ошибка
//Вместо Comment и Print может лучше использовать Alert?
Alert("Demo account only!");
}
С конструктивной критикой закончили, переходим сразу к мордобою) при попытке запустить получаем сообщение: is not expert and cannot be executed - "это не эксперт". Это может быть вызвано тем, что отсутствуют функции, которые должны быть в эксперте по умолчанию: OnInit(), OnDeinit(), OnTick(). Компиляция (при отсутствии этих функций) возможна только в том случае, если отсутствует #property strict - поставьте ее, и выловите все ошибки.