Автор |
Сообщение |
dmitry1208197320
Зарегистрирован: 23.10.2009
Сообщения: 86
|
Здравствуйте. Мне нужно написать робот, чтобы выдавался сигнал при достижении спреда определённого уровня, при этом предыдущий спред тоже должен иметь определённое значение. Я делаю так:
//вычисляем спред
CloseSymbol_1 = Foreign("CLH0", "Close");
CloseSymbol_2 = Foreign("CLJ0", "Close");
ValueSpread = CloseSymbol_1 - CloseSymbol_2;
//вычисляем последнее значение
LastVal_1 = Ref(ValueSpread, 0);
//ваычисляем предыдущее значение
PrevVal_1 = Ref(ValueSpread, -1);
...........
Я так понял, что полученные с помощью Ref переменные LastVal_1 и PrevVal_1 - это массиы. Но мне не нужны массивы, мне нужны просто числа, в которых соответственно содержиться последнее значение спреда и предыдущее. Что мне извлекать эти числа в цикле for типа:
for( i = 1; i < BarCount-1; i++ ) ......;
Ведь это неоптимально. Может есть какая-то функция, преобразующая массив в число? |
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
LastValue() - последнее значение массива
или так
Код: |
LastVal_1 = ValueSpread[BarCount - 1];
PrevVal_1 = ValueSpread[BarCount - 2]; |
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
dmitry1208197320
Зарегистрирован: 23.10.2009
Сообщения: 86
|
Попробовал, выдаётся ошибка в AFL:
"Error 10. Subscript out of range. You must not access array elements outside 0..(BarCount-1) range" |
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Странно. Я как раз и беру последнее значение массива ValueSpread[BarCount - 1];
Сейчас проверить не могу. Только вечером гляну. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
dmitry1208197320
Зарегистрирован: 23.10.2009
Сообщения: 86
|
Олег, я понял - у меня для текущего тикера не было данных, поэтому и ошибка выхода за пределы диапазона возникала. Загрузил данные - всё нормально! |
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|