Да, может перейдете на С-шные скобки ????
А то эта паскалевская байда уже ...
А то эта паскалевская байда уже ...
не совсем понятен вопрос.
как Вы получили этот глюк? можно текст эксперта посмотреть?
указанная конструкция не пройдёт компиляцию из-за точки с запятой перед else. компилятор скажет, что ошибка номер 23 alone else without if-then statement
как Вы получили этот глюк? можно текст эксперта посмотреть?
указанная конструкция не пройдёт компиляцию из-за точки с запятой перед else. компилятор скажет, что ошибка номер 23 alone else without if-then statement
пожалуйста
вот цитата со страницы https://www.metaquotes.net/en/metatrader5/algorithmic-trading как раз из пункта 4.2.3 Инструкция условия IF-THEN
===
Операторные скобки Begin - End могут быть заменены фигурными скобками { }.
===
вот цитата со страницы https://www.metaquotes.net/en/metatrader5/algorithmic-trading как раз из пункта 4.2.3 Инструкция условия IF-THEN
===
Операторные скобки Begin - End могут быть заменены фигурными скобками { }.
===
Ошибка компилляции ..
Текст компилляцию проходил, хотя ";" действительно не было.
Код пожалуйста (еще раз перепроверил):
if abs(S_abs) < Max(S_abs_1,S_abs_2)*4 OR S_abs_1=0 then Begin
SetIndexValue2(shift, S_abs);
countS=1+countS;
ENd;
else Begin
SetIndexValue(shift, 0.5*abs(S_abs)/S_abs);
countS=1;
end;
cntB=cntB+1
Текст компилляцию проходил, хотя ";" действительно не было.
Код пожалуйста (еще раз перепроверил):
if abs(S_abs) < Max(S_abs_1,S_abs_2)*4 OR S_abs_1=0 then Begin
SetIndexValue2(shift, S_abs);
countS=1+countS;
ENd;
else Begin
SetIndexValue(shift, 0.5*abs(S_abs)/S_abs);
countS=1;
end;
cntB=cntB+1
а вот точка с запятой между End и Else вызовет ошибку компиляции
Анекдот
Есть такой анекдот:
Новому русскому на разбивают сзади машину. Тот выскакивает из машины, подлетает к виновнику и орёт:
- Ты-ы хто-о-о ?!
- П-п-писатель ...
-Какой нахер писатель ?!
-П-про-з-заик ...
-Про каких таких, в пи..ду, заек ????!!!!
Вот так и у вас, я спрашиваю про проблему с компайлером, а вы советуете вызвать ошибку. <>Еще раз привожу сомнительный код. присутствие , либо отсутствие т.з. - ошибку не вызывает:
Есть такой анекдот:
Новому русскому на разбивают сзади машину. Тот выскакивает из машины, подлетает к виновнику и орёт:
- Ты-ы хто-о-о ?!
- П-п-писатель ...
-Какой нахер писатель ?!
-П-про-з-заик ...
-Про каких таких, в пи..ду, заек ????!!!!
Вот так и у вас, я спрашиваю про проблему с компайлером, а вы советуете вызвать ошибку. <>Еще раз привожу сомнительный код. присутствие , либо отсутствие т.з. - ошибку не вызывает:
/*[[
Name := ГЛЮК
Author := Прохожий
Link := http://localhost/
]]*/
Variable : S_abs(0),countS(0),cntbars(0),shift(0);
For shift = 2 DownTo 0
Begin
if abs(S_abs) < 0 then Begin
countS=1+countS;
end;
else Begin
countS=1;
end;
cntBars=cntBars+1;
End;
PS: Забыл добавить что код для простоты понимания лишен многоих строк и является бессысленным.
так мы об этом и просили!
потому что отдельно взятый кусок кода, но используемый в другом контексте, генерирует ошибку.
будем разбираться.
потому что отдельно взятый кусок кода, но используемый в другом контексте, генерирует ошибку.
будем разбираться.
исправили
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может чего я не понимаю, но в конструкции
IF ... Then
Begin
...
End;
Else
Begin
...
End;
тело следующее за else будет обрабатываться всегда (не зависимо от переключателя if ) ?
PS: If .. then .. else Begin .. end; работает OK.