Market Scanner
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: я так понимаю, что нужна функция, которая бы выводила в сообщение полное или короткое название эмитента в дополнение к его коду и классу?
Абсолютли ) Потому что по другому я в квике не могу найти акцию по тому коду что выдает сканер ))
Для этого надо лезть на моех, там брать расшифровку, потом обратно в квик - как то долго ))
Видимо изначально сканер под фьючерсы был заточен...
По сути для акций нужно еще плюсом краткое наименование :
Код ценной бумаги WTCMP
Полное наименование "Центр междун. торговли"ПАО ап
Краткое наименование ЦМТ ап (по этим данным можно вызвать график в квике)
Спасибо.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: Чтобы я не мог вам отказать - вносите лепту за полную версию ))))
Так это вообще легко, отправил с Тинька в 21:30 )) Заполняю скрипт сижу и тестирую )
Заодно задам вопрос, можно ли записать в виде формулы зависимость между телом свечи и ее тенью? Чет весь мозг сломал.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Зависимость?
Тело свечи это abs(close-open)
Тени это high-low-тело свечи
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: Пароль вам отправлен
Зависимость?
Тело свечи это abs(close-open)
Тени это high-low-тело свечи
Ну да хотел записать процентное соотношение, а % это вовсе не процент оказался )
Например что-то такого вида - тело = 20% от всей свечи и т.д.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Добавил функции INSTRUMENT_NAME, INSTRUMENT_SNAME и NL. Описание в scaner.ini
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: abs(close-open) / (high-low) * 100 < 20 - тело свечи меньше 20% от полного размаха
Добавил функции INSTRUMENT_NAME, INSTRUMENT_SNAME и NL. Описание в scaner.ini
Спасибо, попробую...
В окне сообщений квика так и должны ошибки сыпаться? Что-то он там не может рассчитать, хотя сам сканер уже выдал ответы)) Начались лаги и завис...в прошлой версии 2.10 ошибки были но они останавливались и не сыпались бесконечно.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: Не должно, если в условиях нет ошибок. Покажите скриншот
скрин ниже (ошибки вверху зациклены по кругу)
также не получается записать условие что Вы предлагали для зеленой свечи на скрине, сканер ее не видит перепробовал почти все значения после "<", ладно поковыряюсь еще)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
последовательность расчета условий можно посмотреть в лог-файле, если лог включен и уcтановлен режим trace
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: Функция ABS в сканере пишется заглавными буквами. Читайте документацию - она прямо в scaner.ini
последовательность расчета условий можно посмотреть в лог-файле, если лог включен и уcтановлен режим trace
Да, простите, по ABS мой косяк, скопировал не глядя, ошибка цикличная ушла и тормоза тоже...Но другая осталась в квике, в сканере нет ошибок.
Посмотрел лог, квик не может рассчитать для SPBFUT#RRV1 - открыл график, а внутри пусто, хотя остальные фьючерсы норм прогнал. Случайно нет защиты, если например данных никаких нет в инструменте, чтобы его не обрабатывал?
Спасибо.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Добрый день,admin пишет: SIZE() возвращает количество доступных свечей. Если график пуст, вернётся 0
все пытаюсь избавиться от шлака при поиске по *, не пойму правильно ли я записал функцию SIZE(), все работает, но ошибка в саом квике такого плана, пытался и объем свечи добавить, но не помогает. При открытии графика GAZC (ГАЗКОН) вижу 1 свечу на всех таймфреймах, но в других источниках есть больше свечей. Есть ли какие еще у Вас в арсенале методы по отсеиванию шлака при поиске через "*" ? Спасибо.
[H4] TQBR#GAZC
Невозможно рассчитать условие L(0) > L(-1) and H(0) > H(-1) and L(-1) < L(-2) and H(-1) < H(-2) and L(-2) > L(-3) and H(-2) > H(-3) and L(-3) < L(-4) and H(-3) < H(-4) and SIZE(100) and V(0) > 1
Кажись придумал, можно ли как-то прикрутить дневной оборот за прошлый сутки например по инструменту (например брать данные из таблицы "текущие торги", или еще как), тогда можно установить больше или меньше какой суммы поиск не будет,совершаться.
например команда VALTODAY > 1000000 и т.д. Что скажете?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Я не понимаю суть ваших проблем. Не вычисляется выражение? Не работает функция size? Не знаете как ее использовать? Терминал неправильно выдает котировки Gazc?
О чем на самом деле вы хотите меня спросить?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: DennyV,
Я не понимаю суть ваших проблем. Не вычисляется выражение? Не работает функция size? Не знаете как ее использовать? Терминал неправильно выдает котировки Gazc?
О чем на самом деле вы хотите меня спросить?
Простите, если запутал, есть 2 вопроса
1. скажите как работает функция SIZE? Что-то не получается
2. вопрос по параметру PARAM, правильно ли я записал его?
PARAM = VALTODAY
CONDITION = VALTODAY > 5000000
Спасибо.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin пишет: CONDITION=IIF(SIZE()<3, false, ваше выражение)
Спасибо, работает...Я правда не знал что в задании параметров CONDITION нужно соблюдать логику вычислений, т.е. порядок размещения команды.
Также разобрался по второму вопросу, для того чтобы отсеивать мусор по объему торгов, надо добавить
в строку CONDITION такую запись PARAM("VALTODAY") > 10000000, может кому поможет )
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
string.sub(SERVERTIME(),1,2)*3600 + string.sub(SERVERTIME(),3,4)*60 + string.sub(SERVERTIME(),5,6)
Если вопросы еще есть - давайте перейдем в форум на сайте
С уважением, Михаил
Добрый день Михаил.
начал пробывать пользоваться выражением, которое считает разницу секунд от времени сервера до последней сделки на инструменте:
string.sub(SERVERTIME(),1,2)*3600 + string.sub(SERVERTIME(),3,4)*60 + string.sub(SERVERTIME(),5,6) - string.sub(PARAM("TIME"),1,2)*3600 - string.sub(PARAM("TIME"),3,4)*60 - string.sub(PARAM("TIME"),5,6)
Выдаёт ошибку "nil" если на вечерней сессии ещё нет ни одной сделки или последняя сделка была вчера. Есть путь её решения?
Если сделка была вчера менно значение в секундах отсутствует и даёт ошибку nil : string.sub(PARAM("TIME"),5,6)
С уважением, Алексей.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
IIF(PARAM("TIME"), ваше_выражение, false)
то если param("time") непустой, то считаем выражение. А если пустой - сразу считаем , что результат ложный
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
вводил обе формулы в CONDITON :
PARAM("TIME") и PARAM("TIME") >0
В окне сообщений вылезает ошибка во вложении скриншоты.
на них открыты графики инструмента и само выражение видно.
CONDITION = IIF(PARAM("TIME"), math.tointeger ( string.sub(PARAM("TIME"),1,2)*3600 + string.sub(PARAM("TIME"),3,4)*60 + string.sub(PARAM("TIME"),5,6) + 4 ) > 40, false)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
CLASSCODE = QJSIM
SECCODE = GAZP
TIMEFRAME = M1
CONDITION = IIF(PARAM("TIME"), math.tointeger ( string.sub(PARAM("TIME"),1,2)*3600 + string.sub(PARAM("TIME"),3,4)*60 + string.sub(PARAM("TIME"),5,6) + 4 ) > 40, false)
DESCRIPTION = #PARAM("TIME")#
Отработало, выражение вычислено без ошибок, в колонку сообщений выведено значение параметра TIME (смотри вложение)
Думаю, у вас в заказе данных запрещен к получению параметр TIME (Время последней сделки)
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
ошибку выдают инструменты в которых PARAM("TIME") равен нулю, так как в выражении получается несуществующее значение секунд - PARAM("TIME"),5,6)
С понедельника попробую все перепроверить. Подумал, может добавлением выражения and PARAM("TIME") > 0 решится мой вопрос.
Ещё вопрос, правильно ли я понимаю:
1) Значение PARAM("TIME") поступает вначале, а после рисуется свеча и её значение T(0). Возможно не рисуется в течении минуты, если брокер подвисает.
2) Значения PARAM("TIME") и T(0) имеют одинаковые значения?
С уважением, Алексей.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Тогда
часы можно получить так: FLOOR(PARAM("TIME") / 10000)
минуты FLOOR(PARAM("TIME" / 100 % 100)
секунды PARAM("TIME") %100
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1. Хочу получить список компаний из класса A*, у которых индикатор Williams` % Range меньше 50 на дневном тайм фрейме...
Сканер пишет, что всё работает, но по факту выдаёт список компаний, у которых данный показатель какой угодно...
Что не так в моём условии?
И, кстати, подстановка D1 вместо 86400, приводила к "невозможно вычислить..."...
[Williams меньше -50 1 день]
CLASSCODE = SPBXM
SECCODE = A*
TIMEFRAME = 86400
CONDITION = WR(0,86400) < -50
2. И возможно ли усложнение условия? Тот же показатель по дню и месяцу одновременно?
[Williams меньше -50 1 день и 1 месяц]
CLASSCODE = SPBXM
SECCODE = A*
TIMEFRAME = 86400 // что тут указывать?
CONDITION = WR(0,86400) < -50 and WR(0,2259000)<-50 // сканер отказался вычислять...
Прошу прощения, если совсем глупые вопросы... С уважением.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
CONDITION = WR(0,86400) < -50
Второй параметр при вызове индикатора WR - это количество свечей для расчета, а не длительность дня в секундах. ,
Сейчас вы считаете индикатор WR, используя период в 86400 свечей.
И возможно ли усложнение условия? Тот же показатель по дню и месяцу одновременно?
Нет, сканер умеет делать анализ только на одном таймфрейме. Чтобы анализировать условия на разных таймфреймах, нужно создавать разные задачи в файле настроек с разными таймфреймами, выводить результаты работы сканера в файл и там смотреть на совпадения (глазами или скорее программкой). Можно также написать плагин к сканеру, но эта радость доступна лишь мне одному, любимому
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Буду разбираться дальше !
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Будьте любезны, если это возможно, сделайте, пожалуйста, возможность копирования данных из итоговой таблицы (той, в которой выводятся результаты сканирования) в Excel или Word...
Так удобнее с ними "орудовать"...
Вопрос неспешный, но очень желательный...
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
