nikelodeon: Ну а вы в курсе что когда рисуется линия, указывается начальное время и конечное ну и соответственно цена. А для буфера необходимо организовывать цикл по всем барам. Вы бы сначала код глянули, а потом советы давали. А то толку от Ваших советов 0......
Вот как раз цену и надо сувать в буфер.
А цикл нужен исключительно для того, чтобы показания были для всех баров. Точнее для красоты, а работают все, как правило с показаниями последних двух баров, 0 и 1.
Если в индикаторе не предусмотрена обработка всех баров, видимо она и не нужна.
Мне так-же как и многим лениво колупать этот код, а может даже ленивей чем всем вместе взятым, а ты мне советуешь посмотреть код... оно мне надо? Просил в двух словах. Каков вопрос таков и ответ. А если от моих советов толку 0, значит не тому советую.
А цикл нужен исключительно для того, чтобы показания были для всех баров. Точнее для красоты, а работают все, как правило с показаниями последних двух баров, 0 и 1.
Если в индикаторе не предусмотрена обработка всех баров, видимо она и не нужна.
Мне так-же как и многим лениво колупать этот код, а может даже ленивей чем всем вместе взятым, а ты мне советуешь посмотреть код... оно мне надо? Просил в двух словах. Каков вопрос таков и ответ. А если от моих советов толку 0, значит не тому советую.
Действительно не тому, Я хоть и программирую так себе, но всё таки пишу код, каким бы кривым он не был. И сама суть вопроса заключается в том. КАК организовать цикл для буфера, чтобы отображались уровни опционов на истории. Что бы можно было потом поработать с этой историей, проверить гипотезу и сохранить данные. Нужно организовать грамотный цикл. Тут я думаю задачка и становится интересной...... Но вот идеи в голову не идут совсем.... каким способом это сделать. Чувствую нужно привязываться к датам и как то от них плясать. Но тут вылазит проблема с тайм фреймом. Вообщем задачка оказывается та ещё.... Хотелось бы услышать мнение по подробней. А то что в буфер нужно записывать цену!!!! Ну не настолько уж я тупой, поверь, чтоб этого не понимать.....
Действительно не тому, Я хоть и программирую так себе, но всё таки пишу код, каким бы кривым он не был. И сама суть вопроса заключается в том. КАК организовать цикл для буфера, чтобы отображались уровни опционов на истории. Что бы можно было потом поработать с этой историей, проверить гипотезу и сохранить данные. Нужно организовать грамотный цикл. Тут я думаю задачка и становится интересной...... Но вот идеи в голову не идут совсем.... каким способом это сделать. Чувствую нужно привязываться к датам и как то от них плясать. Но тут вылазит проблема с тайм фреймом. Вообщем задачка оказывается та ещё.... Хотелось бы услышать мнение по подробней. А то что в буфер нужно записывать цену!!!! Ну не настолько уж я тупой, поверь, чтоб этого не понимать.....
Так вот он, весь цикл на месте и организован правильно и буферы заполняются.
for(i=limit; i>=0; i--){
if ((Close[i+5]>Level1)&&(Open[i+5]>Level1)&&(Close[i]>Level1)&&(Open[i]>Level1)&&(Close[i+1]>Level1)&&(Open[i+1]>Level1)&&(Close[i+2]>Level1)&&(Open[i+2]>Level1)&&(Close[i+3]>Level1)&&(Open[i+3]>Level1)&&(Close[i+4]>Level1)&&(Open[i+4]>Level1)) qLevel1=Level1+EnterUP;
if ((Close[i+5]<Level1)&&(Open[i+5]<Level1)&&(Close[i]<Level1)&&(Open[i]<Level1)&&(Close[i+1]<Level1)&&(Open[i+1]<Level1)&&(Close[i+2]<Level1)&&(Open[i+2]<Level1)&&(Close[i+3]<Level1)&&(Open[i+3]<Level1)&&(Close[i+4]<Level1)&&(Open[i+4]<Level1)) qLevel1=Level1-EnterDw;
if ((Close[i+5]>Level2)&&(Open[i+5]>Level2)&&(Close[i]>Level2)&&(Open[i]>Level2)&&(Close[i+1]>Level2)&&(Open[i+1]>Level2)&&(Close[i+2]>Level2)&&(Open[i+2]>Level2)&&(Close[i+3]>Level2)&&(Open[i+3]>Level2)&&(Close[i+4]>Level2)&&(Open[i+4]>Level2)) qLevel2=Level2+EnterUP;
if ((Close[i+5]<Level2)&&(Open[i+5]<Level2)&&(Close[i]<Level2)&&(Open[i]<Level2)&&(Close[i+1]<Level2)&&(Open[i+1]<Level2)&&(Close[i+2]<Level2)&&(Open[i+2]<Level2)&&(Close[i+3]<Level2)&&(Open[i+3]<Level2)&&(Close[i+4]<Level2)&&(Open[i+4]<Level2)) qLevel2=Level2-EnterDw;
if ((Close[i+5]>Level3)&&(Open[i+5]>Level3)&&(Close[i]>Level3)&&(Open[i]>Level3)&&(Close[i+1]>Level3)&&(Open[i+1]>Level3)&&(Close[i+2]>Level3)&&(Open[i+2]>Level3)&&(Close[i+3]>Level3)&&(Open[i+3]>Level3)&&(Close[i+4]>Level3)&&(Open[i+4]>Level3)) qLevel3=Level3+EnterUP;
if ((Close[i+5]<Level3)&&(Open[i+5]<Level3)&&(Close[i]<Level3)&&(Open[i]<Level3)&&(Close[i+1]<Level3)&&(Open[i+1]<Level3)&&(Close[i+2]<Level3)&&(Open[i+2]<Level3)&&(Close[i+3]<Level3)&&(Open[i+3]<Level3)&&(Close[i+4]<Level3)&&(Open[i+4]<Level3)) qLevel3=Level3-EnterDw;
if ((Close[i+5]>Level4)&&(Open[i+5]>Level4)&&(Close[i]>Level4)&&(Open[i]>Level4)&&(Close[i+1]>Level4)&&(Open[i+1]>Level4)&&(Close[i+2]>Level4)&&(Open[i+2]>Level4)&&(Close[i+3]>Level4)&&(Open[i+3]>Level4)&&(Close[i+4]>Level4)&&(Open[i+4]>Level4)) qLevel4=Level4+EnterUP;
if ((Close[i+5]<Level4)&&(Open[i+5]<Level4)&&(Close[i]<Level4)&&(Open[i]<Level4)&&(Close[i+1]<Level4)&&(Open[i+1]<Level4)&&(Close[i+2]<Level4)&&(Open[i+2]<Level4)&&(Close[i+3]<Level4)&&(Open[i+3]<Level4)&&(Close[i+4]<Level4)&&(Open[i+4]<Level4)) qLevel4=Level4-EnterDw;
if ((Close[i+5]>Level5)&&(Open[i+5]>Level5)&&(Close[i]>Level5)&&(Open[i]>Level5)&&(Close[i+1]>Level5)&&(Open[i+1]>Level5)&&(Close[i+2]>Level5)&&(Open[i+2]>Level5)&&(Close[i+3]>Level5)&&(Open[i+3]>Level5)&&(Close[i+4]>Level5)&&(Open[i+4]>Level5)) qLevel5=Level5+EnterUP;
if ((Close[i+5]<Level5)&&(Open[i+5]<Level5)&&(Close[i]<Level5)&&(Open[i]<Level5)&&(Close[i+1]<Level5)&&(Open[i+1]<Level5)&&(Close[i+2]<Level5)&&(Open[i+2]<Level5)&&(Close[i+3]<Level5)&&(Open[i+3]<Level5)&&(Close[i+4]<Level5)&&(Open[i+4]<Level5)) qLevel5=Level5-EnterDw;
if ((Close[i+5]>Level6)&&(Open[i+5]>Level6)&&(Close[i]>Level6)&&(Open[i]>Level6)&&(Close[i+1]>Level6)&&(Open[i+1]>Level6)&&(Close[i+2]>Level6)&&(Open[i+2]>Level6)&&(Close[i+3]>Level6)&&(Open[i+3]>Level6)&&(Close[i+4]>Level6)&&(Open[i+4]>Level6)) qLevel6=Level6+EnterUP;
if ((Close[i+5]<Level6)&&(Open[i+5]<Level6)&&(Close[i]<Level6)&&(Open[i]<Level6)&&(Close[i+1]<Level6)&&(Open[i+1]<Level6)&&(Close[i+2]<Level6)&&(Open[i+2]<Level6)&&(Close[i+3]<Level6)&&(Open[i+3]<Level6)&&(Close[i+4]<Level6)&&(Open[i+4]<Level6)) qLevel6=Level6-EnterDw;
if ((Close[i+5]>Level7)&&(Open[i+5]>Level7)&&(Close[i]>Level7)&&(Open[i]>Level7)&&(Close[i+1]>Level7)&&(Open[i+1]>Level7)&&(Close[i+2]>Level7)&&(Open[i+2]>Level7)&&(Close[i+3]>Level7)&&(Open[i+3]>Level7)&&(Close[i+4]>Level7)&&(Open[i+4]>Level7)) qLevel7=Level7+EnterUP;
if ((Close[i+5]<Level7)&&(Open[i+5]<Level7)&&(Close[i]<Level7)&&(Open[i]<Level7)&&(Close[i+1]<Level7)&&(Open[i+1]<Level7)&&(Close[i+2]<Level7)&&(Open[i+2]<Level7)&&(Close[i+3]<Level7)&&(Open[i+3]<Level7)&&(Close[i+4]<Level7)&&(Open[i+4]<Level7)) qLevel7=Level7-EnterDw;
if ((Close[i+5]>Level8)&&(Open[i+5]>Level8)&&(Close[i]>Level8)&&(Open[i]>Level8)&&(Close[i+1]>Level8)&&(Open[i+1]>Level8)&&(Close[i+2]>Level8)&&(Open[i+2]>Level8)&&(Close[i+3]>Level8)&&(Open[i+3]>Level8)&&(Close[i+4]>Level8)&&(Open[i+4]>Level8)) qLevel8=Level8+EnterUP;
if ((Close[i+5]<Level8)&&(Open[i+5]<Level8)&&(Close[i]<Level8)&&(Open[i]<Level8)&&(Close[i+1]<Level8)&&(Open[i+1]<Level8)&&(Close[i+2]<Level8)&&(Open[i+2]<Level8)&&(Close[i+3]<Level8)&&(Open[i+3]<Level8)&&(Close[i+4]<Level8)&&(Open[i+4]<Level8)) qLevel8=Level8-EnterDw;
if ((Close[i+5]>Level9)&&(Open[i+5]>Level9)&&(Close[i]>Level9)&&(Open[i]>Level9)&&(Close[i+1]>Level9)&&(Open[i+1]>Level9)&&(Close[i+2]>Level9)&&(Open[i+2]>Level9)&&(Close[i+3]>Level9)&&(Open[i+3]>Level9)&&(Close[i+4]>Level9)&&(Open[i+4]>Level9)) qLevel9=Level9+EnterUP;
if ((Close[i+5]<Level9)&&(Open[i+5]<Level9)&&(Close[i]<Level9)&&(Open[i]<Level9)&&(Close[i+1]<Level9)&&(Open[i+1]<Level9)&&(Close[i+2]<Level9)&&(Open[i+2]<Level9)&&(Close[i+3]<Level9)&&(Open[i+3]<Level9)&&(Close[i+4]<Level9)&&(Open[i+4]<Level9)) qLevel9=Level9-EnterDw;
if ((Close[i+5]>Level10)&&(Open[i+5]>Level10)&&(Close[i]>Level10)&&(Open[i]>Level10)&&(Close[i+1]>Level10)&&(Open[i+1]>Level10)&&(Close[i+2]>Level10)&&(Open[i+2]>Level10)&&(Close[i+3]>Level10)&&(Open[i+3]>Level10)&&(Close[i+4]>Level10)&&(Open[i+4]>Level10)) qLevel10=Level10+EnterUP;
if ((Close[i+5]<Level10)&&(Open[i+5]<Level10)&&(Close[i]<Level10)&&(Open[i]<Level10)&&(Close[i+1]<Level10)&&(Open[i+1]<Level10)&&(Close[i+2]<Level10)&&(Open[i+2]<Level10)&&(Close[i+3]<Level10)&&(Open[i+3]<Level10)&&(Close[i+4]<Level10)&&(Open[i+4]<Level10)) qLevel10=Level10-EnterDw;
Buffer1[i]=qLevel1;
Buffer2[i]=qLevel2;
Buffer3[i]=qLevel3;
Buffer4[i]=qLevel4;
Buffer5[i]=qLevel5;
Buffer6[i]=qLevel6;
Buffer7[i]=qLevel7;
Buffer8[i]=qLevel8;
Buffer9[i]=qLevel9;
Buffer10[i]=qLevel10;
//Buffer11[i]=LevelsVerticalShift;
}
Но к этому индикатору должен быть какой-то файл. Что в нём должно быть не известно.
Сохраняйте значения Трендовых линий (горизонтальных отрезков) в Терминальные переменные, которые для каждой линии могут принимать вид элементов массива (если Вам захочется их считывать в цикле): {Line[0][0], Line[0][1], Line[0][2]..}, {Line[1][0], Line[1][1], Line[1][2]..} и т.п. Еще одна Терм.переменная "Status 0/1" понадобится для того чтобы указать другому индикатору/советнику когда необходимо считать параметры новой линии, после чего вернуть "Status" в исходное положение. Если линии считываются не все сразу, а по мере поступления то можно обойтись только одним набором Line[][].
ДД! Не могу открыть одно окно в терминале. Зависает напрочь. Там какой то индикатор вешает наглухо и не дает открыться окну. Подскажите пожалуйста, как можно посмотреть какие индикаторы установлены на этом графике. Спасибо!
smart: ДД! Не могу открыть одно окно в терминале. Зависает напрочь. Там какой то индикатор вешает наглухо и не дает открыться окну. Подскажите пожалуйста, как можно посмотреть какие индикаторы установлены на этом графике. Спасибо!
Придется Вам покопаться в папке "profiles". Посмотрите имя активного профиля, а в его папке в файлах chart*** найдете индикаторы, один из них создает проблемы. Проще при выключенном МТ4 изменить название папки "profiles" на "profiles_", а после перезапуска МТ4 сгенерирует новую - все это на Ваш риск и страх! ;-)))
atztek: Придется Вам покопаться в папке "profiles". Посмотрите имя активного профиля, а в его папке в файлах chart*** найдете индикаторы, один из них создает проблемы. Проще при выключенном МТ4 изменить название папки "profiles" на "profiles_", а после перезапуска МТ4 сгенерирует новую - все это на Ваш риск и страх! ;-)))
Как из profile увидеть индикаторы? Например открываю chart*** и как дальше.
Ну а вы в курсе что когда рисуется линия, указывается начальное время и конечное ну и соответственно цена. А для буфера необходимо организовывать цикл по всем барам. Вы бы сначала код глянули, а потом советы давали. А то толку от Ваших советов 0......
Вот как раз цену и надо сувать в буфер.
А цикл нужен исключительно для того, чтобы показания были для всех баров. Точнее для красоты, а работают все, как правило с показаниями последних двух баров, 0 и 1.
Если в индикаторе не предусмотрена обработка всех баров, видимо она и не нужна.
Мне так-же как и многим лениво колупать этот код, а может даже ленивей чем всем вместе взятым, а ты мне советуешь посмотреть код... оно мне надо? Просил в двух словах. Каков вопрос таков и ответ. А если от моих советов толку 0, значит не тому советую.
Вот как раз цену и надо сувать в буфер.
А цикл нужен исключительно для того, чтобы показания были для всех баров. Точнее для красоты, а работают все, как правило с показаниями последних двух баров, 0 и 1.
Если в индикаторе не предусмотрена обработка всех баров, видимо она и не нужна.
Мне так-же как и многим лениво колупать этот код, а может даже ленивей чем всем вместе взятым, а ты мне советуешь посмотреть код... оно мне надо? Просил в двух словах. Каков вопрос таков и ответ. А если от моих советов толку 0, значит не тому советую.
Действительно не тому, Я хоть и программирую так себе, но всё таки пишу код, каким бы кривым он не был. И сама суть вопроса заключается в том. КАК организовать цикл для буфера, чтобы отображались уровни опционов на истории. Что бы можно было потом поработать с этой историей, проверить гипотезу и сохранить данные. Нужно организовать грамотный цикл. Тут я думаю задачка и становится интересной...... Но вот идеи в голову не идут совсем.... каким способом это сделать. Чувствую нужно привязываться к датам и как то от них плясать. Но тут вылазит проблема с тайм фреймом. Вообщем задачка оказывается та ещё.... Хотелось бы услышать мнение по подробней. А то что в буфер нужно записывать цену!!!! Ну не настолько уж я тупой, поверь, чтоб этого не понимать.....
Действительно не тому, Я хоть и программирую так себе, но всё таки пишу код, каким бы кривым он не был. И сама суть вопроса заключается в том. КАК организовать цикл для буфера, чтобы отображались уровни опционов на истории. Что бы можно было потом поработать с этой историей, проверить гипотезу и сохранить данные. Нужно организовать грамотный цикл. Тут я думаю задачка и становится интересной...... Но вот идеи в голову не идут совсем.... каким способом это сделать. Чувствую нужно привязываться к датам и как то от них плясать. Но тут вылазит проблема с тайм фреймом. Вообщем задачка оказывается та ещё.... Хотелось бы услышать мнение по подробней. А то что в буфер нужно записывать цену!!!! Ну не настолько уж я тупой, поверь, чтоб этого не понимать.....
Так вот он, весь цикл на месте и организован правильно и буферы заполняются.
Но к этому индикатору должен быть какой-то файл. Что в нём должно быть не известно.
Так вот он, весь цикл на месте и организован правильно и буферы заполняются.
Но к этому индикатору должен быть какой-то файл. Что в нём должно быть не известно.
Кто же такие страшные вещи делает. А подумать автору не можется?
ДД! Не могу открыть одно окно в терминале. Зависает напрочь. Там какой то индикатор вешает наглухо и не дает открыться окну. Подскажите пожалуйста, как можно посмотреть какие индикаторы установлены на этом графике. Спасибо!
Посмотрите имя активного профиля, а в его папке в файлах chart*** найдете индикаторы, один из них создает проблемы. Проще при выключенном МТ4 изменить название папки "profiles" на "profiles_", а после перезапуска МТ4 сгенерирует новую - все это на Ваш риск и страх! ;-)))
Придется Вам покопаться в папке "profiles".
Посмотрите имя активного профиля, а в его папке в файлах chart*** найдете индикаторы, один из них создает проблемы. Проще при выключенном МТ4 изменить название папки "profiles" на "profiles_", а после перезапуска МТ4 сгенерирует новую - все это на Ваш риск и страх! ;-)))