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


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

СообщениеДобавлено: Ср Июн 25, 2008 3:36 am Ответить с цитатой Вернуться к началу

Лежит тут: http://amisite.ru/afl/ind/0007.htm
Всем хорош, но если в экспортируемом массиве есть значения Empty, то экспортировать не хочет.

Решается перекруткой Empty в нолик.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Июн 25, 2008 7:40 am Ответить с цитатой Вернуться к началу

Исправил.

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



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

СообщениеДобавлено: Пт Фев 26, 2010 11:03 am Ответить с цитатой Вернуться к началу

А не подскажете, что тут надо изменить, чтобы писать в файл не все значения индикатора, а только его 10 последних(крайних правых, если смотреть на графике) значений ? Иначе говоря, чтоб в файл записывались только 10 последних строчек.

И еще вопрос - на каждом новом баре скрипт записывает в файл все значения индикатора (имеющиеся на графике) заново(т.е. старые строчки тоже перезаписывает) или на каждом новом баре дописывает в файл только 1новую строчку, а предыдущие строки(которые были записаны ранее) не трогает ?

Код:


SetBarsRequired(100000, 0);
s = ParamStr("File Name", "");
p = ParamField("that to export?", - 1);
e = ParamToggle("export", "No|Yes", 0);

p = Nz(p);

if(e)
{
   a =Name();
   fh = fopen( s+".txt", "w");
   if( fh )
   {
      ymdt = DateTime();

      for( i = 0 ; i < BarCount; i++ )
      {
         ds = StrReplace( DateTimeToStr(ymdt[i]), " ", ";") + ";" + NumToStr (p[i], 1.4, False )+"\n";
         fputs( ds, fh );
      }
      fclose( fh );
   }
}

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


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

СообщениеДобавлено: Пт Фев 26, 2010 1:14 pm Ответить с цитатой Вернуться к началу

Каждый раз перезаписывает все значения.
Чтобы писал только 10 последних вот эту строку
Код:

for( i = 0 ; i < BarCount; i++ )

Надо написать вот так
Код:

for( i = BarCount -10 ; i < BarCount; i++ )

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



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

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

Спасибо, язык Ами отличная штука, что такие вещи позволяет делать.
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen