Можно ли получить из Quik базу данных 1-5-15с?
Минутный иногда много, особенно, для выхода из позиций.
Если из Quik настроить тиковый экспорт, а принимать в минутную базу(или 1-5-15с), будет ли это корректно работать?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если речь идет про экспорт из квика в амиброкер, то
- Настраиваете тиковый экспорт из квика в амиброкер
- База данных амиброкера - тоже тиковая
- Создаёте в настройках (Properties) амиброкера 5сек (или 15сек или еще какой) таймфрейм
- Наслаждаетесь результатом )
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Т.е. параметр File->Database Setting->Number of Bars определяет кеш переменных? Сама база может быть больше.
Корректно ли АБ обрабатывает выход базы за 4GВ?
И еще вопросик, не могу сообразить, как сделать на AFL аналог машины состояний. Не подскажите, что использовать?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Касаемо лимита 4G -чтобы его перешагнуть, надо использовать Amibroker 64. Чтобы экспортировать в него данные из квика, нужен плагин Quik2Amibroker64. Про него есть тема на форуме.
А вот что такое машина состояний - я не совсем понял. Про много всяких машин слышал. Ауди, типографская, Тьюринга..... Но про машину состояний не довелось

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тьюринга ближе всего к тому, что хочется использовать(конечный автомат, граф состояний).
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
aal6 пишет: Если мне не нужно больше 4GB. Что будет при превышении 4GB, обрежет лишнее, выкинет ошибку, начнет новую базу?
Тьюринга ближе всего к тому, что хочется использовать(конечный автомат, граф состояний).
Будет много ерзать по диску, перемещая кадр кэша по базе. По опыту работать в таком режиме малореально. Иногда и падает.
Про тьюринг - все можно сделать. Правда амиброкер для этого не предназначен, у него иная идеология.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Из-за идеологии и вопросы. Идеология понятна, но инерция от стандартных языков и их методов присутствует.
Как, например, сохранить цену последней покупки на все последующие бары до продажи?
Тьюринг, это избыточно. Достаточно по условию запомнить факт срабатывания условия, желательно явно обозначив и сохранить в переменной на все последующие бары. И в этом новом состоянии проверять совсем другие условия.
Это можно сделать, например, на Flip() или for(;

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
aal6 пишет: Нет ли возможности сократить глубину обработки базы?
Из-за идеологии и вопросы. Идеология понятна, но инерция от стандартных языков и их методов присутствует.
Как, например, сохранить цену последней покупки на все последующие бары до продажи?
Тьюринг, это избыточно. Достаточно по условию запомнить факт срабатывания условия, желательно явно обозначив и сохранить в переменной на все последующие бары. И в этом новом состоянии проверять совсем другие условия.
Это можно сделать, например, на Flip() или for(;, но коряво получается, может есть другие пути?
----
SetBarsRequired()
----
ValueWhen(Buy,BuyPrice)
Предварительно нужно вычистить график от лишних сигналов посредством Exrem
----
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Не подскажите, у меня второй день подряд виснет экспорт в базу данных на тиках. Причем один инструмент работает(менее ликвидный), второй стоит. Именно на тиках, я вчера переключил в Квике и АБ экспорт на минуты, он начался, обратно - стоит. До этого на тиках попробовал все вплоть до перезагрузки системы и запуска новой базы. Экспорт на тиках не шел. А сегодня утром сам начался и встал в 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);
Что то мне говорит, что можно сделать проще и правильнее. И исключить рекурсию переменных. Не подскажите в какую сторону смотреть?
Спасибо!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Скорее всего у вас просто переполняется база. Увеличьте емкость базы в ее настройках
По второму вопросу:
MaxBuyPrice = Highest(iif(Buy,BuyPrice,Null))
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: aal6
>>По второму вопросу:
>>MaxBuyPrice = Highest(iif(Buy,BuyPrice,Null))
При первом Buy все правильно, а потом не работает, если следующий Buy по цене меньше предыдущего. Можно ее сбросить при втором Buy в BuyPrice?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
И еще вопрос про #include AFL. Можно ли вместо вставки кода в один исходный AFL файл чарта, взять данные соседнего чарта по этому или другому инструменту?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Можно ли организовать эспорт по одному инструменту в двух таймфреймах от одного инструмента, скажем на тиках и 1м? И совместить в одном чарте?
В одну базу амиброкера - не можно. Да и не понятно, зачем. Экспортируйте из квика младший таймфрейм, старший из него амиброкер сделает сам при необходимости.
И еще вопрос про #include AFL. Можно ли вместо вставки кода в один исходный AFL файл чарта, взять данные соседнего чарта по этому или другому инструменту?
Можно. В своем чарте рассчитываете то, что вам нужно. Рассчитанный массив/массивы помещаете в статическую переменную (StaticVarSet). Эта переменная/переменные будет видна из любого чарта. После чего в чарте, на который помещен фреймворк, пишете расчетную часть, где используете StaticVarGet и получаете данные, рассчитанные в первом чарте.
Посмотрите также функции foreign и timeframe*** - возможно, они вам пригодятся
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.