Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Октября 12, 2024, 08:48:02 am
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Окружение ATF « предыдущая тема следующая тема »
Страниц: [1] 2 Печать
Автор Тема: Окружение ATF  (Прочитано 12326 раз)
nxz
Full Member
***
Сообщений: 241


Просмотр профиля Email
« : Июля 01, 2011, 07:56:21 am »

Обновил Интру до версии 282, заметил новый пункт меню "Окружение ATF". Что это за окно и как им пользоваться.
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #1 : Июля 01, 2011, 09:54:59 am »

Посмотрите здесь: http://www.transaq.ru/docs/atf/functions  следующие функции: onEnvEvent, setEnvVariable, getEnvVariable, postEnvEvent. Это собственно все связано с этим окном.

Руководство как пользоваться я пишу в данный момент. Пока если в двух словах, то идея в том, что теперь в ATF есть "совсем глобальные" переменные, которые называются окружением. Вы можете устанавливать их из любого скрипта и читать из любого скрипта, а так же генерировать какие-то события, которые будут восприняты всеми работающими скриптами.

Это позволяет решать на простом уровне вопрос обмена данными между разными скриптами. Например, вы хотите, чтобы если RTSI пересечет свою скользящую среднюю вниз, выключить всех роботов, которые работают. Тогда вы можете на пересечение линии вызвать в одном скрипте postEnvEvent("shutdownall"), и в каждом скрипте сработает функция onEnvEvent(var env), где env будет содержать строку "shutdownall" - по ней вы можете определить что вам стоит прекратить выполнять торговые операции.

Ну или например вы хотите во всех скриптахзнать текущее значение индекса ММВБ. Тогда на график индекса ММВБ вы можете положить такой индикатор:

Code: [Select]
function calc()
{
    setEnvVariable("micex", close)
}

А в других скриптах вы сможете получать актуальное значение индекса ММВБ функцией getEnvVariable("micex").
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #2 : Июля 12, 2011, 09:46:09 am »

Обновил документацию - теперь добавлено описание Окружения ATF и функций для отслеживания пересечений.
Записан
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #3 : Мая 21, 2013, 09:20:54 am »

Дабы не плодить темы, напишу сюда.

Обратил внимание на один занятный момент, связанный с окружением ATF. А именно:
У меня были какие то самописные индикаторы/роботы, в работе которых используется передача параметров/переменных через окружение ATF. Довольно активно.
Затем эти индикаторы/роботы были удалены с графиков, да и графики были закрыты.
Но! Открываю окно Окружение ATF и вижу там занчения соответствующих парамеротров, живущих своей собственной жизнью. Естественно Транзак неоднократно перезагружался. А они бессмертные прямо какие то. Пока не удалишь их руками, живее всех живых.
Уважаемые разработчики, это нормальное поведение? Так и задумывалось?

TRANSAQ (боевой), 5.05.305.07 rev.51 ATF 1.18
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #4 : Мая 22, 2013, 08:51:16 am »

Дабы не плодить темы, напишу сюда.

Обратил внимание на один занятный момент, связанный с окружением ATF. А именно:
У меня были какие то самописные индикаторы/роботы, в работе которых используется передача параметров/переменных через окружение ATF. Довольно активно.
Затем эти индикаторы/роботы были удалены с графиков, да и графики были закрыты.
Но! Открываю окно Окружение ATF и вижу там занчения соответствующих парамеротров, живущих своей собственной жизнью. Естественно Транзак неоднократно перезагружался. А они бессмертные прямо какие то. Пока не удалишь их руками, живее всех живых.
Уважаемые разработчики, это нормальное поведение? Так и задумывалось?

TRANSAQ (боевой), 5.05.305.07 rev.51 ATF 1.18

Я тоже недавно столкнулся с таким явлением.
Удивился.
Удалял руками поштучно.
Их там было много. Пожалел о том,  что нельзя было удалить сразу все. Пришлось к каждой переменной применить индивидуальный подход :)
Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #5 : Мая 22, 2013, 09:29:47 am »

Да, это так и задумано - переменные окружения живут своей долгой и отдельной жизнью, никуда не удаляясь без отдельной просьбы пользователя.

То что их нельзя удобно всех сразу удалить - это конечно недочет. Сделаем.
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #6 : Мая 22, 2013, 10:07:55 am »

То что их нельзя удобно всех сразу удалить - это конечно недочет. Сделаем.

Тогда уж и еще сюда напишу о тех "мелочах",  которые немного мешают наслаждаться всеми прелестями ATF Транзака:

1. Когда "бросаем" на график робота,  первым делом появляется маленькое окошко,  в котором можно изменять значения переменных типа extern. Хотелось бы,  чтобы размеры этого окошка можно было изменять,  ну или хотя бы пусть уж оно с самого начала будет покрупнее.

2. Когда тестировщик выводит окно с результатами,  очень хочется скопировать результаты и вставить куда-нибудь в "Блокнот" или Word,  но скопировать невозможно.

3. Когда из скрипта меняем цвет одной из полосок гистограммы,  все остальные полоски сразу же изменяют свой цвет на черный.

Все вышеперечисленное,  конечно,  не смертельно и можно потерпеть,  но это все-таки печалька :)

Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #7 : Мая 22, 2013, 10:16:19 am »

Да, это так и задумано

Ок. Спасибо за ответ. Буду иметь ввиду.  :)
Записан
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #8 : Мая 23, 2013, 09:25:17 am »

Олег, по третьему пункту не очень понятно. Можете описать подробнее что происходит?
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #9 : Мая 23, 2013, 01:00:17 pm »

Олег, по третьему пункту не очень понятно. Можете описать подробнее что происходит?

На самом деле, я думал, что это уже давно и хорошо известный глюк.
Я припоминаю (хотя очень смутно),  что где-то когда-то около года тому назад на форуме уже читал чью-то жалобу по этой проблеме. Но мне-то самому это тогда совсем не интересно было (по известным причинам), потому и пропустил мимо ушей.
А недавно столкнулся с этим явлением и сразу подумал, ага, это же та самая проблема и ее до сих пор не устранили.

Короче говоря, проблема состоит в следующем.
Вот, допустим у нас в коде имеется вот такой оператор:

Code: [Select]
setHistColor(RGB(128, 0, 0));
Разумеется параметры функции RGB могут быть любыми.
А к этому моменту наша гистограммка имеет приятный ненавязчивый серенький цвет.
Но вот строчка с этим оператором пройдена и бац...
Та свечка, к которой применена эта команда (в данном примере, это текущая, но при команде для свечек со смещением результат тот же самый),  становится именно того цвета,  который указан функцией RGB. А вот все остальные свечки этой гистограммы сразу же изменяют свой цвет на черный. А на черном фоне другие линии уже не так отчетливо просматриваются,  как на сером.
Я и говорю, это не смертельно, но все-таки печалька :)

 







Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #10 : Мая 25, 2013, 06:35:58 pm »

Подтвердился диагноз-то? :)
Или я чего не так делаю?
Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Heller
Разработчики
Hero Member
*****
Сообщений: 1277


Просмотр профиля Email
« Ответ #11 : Мая 27, 2013, 11:44:34 am »

Это не баг, это скорее неочевидное на первый взгляд поведение, которое на самом деле вполне логично.

Гистограммы рисуются в двух режимах - либо это одноцветная/красно-зеленая гистограмма, где цвета определяются настройками отображения, либо же определение цвета каждого отдельного бара задаёт пользователь. В последнем случае цвет по умолчанию - черный (логичное нулевое значение RGB(0,0,0)). То есть как только setHistColor, графики начинают при отрисовке брать значения цветов просто из другого места и политика в отношении цвета меняется.
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #12 : Мая 27, 2013, 12:44:46 pm »

Это не баг, это скорее неочевидное на первый взгляд поведение, которое на самом деле вполне логично.

Гистограммы рисуются в двух режимах - либо это одноцветная/красно-зеленая гистограмма, где цвета определяются настройками отображения, либо же определение цвета каждого отдельного бара задаёт пользователь. В последнем случае цвет по умолчанию - черный (логичное нулевое значение RGB(0,0,0)). То есть как только setHistColor, графики начинают при отрисовке брать значения цветов просто из другого места и политика в отношении цвета меняется.

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

О, я придумал!
Сделайте цветом гистограммы по умолчанию (в следующих версиях) серенький цвет (silver hist),  и тогда это всех устроит. А черный это весьма и весьма неудобно.
Да к тому же, еще и пугающе как-то. Было все такое приятное серенькое, вдруг бац... полный траур, как будто конец света уже наступил :)
« Последнее редактирование: Мая 27, 2013, 12:47:11 pm от Олег » Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
bugem
Full Member
***
Сообщений: 105



Просмотр профиля Email
« Ответ #13 : Мая 27, 2013, 01:47:45 pm »

О, я придумал!
Сделайте цветом гистограммы по умолчанию (в следующих версиях) серенький цвет (silver hist),  и тогда это всех устроит.

А если в начале скрипта задать:
Code: [Select]
#line 0 hist silver
то не будет ли он (silver) цветом по умолчанию?
Записан
Олег
Hero Member
*****
Сообщений: 849



Просмотр профиля Email
« Ответ #14 : Мая 27, 2013, 01:55:52 pm »

А если в начале скрипта задать:
Code: [Select]
#line 0 hist silver
то не будет ли он (silver) цветом по умолчанию?

Да я ж так и делал.
Оно таким и было до того момента, как мой скрипт одну полосочку изменил.
И оно сразу бац... и усё черное :)
Кроме той самой полосочки, которую изменил :)
Записан

Коллеги!
МТС фокусничает!
Будьте бдительны сами и предупредите всех своих хороших знакомых!
Я тоже на днях вляпался.
Схема "фокуса" описана вот здесь:
http://www.forum.sib.mts.ru/viewtopic.php?f=344&t=11381
Страниц: [1] 2 Печать 
Transaq  |  СБО "Transaq"  |  Подсистема ATF  |  Topic: Окружение ATF « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.10 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!