Market Scanner
CLASSCODE = SPBFUT // Код класса
SECCODE = RI*,Si?2,SRM2 // Код бумаг(и). Можно использовать маски ? (любой символ) и * (несколько символов).
Вот пример из инифайла, ограничивающий исходное пространство инструментов. тестировать только бумаги из класса SPBFUT : все фьючерсы RI, фьючерсы Si 2022 года и SRM2
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Благодарю вас за разработку программы Market Scanner!
Хочу попробовать реализовать с помощью нее систему уведомлений о росте или падении акций более чем на 3% в сравнении с ценой закрытия.
Ввел в файл Scaner.ini следующий код:
[рост с закрытия больше 3%]
CLASSCODE = TQBR
SECCODE = *
TIMEFRAME = D1
CONDITION = PARAM("LASTCHANGE") > 3
DESCRIPTION = #SERVERTIMESTR()# #PARAM("CODE")# #CODE()# Цена #FMT(C(0))# растет на #PARAM("LASTCHANGE")#%
SOUND_ON = alert.wav
[падение с закрытия больше 3%]
CLASSCODE = TQBR
SECCODE = *
TIMEFRAME = D1
CONDITION = PARAM("LASTCHANGE") < -3
DESCRIPTION = #SERVERTIMESTR()# #PARAM("CODE")# #CODE()# Цена #FMT(C(0))# падает на #PARAM("LASTCHANGE")#%
SOUND_ON =alert.wav
К сожалению, программа не заработала. QUIK выдает следующую ошибку: «Неверный формат задания ширины заголовков экранной таблицы в параметре SCREEN_TABLE_FORMAT». Самостоятельно исправить ее не удалось. Подскажите, пожалуйста, не знаете ли вы решение данной проблемы? Заранее благодарю за ответ.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Замените в настройках scaner.ini параметр SCREEN_TABLE_FORMAT на
SCREEN_TABLE_FORMAT = 40,16,8,40,50 // Настройка ширины столбцов экранной таблицы.
Или скачайте снова архив с сайта, там я уже заменил эту настройку
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
В понедельник буду тестировать
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- novyiremont
- Не в сети
- Новый участник
-
- Сообщений: 4
- Спасибо получено: 0
Оплатил за Сканер полную версию с *7053 на Сбер. Как ключик получить можно?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если пароль вам не пришел, свяжитесь со мной скайпом или почтой, укажите реквизиты платежа и я вам вышлю пароль.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
И еще вопрос. Я пытаюсь сделать выборку инструментов по одному индикатору по нескольким условиям
Сделал первую секцию
[RSI меньше 30]
CLASSCODE = TQBR
SECCODE = *
TIMEFRAME = D1
CONDITION = RSI(-1,14) < 30
COLOR = 0x007700
Сделал вторую секцию
[RSI меньше 52 и больше 49]
CLASSCODE = TQBR
SECCODE = *
TIMEFRAME = D1
CONDITION = RSI(-1,14) <= 52 and _
RSI(-1,14) >= 49
COLOR = 0x007700
Первая секция отрабатывает правильно. Задумка второй секции в том чтоб сканер выдал список инструментов находящихся в коридоре индикатора RSI от 52 до 49, но сканер выдает инструменты выходящие из этого коридора. Можете подсказать что я делаю не так? Ведь судя по документации сканер работает с несколькими индикаторами в одной секции
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1. Эту возможность терминал не предоставляет, увы..
2. Напишите так:
CONDITION = SIZE() > 14 and _
RSI(-1,14) <= 52 and RSI(-1,14) >= 49
DESCRIPTION = #RSI(-1,14)#
И смотрите на экране значения индикатора RSI. В случае сомнений сравнивайте его с тем, что показывает терминал на графике. Не забудьте проверить что период указан везде один и тот же. Если уверены, что сканер вас обманывает, присылайте вещественные доказательства ))
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
В предпоследней свече (с номером -1) значение RSI равно 51.79 и в сканере и на графике
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вы неточно формулирует свою задачу. Изменение на 100 за какое время? Год, месяц или 1/100 секунды?
Если вам нужно смотреть разницу между последней и предпоследней свечой - ну и получите эти данные и возьмите разницу.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
SECCODE = Si*
PARAMETER = NUMCONTRACTS
TIMEFRAME = 300
CONDITION = C(0)-C(-1) > 100 or C(0)-C(-1) <-100
вот такие условия сделал, за 5 минут, по параметру, правильно?
только квик иногда выдает сообщение - "SPBOPT#Si75000BR3D NUMCONTRACTS Невозможно рассчитать условие C(0)-C(-1) > 100 or C(0)-C(-1) <-100" почему посчитать не может?
Донат отправил на сбер )
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Я хотел бы создать своего робота, параметры которого можно изменять в файле ini, а не в текстовом файле-скрипте. По аналогии со сканером рынка. Это гораздо удобнее. Подскажите, пожалуйста, что почитать, чтобы это реализовать.
С уважением.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если вы о инифайле типа того, что в маркет сканере, то нужно написать простенький разборщик синтаксиса формата ини. В простейшем случае для этого достаточно стандартной библиотеки луа для разбора строк по шаблонам.но можно поступить и проще
Вынесите все присваивания значения переменным в отдельный луа-файл и включайте его в основной скрипт посредством dofile
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Спасибо за ответ!посредством dofile
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
function convert_date(date)
local y,m,d = string.match(date,"(%d%d%d%d)(%d%d)(%d%d)")
return string.format("%02d.%02d.%d",d,m,y)
end
сохраните его на диске
укажите полный путь к этому файлу в параметре plugins в инифайле
теперь у вас есть собственная функция convert_date
используйте ее в вычисляемых выражениях типа
DESCRIPTION = #convert_date(20220304)#
Результат будет 04.03.2022
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
А нет такой возможности впрямую.
Вообще направление сделок фигурирует в таблице обезличенных сделок и на графики в терминале не выводится.
Как то добраться до них можно ил алертера, если написать плагин. Но что вам эта информация даст? Каждую секунду проходит множество разнонаправленных сделок
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Ваш сканер отлично работает и оповещает обо всех событиях всех тикеров, указанного в ini. Например, в коде ниже, если в одно и тоже время у нескольких тикеров RSI становится ниже 20, то сканер высылает оповещения одновременно для таких тикеров.
[RSI меньше 20]
CLASSCODE = TQBR
SECCODE = AFKS,AFLT,AGRO,AKRN,ALRS,CNTL,CNTLP,DSKY,DVEC,ENPG,ENRU,FESH,FIVE,FLOT,GAZP,GLTR,KZOS,KZOSP,LKOH,LNZL,LSNG,LSNGP,LSRG,MAGN,MGNT,MOEX,MSNG,MSTT,MTLR,MTLRP,MVID,NKNC,NLMK,NMTP,PHOR,PIKK,POLY,QIWI,RASP,RNFT,ROLO,RSTI,RUAL,SBER,SBERP,SNGS,TCSG,TRMK,TRNFT,UPRO,VKCO,VSMO,YNDX
TIMEFRAME = 60
CONDITION = RSI(0,14) < 20
COLOR = RGB(233,150,122)
DESCRIPTION = #CODE()#: RSI < 20.
TELEGRAM_ON = #CODE()#: RSI < 20.Однако, когда я создал робот (файл lua) с этим же набором тикеров, который должен покупать, когда RSI становится меньше 20, сделки иногда не совершаются. Я думаю, что проблема в "проскальзывании" (даже c учетом sleep(300)) или в последовательном переборе тикеров роботом (тогда сделка не успевает совершиться, а RSI становится больше 20).
А когда работает ваш market scaner, то такое впечатление, что он мониторит все тикеры параллельно и поэтому все оповещения срабатывают.
Вы не могли бы поделиться секретом, как добиться параллельности мониторинга роботом инструментов, если такое возможно.
С уважением, Алекс.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Мне трудно что либо сказать про ваш скрипт и почему там что-то не срабатывает: я о нем ничего не знаю.
Касаемо сканера - этот скрипт распараллеливает вычисления. Для каждого тикера каждой секции при старте создается и в процессе работы исполняется отдельная задача. Задачи выполняются последовательно, никакого мультипроцессинга нет, но переключение между ними происходит очень часто и быстро. Поэтому все сигналы генерируются практически одновременно и увидеть или как то почувствовать задержки невозможно.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Писал Вам в тг по поводу формулы. Дублирую задачу здесь.
Необходимо составить формулу, которая будет отображать рост свечи на определенный процент.
Например, тф м5 нулевая свеча растет на 3%, приходит уведомление и при этом колебания в свече продолжаются.
Никак не могу понять, какие параметры нужно использовать, чтобы задействовать процентное вычисление.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Можно ли вывести какие-либо данные в графу "Параметр", например, код бумаги (рис 1)?
Можно ли фильтровать бумаги по данным из графы "Общее количество" это дневной объем торгов (рис 2)? Не удалось найти такой параметр в документации.
П.С. - при добавлении изображения через вложения, кнопка "отправить" становится неактивной
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
High свечи разделите на low свечи и сравните с 1.03.
Вы получите сигнал, что размах свечи больше 3%
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Цена - один из таких параметров. Он используется по умолчанию.
Скрипт вместо цены может использовать историю иных параметров типа лучшая цена спроса или количество заявок на покупку. Чтобы это произошло, вы в настройках скрипта можете указать идентификатор этого параметра. Идентификатор параметра будет выведен в столбце экранной таблицы скрипта
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
admin post=7336 userid=42Все очень просто
High свечи разделите на low свечи и сравните с 1.03.
Вы получите сигнал, что размах свечи больше 3%
Благодарю за ответ.
Михаил, правильно ли я выразил это в формуле?
CONDITION = H(0) / L(0) > 1.03Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
