уважаемый... незачем такими крупными буквами тут писать... а то и глаза можно сломать :-)
и это... прежде чем вопросы задавать.. ты не пробовал в Метаедиторе СПРАВКУ прочитать? ВСЮ? для начала... чтобы не задавать глупостей насчёт типов и прочего....
===
Тип операций для функции OrderSend(). Mожет быть любым из следующих величин:
Константа
Значение
Описание
OP_BUY
0
Покупка
OP_SELL
1
Продажа
OP_BUYLIMIT
2
Отложенный ордер BUY LIMIT
OP_SELLLIMIT
3
Отложенный ордер SELL LIMIT
OP_BUYSTOP
4
Отложенный ордер BUY STOP
OP_SELLSTOP
5
Отложенный ордер SELL STOP
Уважаемый... незачем здесь понты колотить... если что-то тебе кажется глупостью, не надо отвечать, дай бог найдутся люди без мании величия... здесь раздел для новичков и если люди о чем-то спрашивают, значит им это не понятно... Далее: если бы в справке и в книге было бы все понятно написано, меня бы здесь не было. Теперь по сути: допустим, что у нас есть 3 ордера и все рыночные. Тогда при 3-х итерациях мы не попадем в блок 4 ни в одной из них. А после последней итерациисразу перейдем в блок 5, минуя блок 4. В блоке 5 присутствует переменная Tip, к-я объявлена в блоке 4. Но блок 4 не исполнялся. Значит переменная Tip не объявлена. Получается, что мы используе переменную прежде, чем ее объявим?
Aleksander: почему? компилятор выделил участок памяти под переменную есчё при первом проходе... и обращение к ней не вызовет ошибки...
Не ясен следующий момент: при первом проходе (при условии, что у нас все 3 ордера - рыночные), мы же не попадаем в блок 4, т.к. в блоке 3 выполняется условие if(OrderType()<2). Тогда следующий за ним опреатор continue заканчивает текущую итерацию и ПРОПУСКАЕТ блок 4, в к-м и объявлена переменная Tip. Значит переменная Tip не была объявлена при 1-м проходе (т.е. строка с объявлением переменной Tip не была исполнена)... И так все 3 итерации. Т.е. после 3-й итерации мы попадаем в блок 5, где используется переменная Tip, к-я получается не была объявлена ранее (т.е. строка-то с ее объявлением есть, но т.к. мы не попали ни разу в блок 4, то значит мы и не объявили эту переменную?)?
я имел в виду проход компилятора по тексту программки - обнаружив в любой точке функции определение переменной - метакомпилятор объявил эту переменную для использования ниже по тексту - не взирая на то, что фактически обращения к инициализации(обьявления) переменной не было... - такова среда :-)
int start() {
int l=1;
if (l == 2) {
int kk=99;
kk = 100;
}
}
if (kk != 10) { Print("net kk takoi peremennoi = ", kk); }
хоть и не было входа в условие - компилятор встретив инт - выделил ячейку памяти для переменной... хоть и не инициализировал её... в Принте она будет = 0
я имел в виду проход компилятора по тексту программки - обнаружив в любой точке функции определение переменной - метакомпилятор объявил эту переменную для использования ниже по тексту - не взирая на то, что фактически обращения к инициализации(обьявления) переменной не было... - такова среда :-)
хоть и не было входа в условие - компилятор встретив инт - выделил ячейку памяти для переменной... хоть и не инициализировал её... в Принте она будет = 0
Т.е. правильно ли я понял: компилятор, в отличие от терминала (грубо говоря) не выполняет циклы, а просто читает строки подряд и проверяет нет ли там ошибок... т.е. для него главное (что и является критерием наличия/отсутствия ошибки), чтобы строка (позиция), где была использована переменная шла ПОСЛЕ строки (позиции), где эта переменная была объявлена?
уважаемый... незачем такими крупными буквами тут писать... а то и глаза можно сломать :-)
и это... прежде чем вопросы задавать.. ты не пробовал в Метаедиторе СПРАВКУ прочитать? ВСЮ? для начала... чтобы не задавать глупостей насчёт типов и прочего....
===
Тип операций для функции OrderSend(). Mожет быть любым из следующих величин:
Теперь по сути: допустим, что у нас есть 3 ордера и все рыночные. Тогда при 3-х итерациях мы не попадем в блок 4 ни в одной из них. А после последней итерациисразу перейдем в блок 5, минуя блок 4. В блоке 5 присутствует переменная Tip, к-я объявлена в блоке 4. Но блок 4 не исполнялся. Значит переменная Tip не объявлена. Получается, что мы используе переменную прежде, чем ее объявим?
почему? компилятор выделил участок памяти под переменную есчё при первом проходе... и обращение к ней не вызовет ошибки...
Не ясен следующий момент: при первом проходе (при условии, что у нас все 3 ордера - рыночные), мы же не попадаем в блок 4, т.к. в блоке 3 выполняется условие if(OrderType()<2). Тогда следующий за ним опреатор continue заканчивает текущую итерацию и ПРОПУСКАЕТ блок 4, в к-м и объявлена переменная Tip. Значит переменная Tip не была объявлена при 1-м проходе (т.е. строка с объявлением переменной Tip не была исполнена)... И так все 3 итерации. Т.е. после 3-й итерации мы попадаем в блок 5, где используется переменная Tip, к-я получается не была объявлена ранее (т.е. строка-то с ее объявлением есть, но т.к. мы не попали ни разу в блок 4, то значит мы и не объявили эту переменную?)?
я имел в виду проход компилятора по тексту программки - обнаружив в любой точке функции определение переменной - метакомпилятор объявил эту переменную для использования ниже по тексту - не взирая на то, что фактически обращения к инициализации(обьявления) переменной не было... - такова среда :-)
хоть и не было входа в условие - компилятор встретив инт - выделил ячейку памяти для переменной... хоть и не инициализировал её... в Принте она будет = 0
я имел в виду проход компилятора по тексту программки - обнаружив в любой точке функции определение переменной - метакомпилятор объявил эту переменную для использования ниже по тексту - не взирая на то, что фактически обращения к инициализации(обьявления) переменной не было... - такова среда :-)
хоть и не было входа в условие - компилятор встретив инт - выделил ячейку памяти для переменной... хоть и не инициализировал её... в Принте она будет = 0
Т.е. правильно ли я понял: компилятор, в отличие от терминала (грубо говоря) не выполняет циклы, а просто читает строки подряд и проверяет нет ли там ошибок... т.е. для него главное (что и является критерием наличия/отсутствия ошибки), чтобы строка (позиция), где была использована переменная шла ПОСЛЕ строки (позиции), где эта переменная была объявлена?
можно и так сказать :-) если ты обьявление сделаешь ниже - а обратишься к переменной выше по тексту - то компилятор сгенерирует ошибку...
С этим понятно, большое спасибо... По GV-переменным можешь подсказать?
а с ними что? - глобальные на уровне Терминала?
хранят некоторое время в файле переменных :-) дату обращения, имя и значение типа double