Можно ли получить из Quik базу данных 1-5-15с?

Подробнее
7 года 9 мес. назад #878 от aal6
Существует ли реализация экспорта базы данных с базовым временным интервалом 1, 5, 15 секунд?

Минутный иногда много, особенно, для выхода из позиций.

Если из Quik настроить тиковый экспорт, а принимать в минутную базу(или 1-5-15с), будет ли это корректно работать?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #879 от admin
Добрый вечер.


Если речь идет про экспорт из квика в амиброкер, то
  • Настраиваете тиковый экспорт из квика в амиброкер
  • База данных амиброкера - тоже тиковая
  • Создаёте в настройках (Properties) амиброкера 5сек (или 15сек или еще какой) таймфрейм
  • Наслаждаетесь результатом )
Последнее редактирование: 7 года 9 мес. назад пользователем admin.
Спасибо сказали: aal6

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #881 от aal6
Спасибо!
Т.е. параметр File->Database Setting->Number of Bars определяет кеш переменных? Сама база может быть больше.
Корректно ли АБ обрабатывает выход базы за 4GВ?

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #882 от admin
Да, так и есть. Кэш - это кэш, кусок базы, находящийся в памяти.



Касаемо лимита 4G -чтобы его перешагнуть, надо использовать Amibroker 64. Чтобы экспортировать в него данные из квика, нужен плагин Quik2Amibroker64. Про него есть тема на форуме.


А вот что такое машина состояний - я не совсем понял. Про много всяких машин слышал. Ауди, типографская, Тьюринга..... Но про машину состояний не довелось :whistle:
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #883 от aal6
Если мне не нужно больше 4GB. Что будет при превышении 4GB, обрежет лишнее, выкинет ошибку, начнет новую базу?

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #884 от admin

aal6 пишет: Если мне не нужно больше 4GB. Что будет при превышении 4GB, обрежет лишнее, выкинет ошибку, начнет новую базу?

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


Будет много ерзать по диску, перемещая кадр кэша по базе. По опыту работать в таком режиме малореально. Иногда и падает.

Про тьюринг - все можно сделать. Правда амиброкер для этого не предназначен, у него иная идеология.
Последнее редактирование: 7 года 9 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #885 от aal6
Нет ли возможности сократить глубину обработки базы?

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

Тьюринг, это избыточно. Достаточно по условию запомнить факт срабатывания условия, желательно явно обозначив и сохранить в переменной на все последующие бары. И в этом новом состоянии проверять совсем другие условия.
Это можно сделать, например, на Flip() или for(;;), но коряво получается, может есть другие пути?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #886 от admin

aal6 пишет: Нет ли возможности сократить глубину обработки базы?

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

Тьюринг, это избыточно. Достаточно по условию запомнить факт срабатывания условия, желательно явно обозначив и сохранить в переменной на все последующие бары. И в этом новом состоянии проверять совсем другие условия.
Это можно сделать, например, на Flip() или for(;;), но коряво получается, может есть другие пути?


----
SetBarsRequired()
----
ValueWhen(Buy,BuyPrice)
Предварительно нужно вычистить график от лишних сигналов посредством Exrem
----
Последнее редактирование: 7 года 9 мес. назад пользователем admin.
Спасибо сказали: aal6

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #887 от aal6
Спасибо! Думаю вопрос исчерпан.
Не подскажите, у меня второй день подряд виснет экспорт в базу данных на тиках. Причем один инструмент работает(менее ликвидный), второй стоит. Именно на тиках, я вчера переключил в Квике и АБ экспорт на минуты, он начался, обратно - стоит. До этого на тиках попробовал все вплоть до перезагрузки системы и запуска новой базы. Экспорт на тиках не шел. А сегодня утром сам начался и встал в 15ч.
В чем может быть дело?

И еще один вопрос, я пытался написать функцию выделения максимума, так чтобы в неё захлопывалась текущая цена покупки, затем каждый максимум ее увеличивал. Получилось такая функция
Sell = 0
PriceBuy = ValueWhen(Buy OR Sell, BuyPrice);
MinSellPrice = HHV( Max( C * Flip(Buy, Sell) , PriceBuy * Flip(Buy, Sell) ), BarsSince(Flip(Buy, Sell)));
Sell = F(C, MinSellPrice);
Что то мне говорит, что можно сделать проще и правильнее. И исключить рекурсию переменных. Не подскажите в какую сторону смотреть?
Спасибо!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #888 от admin
aal6

Скорее всего у вас просто переполняется база. Увеличьте емкость базы в ее настройках


По второму вопросу:
MaxBuyPrice = Highest(iif(Buy,BuyPrice,Null))
Спасибо сказали: aal6

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #889 от aal6

admin пишет: aal6

>>По второму вопросу:
>>MaxBuyPrice = Highest(iif(Buy,BuyPrice,Null))


При первом Buy все правильно, а потом не работает, если следующий Buy по цене меньше предыдущего. Можно ее сбросить при втором Buy в BuyPrice?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад #893 от aal6
Можно ли организовать эспорт по одному инструменту в двух таймфреймах от одного инструмента, скажем на тиках и 1м? И совместить в одном чарте?

И еще вопрос про #include AFL. Можно ли вместо вставки кода в один исходный AFL файл чарта, взять данные соседнего чарта по этому или другому инструменту?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
7 года 9 мес. назад - 7 года 9 мес. назад #894 от admin

Можно ли организовать эспорт по одному инструменту в двух таймфреймах от одного инструмента, скажем на тиках и 1м? И совместить в одном чарте?


В одну базу амиброкера - не можно. Да и не понятно, зачем. Экспортируйте из квика младший таймфрейм, старший из него амиброкер сделает сам при необходимости.

И еще вопрос про #include AFL. Можно ли вместо вставки кода в один исходный AFL файл чарта, взять данные соседнего чарта по этому или другому инструменту?



Можно. В своем чарте рассчитываете то, что вам нужно. Рассчитанный массив/массивы помещаете в статическую переменную (StaticVarSet). Эта переменная/переменные будет видна из любого чарта. После чего в чарте, на который помещен фреймворк, пишете расчетную часть, где используете StaticVarGet и получаете данные, рассчитанные в первом чарте.


Посмотрите также функции foreign и timeframe*** - возможно, они вам пригодятся
Последнее редактирование: 7 года 9 мес. назад пользователем admin.
Спасибо сказали: aal6

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin