Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Чтение параметров из файла? Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
CherrLy



Зарегистрирован: 23.07.2009
Сообщения: 20

СообщениеДобавлено: Пт Окт 30, 2009 4:22 pm Ответить с цитатой Вернуться к началу

Нужно реализовать следующую вещь:
есть некоторый индикатор, для его вычисления нужны определённые параметры, которые с течением времени меняются. Т.е. фактически например 10 числа были параметры (-3, -2, -1), 12 числа (-2, -1, -6) и так далее. Нужно сделать так, чтобы амиброкер рисовал непрерывный график с учётом изменения этих параметров.
Пока вижу только 1 выход - хранить параметры в файле в виде:

Код:

10.10.2009, -3, -2, -1
12.10.2009, -2, -1, -6
13.10.2009, -4, -2, -2
...


Перед построением индикатора считывать файл и потом только считать сам индикатор. Но вижу проблемы:
1) в ами насколько мне известно нет многомерных массивов, куда после прочтения файла запихнуть полученные данные?
2) индикатор будет считаться for i=1 to barcount, как получить дату текущего бара чтобы сравнить её с датой из файла чтобы получить актуальные на эту дату параметры?

Может есть более простые модели реализации, как хранить эти коэфициенты?

Заранее спасибо.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пт Окт 30, 2009 4:52 pm Ответить с цитатой Вернуться к началу

А эти коэффициенты в ручную расчитываются/вводятся?

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CherrLy



Зарегистрирован: 23.07.2009
Сообщения: 20

СообщениеДобавлено: Пт Окт 30, 2009 5:13 pm Ответить с цитатой Вернуться к началу

В том то и дело, что да. Они считаются в Excel, и не так часто, смена коэффицинтов может производиться 1 раз в несколько дней.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вс Ноя 01, 2009 7:30 pm Ответить с цитатой Вернуться к началу

Завтра сделаю.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Пн Ноя 02, 2009 12:38 pm Ответить с цитатой Вернуться к началу

В общем так.
В папке Amibroker создаем файл qqq.test
с содержимым
Код:

1081111, -3, 2, -1
1090115, 2, -1, -6
1090515, -4, -3, -1

первая цифра - дата в формате
10000 * (год - 1900) + 100 * месяц + день, например 2001-12-31 даст 1011231 и 1995-12-31 даст 951231
Далее через запятую без пробелов 3 цифры параметры

Вот такой код
Код:

D = DateNum();
x = y = z = 0;

fh = fopen("qqq.test", "r");
if( fh ) {
  str = fgets( fH );
  Dat = StrToNum(StrExtract(str, 0));

  for(i = 1; i < BarCount; i++)
  {
    if(D[i] == Dat) {
      x[i] = StrToNum(StrExtract(str, 1));
      y[i] = StrToNum(StrExtract(str, 2));
      z[i] = StrToNum(StrExtract(str, 3));

      str = fgets( fH );
      Dat = StrToNum(StrExtract(str, 0));
    }
    else {
      x[i] = x[i-1];
      y[i] = y[i-1];
      z[i] = z[i-1];
    }

  }

  fclose( fh );
}
Plot(x, "x", colorRed);
Plot(y, "y", colorBlue);
Plot(z, "z", colorGreen);

рисует такую картинку

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
CherrLy



Зарегистрирован: 23.07.2009
Сообщения: 20

СообщениеДобавлено: Пн Ноя 02, 2009 3:46 pm Ответить с цитатой Вернуться к началу

Спасибо огромное!!! Именно то, что нужно!
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen