переполнение буфера или глюки терминала или?

 

Привет всем.

Хочу написать индюка который будет отслежовать напрвление других свтороенный в него индикаторов и выносить свой вердикт. Внутри него будет 3-4 индикатора и ориентируясь на их значения будет чтото типа нечеткой логики, в зависимости от смены направления состваляющих индюков, нпример рси, сма разных периодов. Все было нормально пока с вчерашнего дня не полезли дикие траблы. Код не хотел комиплится на ровном месте. Сегодня компилится хотя изменений ноль. Пробовал на 2-х терминалах, один от бкс, второй от форекс.ком

Сегодня компилится но вся жесть в том что перменные произвольно меняют свои значения при исполнении кода

double d1=r-rm;
double d2=r1-r;
double g1=grub*(-1);
double g2=grub*(-1);


if (Sound == true)
{

if(d1>grub&&d2>grub2) {Comment("тренд на верх пора покупать d1= ", d1," d2= ", d2, " ",rm," ",r," ",r1);}

if(d1<g1&&d2<g2) {Comment("тренд на низ пора продавать d1= ", d1," d2= ", d2, " ",rm," ",r," ",r1);}


Вот переменные вывожу так они меняются, значения переменных получаю из буфера индикатора. Вообщем меняются неоправданно, то что вижу по значениям инд.ка не совпадает со значениями коментраиев.

 
NIkolay2000:

Привет всем.

Хочу написать индюка который будет отслежовать напрвление других свтороенный в него индикаторов и выносить свой вердикт. Внутри него будет 3-4 индикатора и ориентируясь на их значения будет чтото типа нечеткой логики, в зависимости от смены направления состваляющих индюков, нпример рси, сма разных периодов. Все было нормально пока с вчерашнего дня не полезли дикие траблы. Код не хотел комиплится на ровном месте. Сегодня компилится хотя изменений ноль. Пробовал на 2-х терминалах, один от бкс, второй от форекс.ком

Сегодня компилится но вся жесть в том что перменные произвольно меняют свои значения при исполнении кода

Я бы малость сделал по другому

double d1=r-rm;
double d2=r1-r;
double g1=grub*(-1);
double g2=grub*(-1);


if (Sound == true)
{
Comment("Нет ничего");
if(d1>grub&&d2>grub2) {Comment("тренд на верх пора покупать d1= ", d1," d2= ", d2, " ",rm," ",r," ",r1);}


if(d1<g1&&d2<g2) {Comment("тренд на низ пора продавать d1= ", d1," d2= ", d2, " ",rm," ",r," ",r1);}
 
Vinin:

Я бы малость сделал по другому


Спасибо. Конструктивно. Пока выискиваю ошибки в переменных, вернее в их параметрах а также в получении значении инд.ков через iCustom и через буфера.
 
NIkolay2000:

Спасибо. Конструктивно. Пока выискиваю ошибки в переменных, вернее в их параметрах а также в получении значении инд.ков через iCustom и через буфера.

Понятийно

Ошибки тока в них -

в понятии переменных, параметров и СОСТОЯНИя...

;)

 
Так вот эти перменные меня и напрягаю меняются в сумашедшем диапазоне без видимых причин, график адекватный а вот перменные вообще гуляют дико. А я пытаюсь ориентироватся на значение сглаженного рси. Файл приатачил. Идет вывод в коменты и прнтом в журнал.
 
NIkolay2000:
Так вот эти перменные меня и напрягаю меняются в сумашедшем диапазоне без видимых причин, график адекватный а вот перменные вообще гуляют дико. А я пытаюсь ориентироватся на значение сглаженного рси. Файл приатачил. Идет вывод в коменты и прнтом в журнал.


Надо бы вначале заглядывание в будущее убрать.

Вернее всего выход за пределы массива

 
Vinin:


Надо бы вначале заглядывание в будущее убрать.

Вернее всего выход за пределы массива


А может тогда лучше массив растянуть, или в циклах чего поменять. А то i-1 это не будующее а как раз настоящее. I-значение предыдущего часа, і+1 - еще раньше данные берет.
 
NIkolay2000:

А может тогда лучше массив растянуть, или в циклах чего поменять. А то i-1 это не будующее а как раз настоящее. I-значение предыдущего часа, і+1 - еще раньше данные берет.

i-1 Это будущий бар. Особенно при i=0
Причина обращения: