Скачать MetaTrader 5

Выложен обновленный билд 188

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
187134
MetaQuotes Software Corp.  
Выложен обновленный билд 188 с исправлениями ошибок, выясленными за последнюю неделю.
Обновить терминал можно скачав дистрибутив по ссылке: "торговый терминал MetaTrader 4"

Спасибо всем за обсуждения, настойчивость и помощь в поиске ошибок!
Forex Trader
114293
Forex Trader  
Писал на форуме, писал в письме, однако так и не обратили внимания. Функции типа i...OnArray работают не корректно. Когда функция обрабатывает часть массива, то все работает правильно. Когда же функция обрабатывает весь массив целиком (т.е. параметр period равен количеству элементов массива), то возвращаются какие-то непонятные значения. Например скрипт:
int start()
{
double Array[4]={1.0,2.0,3.0,4.0};
Print(iMAOnArray(Array,0,4,0,MODE_SMA,0));
return(0);
}

печатает в логе "0", хотя должно "2.5".
Точно такая же ерунда с iStdDevOnArray, iBandsOnArray. Остальные не проверял.

Forex Trader
114293
Forex Trader  
Когда же функция обрабатывает весь массив целиком (т.е. параметр period равен количеству элементов массива)

Для выбора количества обрабатываемых элементов массива используется параметр total, а не period.
Forex Trader
114293
Forex Trader  
Да при чем здесь количество обрабатываемых элементов. При total равном 0 обрабатывается весь массив. Я совсем о другом. Найдите среднее значение всего массива, используя iMAOnArray. Я же привел пример.
Forex Trader
114293
Forex Trader  
Да, действительно.
Тогда, наверно, разработчикам имеет смысл в справке по iMAOnArray() дать явное указание на то, что параметр period должен быть меньше либо количества элементов в массиве, либо параметра total, если он не нулевой.
Forex Trader
114293
Forex Trader  
KimIV, неужели у тебя получилось? А то я уже начал думать, что с ума сошел. Привязался тут с фигней какой-то, которая не нужна никому.
Forex Trader
114293
Forex Trader  
KimIV, неужели у тебя получилось?

Да, получилось. Пример-то ведь простой и наглядный :-)
Я пробовал так
double Array[4]={1, 2, 3, 4};
string comm=iMAOnArray(Array, 0, 3, 0, MODE_SMA, 1);
Comment(comm);


пишет 2,00...
и так пробовал

double Array[4]={1, 2, 3, 4};
string comm=iMAOnArray(Array, 0, 3, 0, MODE_SMA, 0);
Comment(comm);


пишет 3,00...
и эдак

double Array[4]={1, 2, 3, 4};
string comm=iMAOnArray(Array, 0, 4, 0, MODE_SMA, 0);
Comment(comm);


пишет 0,00..., хотя по алгоритму расчёта средней должно быть 2,50...

Уважаемые разработчики, почему так?

Forex Trader
114293
Forex Trader  
Вот об этом я и пытаюсь уже какой раз сказать. iStdDevOnArray и iBandsOnArray такую же ерунду выдают. Спасибо хоть один услышал.
Forex Trader
114293
Forex Trader  
Код

double Array[5]={0, 1, 2, 3, 4};
string comm=DoubleToStr(iMAOnArray(Array, 0, 4, 0, MODE_SMA, 0), 2);
Comment(comm);



дает 2.5, а

double Array[5]={0, 1, 2, 3, 4};
string comm=DoubleToStr(iMAOnArray(Array, 0, 5, 0, MODE_SMA, 0), 2);
Comment(comm);



дает 0. Прямо чудеса...

Forex Trader
114293
Forex Trader  
Код

double Array[5]={0, 1, 2, 3, 4};
string comm=DoubleToStr(iMAOnArray(Array, 0, 4, 0, MODE_SMA, 0), 2);
Comment(comm);



дает 2.5, а

double Array[5]={0, 1, 2, 3, 4};
string comm=DoubleToStr(iMAOnArray(Array, 0, 5, 0, MODE_SMA, 0), 2);
Comment(comm);



дает 0. Прямо чудеса...



Elementov masiva 5, no opisanno 4, piatyj = unknown, vot i polu4ajetsia random potomu dumaju...:-)

Err, nidosmotrel nulia, no paprobuite pervyj element ostavit' v pakoje. Ili jes4io sdies' elementa array = 0..5 a ne 1..5
Forex Trader
114293
Forex Trader  
Fix:

double Array[4]={0, 1, 2, 3, 4};



A patom smotrite.

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий