Market Scanner

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #2985 от DigitService
DigitService ответил в теме Market Scanner
Михаил, в алертере нашел а в сканере не могу найти функцию или команду проверяющую есть ли вообще последняя свеча и ее значение.
Последнее редактирование: 8 года 5 мес. назад пользователем DigitService.

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

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #2986 от DigitService
DigitService ответил в теме Market Scanner
в сканере необходима такая функция чтобы отфильтровывать инструменты по которым нет последней свечи.
например в таком условии.

[C(0) > C(-1)]
CLASSCODE = SPBFUT
SECCODE = DBH8
TIMEFRAME = D1
CONDITION = C(0) > C(-1)
DESCRIPTION = #SERVERTIMESTR()# #PARAM("CODE")# #CLASS()# #CODE()# #INSTRUMENT()# #SECTION()# Цена #FMT(C(0))# растет на #ROUND((C(0)-C(-1))/C(-1)*100,2)#% #PARAM("LASTCHANGE")#%

[C(0) < C(-1)]
CLASSCODE = SPBFUT
SECCODE = DBH8
TIMEFRAME = D1
CONDITION = C(0) < C(-1)
DESCRIPTION = #SERVERTIMESTR()# #PARAM("CODE")# #CLASS()# #CODE()# #INSTRUMENT()# #SECTION()# Цена #FMT(C(0))# падает на #ROUND((C(0)-C(-1))/C(-1)*100,2)#% #PARAM("LASTCHANGE")#%

результата в окне скрипта нет но в системных сообщениях пишет что Невозможно рассчитать условие С0>С-1 и С0<С-1 нет данных о свече с номером 0. Доступны свечи с 1 по 1.

Итого в идеале чтобы работало условие надо не только проверить C0><C-1, а проверить условия существования С0 и С-1. Тогда смело можно будет запускать сканер по маске * по всем инструментам и скрипт не будет ругаться.

Еще такая тонкость.. данное условия работать будет если запускается скрипт в рабочий день. Если же я запускаю скрипт в выходной день, то необходимо чтобы функция проверки наличия последней свечи проверяла разумеется по состоянию на пятницу а не на субботу и воскресенье.
с уважением.
Последнее редактирование: 8 года 5 мес. назад пользователем DigitService.

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

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #2990 от admin
admin ответил в теме Market Scanner

DigitService пишет: HHV(candle_number,period,field) Highest High Value (www.bot4sale.ru/download-categories/2012...36/item/hhv-llv.html)
; LLV(candle_number,period,field) Lowest Low Value (www.bot4sale.ru/download-categories/2012...36/item/hhv-llv.html)

Еще вопрос, приведенные выше индикаторы имеют отношение к индикатору Price channel? то есть пробой ценового канала в ту или иную сторону смещает канал и оставляет его новоgе значение с учетом периода средней?



Да, это канал дончиана.

Готовый индикатор есть на этом сайте и его можно скачать, чтобы посмотреть, как он работает. Средней тут никакой , конечно же, нет.
Последнее редактирование: 8 года 5 мес. назад пользователем admin.
Спасибо сказали: DigitService

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

Подробнее
8 года 5 мес. назад #2991 от DigitService
DigitService ответил в теме Market Scanner

admin пишет:

DigitService пишет: HHV(candle_number,period,field) Highest High Value (www.bot4sale.ru/download-categories/2012...36/item/hhv-llv.html)
; LLV(candle_number,period,field) Lowest Low Value (www.bot4sale.ru/download-categories/2012...36/item/hhv-llv.html)

Еще вопрос, приведенные выше индикаторы имеют отношение к индикатору Price channel? то есть пробой ценового канала в ту или иную сторону смещает канал и оставляет его новоgе значение с учетом периода средней?



Да, это канал дончиана.

Готовый индикатор есть на этом сайте и его можно скачать, чтобы посмотреть, как он работает. Средней тут никакой , конечно же, нет.


Разумеется Дончиана. спасибо. Price channel совершенно то же самое только еще есть период и это встроенный в квик индикатор.

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

Подробнее
8 года 5 мес. назад #2992 от admin
admin ответил в теме Market Scanner
И правда есть встроенный.

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

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #2993 от DigitService
DigitService ответил в теме Market Scanner
Михаил, я понимаю что сама программа не может контролировать работает она или нет и когда она отвалилась, но все таки для контроля работы сканера предлагаю на названии таблице сканера на месте или перед местом где написано www.bot4sale.ru или в самом верхнем левом углу транслировать текущее время системы.. то есть когда отвалится или зависнет программа чтобы оставалась индикация ее последних секунд жизни. Иначе нет никаких индикаторов вообще и при зависании сканера будет пропуск и сбой.
Последнее редактирование: 8 года 5 мес. назад пользователем DigitService.

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

Подробнее
8 года 5 мес. назад #2994 от admin
admin ответил в теме Market Scanner
Во время гриппа нет нужды лечить сопли из носа. Лечить надо грипп.

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

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

Подробнее
8 года 5 мес. назад #2995 от admin
admin ответил в теме Market Scanner

DigitService пишет: Михаил, в алертере нашел а в сканере не могу найти функцию или команду проверяющую есть ли вообще последняя свеча и ее значение.


SIZE() возвращает количество доступных свечей инструмента

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

Подробнее
8 года 5 мес. назад #2996 от DigitService
DigitService ответил в теме Market Scanner

admin пишет:

DigitService пишет: Михаил, в алертере нашел а в сканере не могу найти функцию или команду проверяющую есть ли вообще последняя свеча и ее значение.


SIZE() возвращает количество доступных свечей инструмента


это все здорово, но как им пользоваться?
как в алертере была бы прекрасная команда еxist .. проверять есть последняя свеча или нет.. если я правильно понял.

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

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #2997 от admin
admin ответил в теме Market Scanner
В сканере ситуация такова:

Если количество свечей не равно 0, то все свечи содержат правильные данные. В том числе и последняя с номером 0.

Пустых свечей в сканере нет.
Последнее редактирование: 8 года 5 мес. назад пользователем admin.

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

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #2998 от admin
admin ответил в теме Market Scanner
Версия 1.21:
  • Добавлен расчет индикатора MACD (функции MACD() и MACDS())
  • Добавлен расчет индикатора MACD Histogram (функция MACDH)
  • Проверка на корректность задания выражений секций производится при старте скрипта
  • Версия скрипта выведена в заголовок таблицы
  • Ускорена работа
Последнее редактирование: 8 года 5 мес. назад пользователем admin.
Спасибо сказали: DigitService

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

Подробнее
8 года 5 мес. назад #3000 от DigitService
DigitService ответил в теме Market Scanner

admin пишет: В сканере ситуация такова:

Если количество свечей не равно 0, то все свечи содержат правильные данные. В том числе и последняя с номером 0.

Пустых свечей в сканере нет.




а если последняя свеча на графике периода день была неделю назад с ценой закрытия 123? при запросе С(0) какую цену будет выдавать сканер? а по запросу С(-7) будет выдавать значение 123? пытаюсь разобраться как работает данная система

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

Подробнее
8 года 5 мес. назад #3001 от admin
admin ответил в теме Market Scanner
Это и будет последняя свеча с номером 0. Больше торгов не было -и свечей тоже не будет.

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

Подробнее
8 года 5 мес. назад #3004 от DigitService
DigitService ответил в теме Market Scanner
Михаил а может есть шанс включить в сканер аналог команды EXIST (*)? как в алертере? Ну не получается никак по другому отфильтровывать в сканере по маске * из всей секции только свечки которые соответствуют дате СЕГОДНЯ (то есть только при условии наличия последней сегодняшней свечи начинать проверять какие то условия и производить расчеты). Ну никак не получается отфильтровать инструменты условием D(0) == DATE(), так как не работает просто данный вариант. Иначе проверять свои условия для свечей которые были неделю назад а попадают в выборку С(0) и уже который день показывают старый результат совсем не интересно и данный инструмент засоряет системные сообщения своими напоминаниями что какую то свечу там не может найти бесконечное число раз. по команде SIZE() отфильтровывается больше 2 свечей но последняя свеча не является свечой с датой СЕГОДНЯ и засоряет постоянно все выборки.

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

Подробнее
8 года 5 мес. назад - 8 года 5 мес. назад #3005 от admin
admin ответил в теме Market Scanner
Почему не работает?

Создайте секцию с этими параметрами
CONDITION   = D(0) == DATE()
DESCRIPTION = #D(0)# #DATE()#

На любом инструменте, на котором СЕГОДНЯ были сделки она сработает и покажет вам дату последней свечи и текущую. Результат функций D() и DATE() - обычные числа, их можно сравнивать.

Количество свечей можно узнать функций SIZE(). Получается что-то типа
CONDITION = SIZE() > 0 and D(0) == DATE()

Если первая часть условия не выполнится, то вторая даже рассчитываться не будет и никаких сообщений лишних о том, что нет свечей вы не получите
Последнее редактирование: 8 года 5 мес. назад пользователем admin.

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

Подробнее
8 года 5 мес. назад #3008 от DigitService
DigitService ответил в теме Market Scanner
Михаил, а вот еще такой вопрос, может подскажете как разработчик программы как его можно было бы решить средствами программы и можно ли решить?

Хочу сканер использовать для возможности поиска по всем инструментам секции расчет динамики цены с начала 2018 года.
Есть ли возможность запросить закрытие или любое другое поле (хай, лоу) по состоянию на конкретную дату?
например С(20171229)
ну и в дальнейшем использовать этот показатель в формуле (С(0)-С(20171229))/С(20171229)*100
или может какую переменную иметь возможность присвоить лишь бы сама программа опознавала и вытаскивала значения на конкретную дату.
Это типичная самая банальная функция сканера.
С уважением

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

Подробнее
8 года 5 мес. назад #3017 от DigitService
DigitService ответил в теме Market Scanner
Михаил, приветствую,
при работе скрипта система выкидывает флаг SYSTEM OUT OF MEMORY.
я так понимаю что это квик ругается на память.
у меня оперативка 32 и процентов 95 диска пусты.
увеличил размер виртуального диска в виндоус 10.
что еще из настроек можно было бы настроить и поправить чтобы система работала и не отключалась и не выкидывалась?
может настройки самого квика?

С уважением.

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

Подробнее
8 года 5 мес. назад #3023 от DigitService
DigitService ответил в теме Market Scanner
Михаил приветствую, вот только перебором вариантов удалось запустить расчет значения боллинджеров для расчета волатильности. Проблема в том что если согласно инструкции писать команду, то при указании в дескрипшене вот в такой форме

MB #BB_MIDDLE(0,20,2,C)# HB #BB_TOP(0,20,2,С)# LB #BB_BOTTOM(0,20,2,С)#

выводился и показывался только значение MB а остальные выводились текстом как HB #BB_TOP(0,20,2,С)# LB #BB_BOTTOM(0,20,2,С)#

блок выглядит вот так
[вола]
CLASSCODE = INDX
SECCODE = RTSI
TIMEFRAME = D1
CONDITION = D(0) == DATE() and SIZE() >10 and BB_MIDDLE(0,20,2,C) > 0 and BB_TOP(0,20,2,С) > 0 and BB_BOTTOM(0,20,2,С) > 0
DESCRIPTION = #SERVERTIMESTR()# инструмент #INSTRUMENT()# #CODE()# MB #BB_MIDDLE(0,20,2,C)# HB #BB_TOP(0,20,2,С)# LB #BB_BOTTOM(0,20,2,С)#


ругается вот так
[сигнал] : Выражение D(0) == DATE() and SIZE() >10 and BB_MIDDLE(0,20,2,C) > 0 and BB_TOP(0,20,2,С) > 0 and BB_BOTTOM(0,20,2,С) > 0 задано ошибочно: [string "return D(0) == DATE() and SIZE() >10 and BB_MIDDLE(0,20,2,C) > ..."]:1: unexpected symbol near 'С'


подозрение что в скрипте чего то не хватает или лишний символ

но если писать команду не полностью как в инструкции а без символа С, то при указании в дескрипшене вот в такой форме

MB #BB_MIDDLE(0,20,2)# HB #BB_TOP(0,20,2)# LB #BB_BOTTOM(0,20,2)#

все значения начинают выводиться нормально и полностью.
с уважением.

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

Подробнее
8 года 5 мес. назад #3024 от admin
admin ответил в теме Market Scanner
Проверил. Все работает правильно.


Наверное C у вас на кириллице.

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

Подробнее
8 года 5 мес. назад #3025 от DigitService
DigitService ответил в теме Market Scanner
Михаил, перебил на английском все заново
MB #BB_MIDDLE(0,20,2,C)# HB #BB_TOP(0,20,2,С)# LB #BB_BOTTOM(0,20,2,С)#
вроде бы работает пока...

но заметна другая проблема.. значения рассчитываемых линий верхнего и нижнего боллинджера отличаются стабильно на 1-3 фигуры от значения линий в квике.
Даже средний боллинджер различается на десятые от квиковского значения.

Смотрел секцию ФОРТС.. но может там меньше свечей и это влияет на расчет..
посмотрел секции INDX, RTSIDX
да и любую секцию.

С уважением

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

Подробнее
8 года 5 мес. назад #3026 от admin
admin ответил в теме Market Scanner
Это связано с округлениями, которые делает терминал. Сканер считает точно - до 8 знака (или даже точнее)

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

Подробнее
8 года 5 мес. назад #3028 от DigitService
DigitService ответил в теме Market Scanner

admin пишет: Это связано с округлениями, которые делает терминал. Сканер считает точно - до 8 знака (или даже точнее)


Михаил, если возможно - проверьте плс результаты.. если необходимо то я могу свои примеры тут привести.. если средний боллинджер еще плюс минус почти похож на квиковский расчет,.. тем более что там все просто.. простая скользящая средняя не требует особых сложных расчетов..
то крайние боллинджеры значительно расходятся с цифрами и линиями в квике. Удивительно как факт то, что макд использует гораздо более сложные экспоненциальные средние и они бьются один в один с квиковскими.

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

Подробнее
8 года 5 мес. назад #3031 от admin
admin ответил в теме Market Scanner
А sma в сканере совпадает с квиковской?

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

Подробнее
8 года 5 мес. назад #3034 от DigitService
DigitService ответил в теме Market Scanner

admin пишет: А sma в сканере совпадает с квиковской?


да. сма совпадает с квиковской полностью. совпадают и в квике и в сканере значения сма20=средний болл

блок сформирован так.

[Цена больше MA]
CLASSCODE = INDX
SECCODE = MICEXINDEXCF
TIMEFRAME = D1
CONDITION = C(0) > SMA(0,20,C)
DESCRIPTION = Инструмент #INSTRUMENT()# Код #CODE()# Цена #FMT(C(0))# MA #ROUND (SMA(0,20,C),5)# MB #BB_MIDDLE(0,20,1,C)# HB #BB_TOP(0,20,1,C)# LB #BB_BOTTOM(0,20,1,C)#
COLOR = RGB(0,100,0)

[Цена ниже MA]
CLASSCODE = INDX
SECCODE = MICEXINDEXCF
TIMEFRAME = D1
CONDITION = C(0) < SMA(0,20,C)
DESCRIPTION = Инструмент #INSTRUMENT()# Код #CODE()# Цена #FMT(C(0))# MA #ROUND (SMA(0,20,C),5)# MB #BB_MIDDLE(0,20,1,C)# HB #BB_TOP(0,20,1,C)# LB #BB_BOTTOM(0,20,1,C)#
COLOR = RGB(255,0,0)

результатом является на 28.01.18
INDX#MICEXINDEXCF Код Индекс МосБиржи Цена 2 295.26 МА 2237.711 МВ 2237.711 НВ 2323.9047908382 LB 2151.5172091618

на графике квика
цена 2 295.26 МА 2237.71 МВ 2237.71 НВ 2375.27 LB 2100.14

значения скриптовых средней20 и среднего боллинджера совпадают со значениями квиковскими
разница в значениях верхнего боллинджера 2323.90 и 2375.27 значительна
разница в значениях нижнего боллинджера 2151.52 и 2100.14 значительна

с уважением

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

Подробнее
8 года 5 мес. назад #3035 от DigitService
DigitService ответил в теме Market Scanner
Михаил, и еще вопрос касательно загрузки памяти при выполнении скриптов и Алертера и Сканера

По форуму квика почитал и там люди как и я сталкивались с проблемой нехватки памяти в процессе исполнения скриптов на луа.
то есть такой проблемы с квиком вообще нет если не включать скрипты.
а если скрипты работают и загружены и инструментов и окон много то через несколько дней появляется сообщение что

out of memory

тем не менее на форуме пишут что кроме ограничения количества физических показателей наблюдаемых скриптами в самих скриптах используют какие то команды .. уборщики мусора в скрипте ... и регулярно в процессе работы скрипта вызываются эти уборщики и что то успевают там зачистить. интересно используются ли они в ваших программах?

сейчас если наблюдать по загрузке памяти в диспетчере задач то получается что без работы квика память используется процентов на 35... при включении квика загрузка вырастает до 65.. при включении сканера загрузка вырастает до 77

на этой грани уже начинаются окна про нехватку памяти

при отключении скрипта ничего не меняется с загрузкой памяти..

при отключении квика загрузка сразу падает до 35

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

Подробнее
8 года 5 мес. назад #3036 от admin
admin ответил в теме Market Scanner
Я вернусь через неделю из Праги и посмотрю.

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

Подробнее
8 года 5 мес. назад #3037 от admin
admin ответил в теме Market Scanner
Сделайте эксперимент с одной секцией и одним инструментом в нем. Посмотрите объем памяти и загрузку процессора.

После чего сделайте так, чтобы в секции обрабатывалось 10 инструментов и снова посмотрите.

Потом закажите обработку сотни или тысячи инструментов. Если в этот момент начнутся проблемы с памятью - увы и ах. Просто слишком много данных, они не помещаются в памяти и процессор не успевает их обработать

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

Подробнее
8 года 5 мес. назад #3039 от DigitService
DigitService ответил в теме Market Scanner

admin пишет: Сделайте эксперимент с одной секцией и одним инструментом в нем. Посмотрите объем памяти и загрузку процессора.

После чего сделайте так, чтобы в секции обрабатывалось 10 инструментов и снова посмотрите.

Потом закажите обработку сотни или тысячи инструментов. Если в этот момент начнутся проблемы с памятью - увы и ах. Просто слишком много данных, они не помещаются в памяти и процессор не успевает их обработать


да, разумеется.
квик у меня и на самом деле очень перегружен и инструментами и закладками и окнами и число их очень большое.
сейчас после чистки и закладок и инструментов и окон процентов на 75 от прежнего количества

получается что стандартный общий уровень загрузки памяти на уровне 30-35
при включении квика загрузка поднимается до уровня 65-70 снова и уже остается на этом уровне не смотря на работающие скрипты и пока не повышается и не ругается.. протестирую еще дополнительно

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

Подробнее
8 года 5 мес. назад #3040 от DigitService
DigitService ответил в теме Market Scanner
SORT = S+ // Сортировка экранной таблицы. Если не задано, сортировка не производится
// S - секция, I - инструмент, P - параметр. Значок + или - указывает направление сортировки


и еще вопрос касательно фильтровки инструментов в таблице Сканера.
как можно настроить фильтр чтобы он выводил все инструменты хронологически по мере появления безотносительно алфавита и секций. то есть новые сигналы мне нужны либо в конце таблицы появляющиеся либо в ее начале.

С уважением

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

Подробнее
8 года 5 мес. назад #3042 от admin
admin ответил в теме Market Scanner
SORT = S+ // Сортировка экранной таблицы. Если не задано, сортировка не производится


Что-то не так?

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