Market Scanner
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
например в таком условии.
[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. Тогда смело можно будет запускать сканер по маске * по всем инструментам и скрипт не будет ругаться.
Еще такая тонкость.. данное условия работать будет если запускается скрипт в рабочий день. Если же я запускаю скрипт в выходной день, то необходимо чтобы функция проверки наличия последней свечи проверяла разумеется по состоянию на пятницу а не на субботу и воскресенье.
с уважением.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
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е значение с учетом периода средней?
Да, это канал дончиана.
Готовый индикатор есть на этом сайте и его можно скачать, чтобы посмотреть, как он работает. Средней тут никакой , конечно же, нет.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
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 совершенно то же самое только еще есть период и это встроенный в квик индикатор.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Так и здесь. Если по какой-то причине скрипт завершает работу - нужно понять что это за причина и вылечить именно ее. Пока я не понимаю, как вам удается добиться этого эффекта.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
DigitService пишет: Михаил, в алертере нашел а в сканере не могу найти функцию или команду проверяющую есть ли вообще последняя свеча и ее значение.
SIZE() возвращает количество доступных свечей инструмента
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
admin пишет:
DigitService пишет: Михаил, в алертере нашел а в сканере не могу найти функцию или команду проверяющую есть ли вообще последняя свеча и ее значение.
SIZE() возвращает количество доступных свечей инструмента
это все здорово, но как им пользоваться?
как в алертере была бы прекрасная команда еxist .. проверять есть последняя свеча или нет.. если я правильно понял.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Если количество свечей не равно 0, то все свечи содержат правильные данные. В том числе и последняя с номером 0.
Пустых свечей в сканере нет.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Добавлен расчет индикатора MACD (функции MACD() и MACDS())
- Добавлен расчет индикатора MACD Histogram (функция MACDH)
- Проверка на корректность задания выражений секций производится при старте скрипта
- Версия скрипта выведена в заголовок таблицы
- Ускорена работа
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
admin пишет: В сканере ситуация такова:
Если количество свечей не равно 0, то все свечи содержат правильные данные. В том числе и последняя с номером 0.
Пустых свечей в сканере нет.
а если последняя свеча на графике периода день была неделю назад с ценой закрытия 123? при запросе С(0) какую цену будет выдавать сканер? а по запросу С(-7) будет выдавать значение 123? пытаюсь разобраться как работает данная система
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Создайте секцию с этими параметрами
CONDITION = D(0) == DATE()
DESCRIPTION = #D(0)# #DATE()#На любом инструменте, на котором СЕГОДНЯ были сделки она сработает и покажет вам дату последней свечи и текущую. Результат функций D() и DATE() - обычные числа, их можно сравнивать.
Количество свечей можно узнать функций SIZE(). Получается что-то типа
CONDITION = SIZE() > 0 and D(0) == DATE()Если первая часть условия не выполнится, то вторая даже рассчитываться не будет и никаких сообщений лишних о том, что нет свечей вы не получите
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
Хочу сканер использовать для возможности поиска по всем инструментам секции расчет динамики цены с начала 2018 года.
Есть ли возможность запросить закрытие или любое другое поле (хай, лоу) по состоянию на конкретную дату?
например С(20171229)
ну и в дальнейшем использовать этот показатель в формуле (С(0)-С(20171229))/С(20171229)*100
или может какую переменную иметь возможность присвоить лишь бы сама программа опознавала и вытаскивала значения на конкретную дату.
Это типичная самая банальная функция сканера.
С уважением
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
при работе скрипта система выкидывает флаг SYSTEM OUT OF MEMORY.
я так понимаю что это квик ругается на память.
у меня оперативка 32 и процентов 95 диска пусты.
увеличил размер виртуального диска в виндоус 10.
что еще из настроек можно было бы настроить и поправить чтобы система работала и не отключалась и не выкидывалась?
может настройки самого квика?
С уважением.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
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)#
все значения начинают выводиться нормально и полностью.
с уважением.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Наверное C у вас на кириллице.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
MB #BB_MIDDLE(0,20,2,C)# HB #BB_TOP(0,20,2,С)# LB #BB_BOTTOM(0,20,2,С)#
вроде бы работает пока...
но заметна другая проблема.. значения рассчитываемых линий верхнего и нижнего боллинджера отличаются стабильно на 1-3 фигуры от значения линий в квике.
Даже средний боллинджер различается на десятые от квиковского значения.
Смотрел секцию ФОРТС.. но может там меньше свечей и это влияет на расчет..
посмотрел секции INDX, RTSIDX
да и любую секцию.
С уважением
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
admin пишет: Это связано с округлениями, которые делает терминал. Сканер считает точно - до 8 знака (или даже точнее)
Михаил, если возможно - проверьте плс результаты.. если необходимо то я могу свои примеры тут привести.. если средний боллинджер еще плюс минус почти похож на квиковский расчет,.. тем более что там все просто.. простая скользящая средняя не требует особых сложных расчетов..
то крайние боллинджеры значительно расходятся с цифрами и линиями в квике. Удивительно как факт то, что макд использует гораздо более сложные экспоненциальные средние и они бьются один в один с квиковскими.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
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 значительна
с уважением
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
По форуму квика почитал и там люди как и я сталкивались с проблемой нехватки памяти в процессе исполнения скриптов на луа.
то есть такой проблемы с квиком вообще нет если не включать скрипты.
а если скрипты работают и загружены и инструментов и окон много то через несколько дней появляется сообщение что
out of memory
тем не менее на форуме пишут что кроме ограничения количества физических показателей наблюдаемых скриптами в самих скриптах используют какие то команды .. уборщики мусора в скрипте ... и регулярно в процессе работы скрипта вызываются эти уборщики и что то успевают там зачистить. интересно используются ли они в ваших программах?
сейчас если наблюдать по загрузке памяти в диспетчере задач то получается что без работы квика память используется процентов на 35... при включении квика загрузка вырастает до 65.. при включении сканера загрузка вырастает до 77
на этой грани уже начинаются окна про нехватку памяти
при отключении скрипта ничего не меняется с загрузкой памяти..
при отключении квика загрузка сразу падает до 35
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
После чего сделайте так, чтобы в секции обрабатывалось 10 инструментов и снова посмотрите.
Потом закажите обработку сотни или тысячи инструментов. Если в этот момент начнутся проблемы с памятью - увы и ах. Просто слишком много данных, они не помещаются в памяти и процессор не успевает их обработать
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
admin пишет: Сделайте эксперимент с одной секцией и одним инструментом в нем. Посмотрите объем памяти и загрузку процессора.
После чего сделайте так, чтобы в секции обрабатывалось 10 инструментов и снова посмотрите.
Потом закажите обработку сотни или тысячи инструментов. Если в этот момент начнутся проблемы с памятью - увы и ах. Просто слишком много данных, они не помещаются в памяти и процессор не успевает их обработать
да, разумеется.
квик у меня и на самом деле очень перегружен и инструментами и закладками и окнами и число их очень большое.
сейчас после чистки и закладок и инструментов и окон процентов на 75 от прежнего количества
получается что стандартный общий уровень загрузки памяти на уровне 30-35
при включении квика загрузка поднимается до уровня 65-70 снова и уже остается на этом уровне не смотря на работающие скрипты и пока не повышается и не ругается.. протестирую еще дополнительно
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- DigitService
- Не в сети
- Захожу иногда
-
- Сообщений: 37
- Спасибо получено: 0
// S - секция, I - инструмент, P - параметр. Значок + или - указывает направление сортировки
и еще вопрос касательно фильтровки инструментов в таблице Сканера.
как можно настроить фильтр чтобы он выводил все инструменты хронологически по мере появления безотносительно алфавита и секций. то есть новые сигналы мне нужны либо в конце таблицы появляющиеся либо в ее начале.
С уважением
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Что-то не так?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
