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



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

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

Мне нужно знать дату и время создания файла данных. Как это сделать?
Посмотреть профиль Отправить личное сообщение
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

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

X-Story писал(а):
Мне нужно знать дату и время создания файла данных. Как это сделать?

В установленной директории смотрим дату изменения.
Или о каких данных идет речь?

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
X-Story



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

СообщениеДобавлено: Ср Янв 13, 2016 7:21 pm Ответить с цитатой Вернуться к началу

MrDzenLi писал(а):
X-Story писал(а):
Мне нужно знать дату и время создания файла данных. Как это сделать?

В установленной директории смотрим дату изменения.
Или о каких данных идет речь?


Как посмотреть ручками и глазками я знаю! Smile Спасибо, конечно, за подсказку! А вот как Ами научить это делать автоматически, чтобы он оповещал меня о сбоях в передаче данных. Вот в чем вопрос. Smile
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Янв 13, 2016 9:25 pm Ответить с цитатой Вернуться к началу

На AFL никак. Надо делать вставку на жабе или ВБ

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



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

СообщениеДобавлено: Ср Янв 13, 2016 9:37 pm Ответить с цитатой Вернуться к началу

000 писал(а):
На AFL никак. Надо делать вставку на жабе или ВБ


Спасибо, Олег! Жаль! Sad

С Новым Старым Годом! Smile
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Ср Янв 13, 2016 11:51 pm Ответить с цитатой Вернуться к началу

Почему жаль? Это такая проблема? Ща глянул. В javascript это делается через
CreateObject("Scripting.FileSystemObject")
А в AFL тоже можно работать с COM объектами.
Так что гугл, день ковыряния и все заработает. Smile

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



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

СообщениеДобавлено: Чт Янв 14, 2016 6:32 am Ответить с цитатой Вернуться к началу

000 писал(а):
Почему жаль? Это такая проблема? Ща глянул. В javascript это делается через
CreateObject("Scripting.FileSystemObject")
А в AFL тоже можно работать с COM объектами.
Так что гугл, день ковыряния и все заработает. Smile


Смотри. Есть твой модуль.
Код:

WriteSignal4H = IIf(SignalH4TS1_Up, 1,IIf(SignalH4TS1_Dn, -1,0));
Signal4H = LastValue(WriteSignal4H);

AS_WRITE_PARAM("MyFileTS14H", Name(), "Signal4H ", Signal4H );
AddColumn(Signal4H , "Signal4H ");

Я хочу там указать еще и текущее время как параметр и сохранять его.
Но как сделать так, чтобы он не писался одновременно столько раз, сколько валют просчитывает Анализатор.

Вот например.

Код:
[GBP]
Signal_1H=0
Signal_4H=0
[AUD]
Signal_1H=0
Signal_4H=0
[AUDCAD]
Signal_1H=0
Signal_4H=0
[AUDCHF]
Signal_1H=0
Signal_4H=0
[AUDJPY]
Signal_1H=0
Signal_4H=0
[CAD]
Signal_1H=0
Signal_4H=0
[CADCHF]
Signal_1H=0
Signal_4H=0
[CADJPY]
Signal_1H=0
Signal_4H=0

Сколько пар, столько раз у меня запишется время как параметр. Но в файле мне достаточно этот параметр всего 1 раз записать и 1 раз прочитать. Как это сделать?
Посмотреть профиль Отправить личное сообщение
X-Story



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

СообщениеДобавлено: Чт Янв 14, 2016 6:45 am Ответить с цитатой Вернуться к началу

X-Story писал(а):
000 писал(а):
Почему жаль? Это такая проблема? Ща глянул. В javascript это делается через
CreateObject("Scripting.FileSystemObject")
А в AFL тоже можно работать с COM объектами.
Так что гугл, день ковыряния и все заработает. Smile


Смотри. Есть твой модуль.
Код:

WriteSignal4H = IIf(SignalH4TS1_Up, 1,IIf(SignalH4TS1_Dn, -1,0));
Signal4H = LastValue(WriteSignal4H);

AS_WRITE_PARAM("MyFileTS14H", Name(), "Signal4H ", Signal4H );
AddColumn(Signal4H , "Signal4H ");

Я хочу там указать еще и текущее время как параметр и сохранять его.
Но как сделать так, чтобы он не писался одновременно столько раз, сколько валют просчитывает Анализатор.

Вот например.

Код:
[GBP]
Signal_1H=0
Signal_4H=0
[AUD]
Signal_1H=0
Signal_4H=0
[AUDCAD]
Signal_1H=0
Signal_4H=0
[AUDCHF]
Signal_1H=0
Signal_4H=0
[AUDJPY]
Signal_1H=0
Signal_4H=0
[CAD]
Signal_1H=0
Signal_4H=0
[CADCHF]
Signal_1H=0
Signal_4H=0
[CADJPY]
Signal_1H=0
Signal_4H=0

Сколько пар, столько раз у меня запишется время как параметр. Но в файле мне достаточно этот параметр всего 1 раз записать и 1 раз прочитать. Как это сделать?


А еще лучше, чтобы не тратить впустую время, было бы сделать запись/чтение данных в файл обычными средствами AFL.

Ну например, как записать, а потом прочитать такой вот перечень данных в файл/из файла. В качестве примера привожу данные из файла, которые созданы твоим модулем.

Код:

[AUDCHF]
SignalStart4H=0
Signal4Hfor1H=-90
Permit4H=0
RsiDRsi4H=57,7682
Rsi4H=44,9385
RsiCh4H=55,9493
Direct4H=-3
Direct4HSpanB=-1
DirectBV4H=1
Support4H=0
SupportBV4H=1
Signal4HOk=0
SignalBV4H=0
[AUD]
SignalStart4H=0
Signal4Hfor1H=-100
Permit4H=0
RsiDRsi4H=45,4726
Rsi4H=37,7671
RsiCh4H=32,7214
Direct4H=-3
Direct4HSpanB=-1
DirectBV4H=-1
Support4H=-2
SupportBV4H=1
Signal4HOk=0
SignalBV4H=0
[AUDCAD]
SignalStart4H=-100
Signal4Hfor1H=80
Permit4H=0
RsiDRsi4H=58,0886
Rsi4H=54,8773
RsiCh4H=46,1324
Direct4H=-3
Direct4HSpanB=-1
DirectBV4H=-1
Support4H=-2
SupportBV4H=0
Signal4HOk=0
SignalBV4H=0
[AUDJPY]
SignalStart4H=0
Signal4Hfor1H=-90
Permit4H=0
RsiDRsi4H=45,0578
Rsi4H=39,7804
RsiCh4H=54,3975
Direct4H=-3
Direct4HSpanB=-1
DirectBV4H=-1
Support4H=-2
SupportBV4H=1
Signal4HOk=0
SignalBV4H=0

Дело в том, что у меня 1 раз в 3-4 часа твой модуль выводит Амиброкер в критическую ошибку. И все колом становится. Ты в свое время разбирался с этим и сказал, что в модуле есть какой-то момент, из-за которого это происходит. В общем! МОдуль отличный! очень выручает! но хочется чтобы комп не вис. ИНогда не замечаю, что данные не актуальные и неверно ситуация интерпретируется.
Посмотреть профиль Отправить личное сообщение
yser



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

СообщениеДобавлено: Чт Янв 14, 2016 9:24 am Ответить с цитатой Вернуться к началу

X-Story писал(а):


А еще лучше, чтобы не тратить впустую время, было бы сделать запись/чтение данных в файл обычными средствами AFL.



Искал альтернативу AS_File, но не нашел, поэтому написал для себя вот такой модуль (см. в аттаче).
Попробуй, его функционала для твоего варианта должно хватить.
Вот примеры использования:

Код:


  //библиотека для работы с ini файлами
  #include_once "Formulas\\Custom\\_ini_file.afl";

  sParamFile = "Formulas\\Custom\\_robot_IL2" + "_" + Name()+".ini";
  sParam     = Name() + "-PARAM";


  pos1 = 1;
  price = LastValue(C);
  str_id = NumToStr(LastValue(DateNum()),1.0) + "-"+ NumToStr(LastValue(TimeNum()),1.0)


   //записать числа, строка
   _write_param(sParamFile, sName, "pos1", pos1);
   _write_param(sParamFile, sName, "price", price);
   _write_param(sParamFile, sName, "qty1", 12);
   _write_param(sParamFile, sName, "str_id", str_id);


   //прочитать строка, числа
   str_id  = _read_param(sParamFile, sName, "str_id");
   price   = StrToNum(_read_param(sParamFile, sName, "price"));
   pos1    = StrToNum(_read_param(sParamFile, sName, "pos1"));
   qty1    = StrToNum(_read_param(sParamFile, sName, "qty1"));

Посмотреть профиль Отправить личное сообщение
X-Story



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

СообщениеДобавлено: Чт Янв 14, 2016 10:04 am Ответить с цитатой Вернуться к началу

yser писал(а):
X-Story писал(а):


А еще лучше, чтобы не тратить впустую время, было бы сделать запись/чтение данных в файл обычными средствами AFL.



Искал альтернативу AS_File, но не нашел, поэтому написал для себя вот такой модуль (см. в аттаче).
Попробуй, его функционала для твоего варианта должно хватить.
Вот примеры использования:

Код:


  //библиотека для работы с ini файлами
  #include_once "Formulas\\Custom\\_ini_file.afl";

  sParamFile = "Formulas\\Custom\\_robot_IL2" + "_" + Name()+".ini";
  sParam     = Name() + "-PARAM";


  pos1 = 1;
  price = LastValue(C);
  str_id = NumToStr(LastValue(DateNum()),1.0) + "-"+ NumToStr(LastValue(TimeNum()),1.0)


   //записать числа, строка
   _write_param(sParamFile, sName, "pos1", pos1);
   _write_param(sParamFile, sName, "price", price);
   _write_param(sParamFile, sName, "qty1", 12);
   _write_param(sParamFile, sName, "str_id", str_id);


   //прочитать строка, числа
   str_id  = _read_param(sParamFile, sName, "str_id");
   price   = StrToNum(_read_param(sParamFile, sName, "price"));
   pos1    = StrToNum(_read_param(sParamFile, sName, "pos1"));
   qty1    = StrToNum(_read_param(sParamFile, sName, "qty1"));



Спасибо Большое за отзывчивость и помощь!
Пока хочу услышать ответы Олега на мои вопросы. А потом подумаю каким путем пойти. Но я благодарен за твое предложение! Smile
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Чт Янв 14, 2016 10:51 pm Ответить с цитатой Вернуться к началу

X-Story писал(а):

Я хочу там указать еще и текущее время как параметр и сохранять его.
Но как сделать так, чтобы он не писался одновременно столько раз, сколько валют просчитывает Анализатор.

Записывай время только с одним символом. Типа
Код:
If(Name() == "GBP")
   AS_WRITE_PARAM(.....);

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



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

СообщениеДобавлено: Пт Янв 15, 2016 6:40 am Ответить с цитатой Вернуться к началу

000 писал(а):
X-Story писал(а):

Я хочу там указать еще и текущее время как параметр и сохранять его.
Но как сделать так, чтобы он не писался одновременно столько раз, сколько валют просчитывает Анализатор.

Записывай время только с одним символом. Типа
Код:
If(Name() == "GBP")
   AS_WRITE_PARAM(.....);


Спасибо, Олежка! А читать пол этому же принципу?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Пт Янв 15, 2016 9:27 am Ответить с цитатой Вернуться к началу

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

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



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

СообщениеДобавлено: Пт Янв 15, 2016 9:29 am Ответить с цитатой Вернуться к началу

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

Не обязательно первого. Мне главное, чтобы в файле его найти и прочитать.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

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

А тогда и спрашивать нечего. Smile

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen