Как передать собранные и обработанные данные фреймов из эксперта? - страница 2

 
Vitaly Muzichenko #:

Каким-то образом можно залить данные в оперативку, или нет?

Если сам выделишь, то можно. А в чужую память винда не даст.

 
Vitaly Muzichenko #:

Можно так создать, что получишь "Синий экран"

Как через WinAPI сделать?

Если постараться, можно получить, наверное (мне не удалось). Но многие люди (включая этот форум - меня, fxsaber...) успешно используют или использовали ramdrive.

Через винду можно вроде обращаться к чему-то вроде common memory, я тут не спец, но это очень непросто по мне. В тех целях, которые указал автор, данная интеллектуальная инвестиция слишком дорога.

 
Edgar Akhmadeev #:

Если постараться, можно получить, наверное (мне не удалось). Но многие люди (включая этот форум - меня, fxsaber...) успешно используют или использовали ramdrive.

Через винду можно вроде обращаться к чему-то вроде common memory, я тут не спец, но это очень непросто по мне. В тех целях, которые указал автор, данная интеллектуальная инвестиция слишком дорога.

Ramdrive с точки зрения МТ - это обычный диск. Соответственно, на него надо записать информацию. А вот как раз это почему-то не удается. 

Обычно, я грешу на свои какие-то ошибки... Что-то я не учел... Но, досадно - уже несколько лет этот код успешно постоянно работал... А тут - что-то поменялось... 

 
Georgiy Merts #:

Ramdrive с точки зрения МТ - это обычный диск. Соответственно, на него надо записать информацию. А вот как раз это почему-то не удается. 

Обычно, я грешу на свои какие-то ошибки... Что-то я не учел... Но, досадно - уже несколько лет этот код успешно постоянно работал... А тут - что-то поменялось... 

Возможно, файл закрывается, но реально кэш на диск не сбрасывается.

Я бы попробовал создать файл и тут же закрыть, а потом переоткрыть и писать в него - тогда файл появится, хотя бы пустой?

 
Georgiy Merts #:

Ramdrive с точки зрения МТ - это обычный диск. Соответственно, на него надо записать информацию. А вот как раз это почему-то не удается. 

Обычно, я грешу на свои какие-то ошибки... Что-то я не учел... Но, досадно - уже несколько лет этот код успешно постоянно работал... А тут - что-то поменялось... 

Я не о проблеме работы с файлами в OnTesterDeinit, я конкретно отвечал на вопрос "как скинуть в RAM".

А по поводу неработы с файлами, надо рассмотреть варианты:

1. Проблемы в коде. Возможно, неправильно работаете с фреймами.

2. Изменения в   OnTesterDeinit , из-за чего недокументированные вещи перестали работать.

3. Появившийся запрет в   OnTesterDeinit на файловые операции.

4. Возможность работать с файлами через WinAPI.

5. Перенос файловых операций в OnDeinit.

По фреймам есть хорошие примеры кодов. Я в своё время осваивал фреймы по ним. С фреймами в большой генетике были проблемы у терминала, и я перешёл на обработку результатов из файлов терминала (спасибо ув. fxsaber). Потом большую генетику исправили, "Дополнительный 38-й нагнал меня в самом конце. Поздняк. Я был уже дома." (с) Чиж и Ко



 
Edgar Akhmadeev #:

Я не о проблеме работы с файлами в OnTesterDeinit, я конкретно отвечал на вопрос "как скинуть в RAM".

А по поводу неработы с файлами, надо рассмотреть варианты:

1. Проблемы в коде. Возможно, неправильно работаете с фреймами.

2. Изменения в   OnTesterDeinit , из-за чего недокументированные вещи перестали работать.

3. Появившийся запрет в   OnTesterDeinit на файловые операции.

4. Возможность работать с файлами через WinAPI.

5. Перенос файловых операций в OnDeinit.

По фреймам есть хорошие примеры кодов. Я в своё время осваивал фреймы по ним. С фреймами в большой генетике были проблемы у терминала, и я перешёл на обработку результатов из файлов терминала (спасибо ув. fxsaber). Потом большую генетику исправили, "Дополнительный 38-й нагнал меня в самом конце. Поздняк. Я был уже дома." (с) Чиж и Ко

Запрет на файловые операции в OnTesterDeinit???  Не, если он появился - то все легко объяснимо... Но, вроде ж эта функция и предназначена для того, чтобы обработать информацию фреймов и записать ее - через файловые операции... 

Ну да в ближайшие дни буду пытаться разобраться... 

 
Georgiy Merts #:

Запрет на файловые операции в OnTesterDeinit???  Не, если он появился - то все легко объяснимо... Но, вроде ж эта функция и предназначена для того, чтобы обработать информацию фреймов и записать ее - через файловые операции... 

Ну да в ближайшие дни буду пытаться разобраться... 

Вы же не описали, что значит "файл не создается". Успешно ли прошли файловые операции - проверили возвращаемые ошибки?

Всё это сомнительно. Надо всё проверять методично и по логике.
 
Edgar Akhmadeev #:

Вы же не описали, что значит "файл не создается". Успешно ли прошли файловые операции - проверили возвращаемые ошибки?

Всё это сомнительно. Надо всё проверять методично и по логике.

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

И не надо "выкать" - мы ж вроде как коллеги. 

 
Georgiy Merts #:

Хм. Спасибо. Попробую. А он не исчезнет, когда эксперт завершает работу? 

Как создать такой файл? Что-то я среди файловых функций не нахожу... Или тут надо глядеть в сторону пайпов - никогда с ними дела не имел... 

CFilePipe ? Сейчас поглядим... 

вечером отпишусь как делается от и до

всю настройку и название проги

файл сохраняется из RAM на комп при необходимости либо по расписанию, либо ... там настройка есть

настройки типовых прог у меня сделаны также через файл csv, в котором таблица с столбцами - валютная пара, по горизонтали настройки

ну и также как у Вас - оптимизация настроек в процессе работы эксперта и перезапись настроек, хотя можно менять и ручками - не вопрос
 

Что-то вобще непонятно, как передать из оптимизируемого эксперта хотя бы какие-то данные. 

В функции  OnTesterInit() вызываю Print() - где это сообщение?  По идее, эта функция в любом случае должна вызываться, еще до всяких ошибок... А значит, печать сообщения тоже должна быть... Где она? 

Причина обращения: