зависит от реализации сохранения данных с использованием DDE колбек луа получает данные раньше DDE Но в целом луа будет медленнее СИ Есть свои особенности в каждом варианте Но в итоге хрен редьки не слаще.
ds = CreateDataSource ( "SPBFUT" , "RIZ5" , INTERVAL_M5)
ds: SetEmptyCallback ()
sleep ( 100 ) --ждем прокачки информации
for i = 1 ,ds: Size () do
Open = ds:O(i)
High = ds:H(i)
Low = ds:L(i)
Close = ds:C(i)
Volume = ds:V(i)
--остальной код
end
ds: Close ()
Я бы решал эту задачу несколько иначе, примерно так: --------------------------------- --эта часть кода должна быть вызвана один раз при установке связи с сервером: ds = CreateDataSource ( "SPBFUT" , "RIZ5" , INTERVAL_M5) ds: SetEmptyCallback () ----------------------------- --Далее в программе делаем так: local size_now=ds:Size() if size_old==nil or size_old>size_now then Size_old=0; Open,High,Low,Close,Volume={},{},{},{},{}; else for i = size_old,size_now-1 do local n=i+1; Open[n] = ds: (i) High[n] = ds:H(i) Low[n] = ds:L(i) Close[n] = ds:C(i) Volume[n] = ds:V(i) end end size_old=size_now -- последней свечой в массивах Open,High,Low,Close,Volume будет всегда последняя полученная с сервера свеча ----------------------------------------
Проще решать данную задачу в индикаторе. Вне зависимости от выбранного тайма графика, функция OnCalculate будет вызываться на каждый тик из таблицы всех сделок по данному инструменту. Вот и стройте свечи с любым таймом.
дополню предыдущий ответ. Надо читать параметры инструмента не в init, а в onCalculate() например так: ------------------------- function OnCalculate(k) if k==1 then --делаем инициализацию и идентификацию ... end --текущие расчеты для каждого тика ... end
Скрипт выслать не могу. Это рабочий скрипт, робота,который ноу-хау, объем большой. 9 модулей lua ( использован весь ресурс числа локальных переменных ) +своя библиотека dll на C++.
Добрый день, Например, у меня есть индикатор - параметры дня. Отображает открытие, закрытие, максимум , минимум дня. Открыто две диаграммы. --------------------------------- В одной лишь одно окно с графиком сбербанка. В этом окне все ок. На истории все отображается без проблем ------------------------------------- В другой диаграмме открыто два окна На первом несколько графиков различных инструментов на втором - тоже самое, что и на первой диаграмме - график сбербанка. Когда начинаю растягивать или сужать график во втором окне, то линии параметров дня начинают исчезать, перепрыгивать, например минимум отображается как максимум, либо минимум дня становится равным локальному минимуму, который в данный момент виден в окне графика.
Добрый день, ----------------------------- У меня написан скрипт индикатора, в котором отображается метками состояние позиции. Картинки можно увидеть на сайте www.kamynin.ru В скрипте сделано удаление всех меток в окне функция DelAllLabels(chart_tag) при размещении индикатора на графике. Если я удаляю индикатор, то метки остаются. Если загружаю индикатор снова , то метки удаляются и размещаются новые (метки обновляются). После удаления индикатора, можно удалить метки из меню опцией "Удалить все метки" ------------------------------- До вчерашнего дня я работал без вынесения окна графика на другой монитор. После вынесения на другой монитор, при загрузке индикатора снова, новые метки накладываются на старые, т е получается ИЛИ двух изображений. Удалить метки опцией "Удалить все метки" невозможно. -------------------------------
Если в одной диаграмме открываем несколько графических окон с инструментами и в одно из окон размещаем свой индикатор, то индикатор рисуется неверно Если в диаграмме лишь одно окно с этим индикатором, то все нормально. версия квик 6.17.3.6
1) Если окно с индикатором, в котором используются метки, вынести, то невозможно удалить метки, в т ч. и из меню "Удалить все метки" . версия квик 6.17.3.6 (в предыдущих тоже самое)
по-моему это ошибка не квик, а луа скрипта, либо ,в крайнем случае , луа машины. у меня так не падает, поэтому делаю вывод, что проблема в Вашем скрипте.
Viktor MMM, Удивляете Вы меня, то говорите, что не программист и тут же беретесь за WinApi. Это как не умея водить авто записаться на участие в формуле1. Вам же сказали , что сделать нельзя.
Если нельзя, но очень хочется то можно попробовать указать EXECUTION_CONDITION -Условие исполнения заявки, необязательный параметр. Со значением «FILL_OR_KILL» – немедленно или отклонить, ------------------------- Относительно перехвата заявки перехватчиками, то это Вам кажется. Очевидно Вы пришли с кухне форекса. Но там не биржевой рынок и свои законы, как в джунглях На бирже немного иначе. Скорее всего это маркет-мейкер стукает. Меняйте алгоритм.
Вы хотели продать по 67069, а биржа продала Вам по лучшей, чем Ваша цене 67075 --------------------------------------------------- Вы можете мне отдать лишнее.
Добрый день! Скажите, а можно ли с помощью луа на графике нарисовать горизонтальную линию, а потом её двигать мышкой вверх вниз... И чтобы скрипт, который её нарисовал, понимал, что линия передвинулась туда-то.
Вообще это реально средствами луа сделать без длл, корутин и прочих приблуд?
А где это Вы в LUA видели операторы для рисования чего-нибудь и без DLL?
1)Я привел выдержку из ранее действующего положение, т е вербальное описание расчета ГО до 07.09. (столбец 2 ) из Вашей ссылки. По этому описанию можно проверить правильность формул в таблице. (не проверял - лень) -------------------------------- 2) Если я правильно понял, то для новой редакции изменились лишь строки 2,5,6,9. В результате теперь убрали скидки: "при покупке выше расчетной цены или продаже ниже расчетной цены в ходе торгов скидка не предоставляется, и увеличили максимальное ГО до 3L"
У меня все гораздо скучнее, потому что просто. Есть цикл по параметрам оптимизации, которые задаем в виде "начало,конец,шаг". ------------------------------------ В результате - получаю оптимизированный по параметрам алгоритм. Эквити выводится и в реале и при оптимизации на график для каждой сделке. В реальной работе оптимизация отключается заданием нулевого шага. ----------------------------- картинку можно посмотреть на сайте www.kamynin.ru
Michael Bulychev пишет: добрый день. в присланном файле только это:
Код
require "iuplua"
При этом:
Цитата
Дмитрий Минеев пишет: Добавьте маску c \путь\\?.dll в package.cpath Это уже сделано
Где-то не сходится.
Если Вы копируете библиотеки в папку со скриптом, то: package.cpath = getScriptpath() .. "\\?.dll;".. package.cpath Либо вместо getScriptpath добавьте правильный путь к библиотекам
Никто не обратил внимание на мое решение, а напрасно. Зачем отсылать что-то на сторонний сервер, почему не поставить этот сервер на своем компе и забирать эти сообщения у своего сервера? Быстро, безопасно и бесплатно. Подумайте на досуге.
полагаю, что серверу брокера это делать очень накладно, поскольку он тогда должен обрабатывать все ордера на бирже. ------------------------------- При этом получится что все брокеры будут считать одно и тоже для всех сделок биржи. Это вообще бессмысленно. --------------------------------------- Поэтому это делает сервер биржи, так как он может определить направление при урегулировании сделки и выставить его в поток обезличенных сделок.
Михаил Филимонов пишет: Потому что с Trans2quik нельзя получать текущую рыночную информвцию
Естесственно. Trans2quik - механизм подачи транзакций Текущая рыночная информация отлично приезжает по DDE
А почесать левой ногой правое ухо?
Я Вас правильно понял, что Вы успешно и долго и много зарабатываете на опционах, а сюда пришил потому-что хотите свою торговлю на опционах автоматизировать? ----------------------------------- Если так, тогда понятно. ----------------------------------- Как я понял , вы не только много и долго зарабатываете на бирже на опционах, но еще и много и долго разрабатывали софт. --------------------------------------- Если так, то тогда понятно Ваше негодование плохим бесплатным софтом. ---------------------------------- Но позвольте вопрос? -------------------------- Если Вы много и долго, то может вам заказать софт и не тратить время на треп на данном форуме?
Михаил Филимонов пишет: Если Вы зарабатываете столько, что не можете оплатить работу через шлюз, то тогда, конечно, - "костыли"! Но,я, прежде чем работать через шлюз, хочу воспользоваться более простым способом (к сожалению в MetaTrader нет опционов) для проверки торговой системы.
Полагаю,что Вы хотели сказать, что мечтаете зарабатывать на бирже много. ---------------------------------------------------- Если же Вы зарабатываете на другом месте, а на биржу приносите свои деньги, то Вы сольете их и без шлюза и со шлюзом. ----------------------------------------------------------------- Молодым солдатам всегда думается, что его пуля еще не отлита.
Все "языки", прилагаемые к платформам для торговли на Бирже (Lua, MQL5 и прочие) - это прилаживание костылей. Должно быть полнофункциональное API, чтобы программист (на удобном для него языке) мог написать и отладить ЛЮБОГО робота! В качестве примера приведу CGate API Московской биржи.
Попробуйте посчитать стоимость системы, работающей через шлюз. (можно просто почитать цены на сервер квик или расценки разработчиков S#) Возможно тогда и костылям будете рады.
что такое инструмент? На фондовом рынке под этим понятием понимают акции, фьючерсы и опционы см для примера здесь: http://moex.com/ru/derivatives/contracts.aspx?p=act ------------------------------------- А инструментом вилы называются на сенокосе. ----------------------------------- Поэтому Вилы Эндрюса - это скорее индикатор. ------------------------------------- Если нужен индикатор - пишите на почту.
Есть ли какое приложение для экспорта в эксель необходимых значений любого индикатора технического анализа из графика?, Хочу экспортировать уже готовые значения индикатора та в эксель через ДДЕ, также как из таблицы котировок экспортирую данные.
Если хотите сами заняться конструированием роботов и исследовать их на истории, то возьмите амиброкер. В нем есть все индикаторы КВИК и даже больше. Есть оптимизация многопоточное исполнение Есть проблемы, но до них Вы дойдете не очень скоро.
нужен робот аналитик на луа(без выставления заявок, только уведомление в квике и в мэйл при срабатывании индикатора), сколько это будет стоить, есть набор из 15 инструментов, для каждого инструмента 4 периода - мес, нед, ден, час, и 3-4 стандартных индикатора квика условия срабатывания которых надо проверять и оповещать при срабатывании.
Отвечу на поставленный в блоке вопрос. такой робот будет стоить по меркам тусующихся на форуме дорого. ------------------------------------------------------- чтобы ответить точно сколько, надо подробно разработать тех задание. ------------------------------------------------------ Чтобы был более понятен мой ответ приведу аналогию. ----------------------------------------------------- Попробуйте ответить однозначно на вопрос: Сколько будет стоить автомобиль? После этого начните спрашивать из чего делается руль и какой он формы. ---------------------------------------------------
Николай Камынин пишет: Почему игрушка? Потому, что он не может самостоятельно торговать.
Смотря что подразумевать под словом торговать. Если торговать=зарабатывать, то да не может. Если торговать= открыть позицию на опционах, то может. Далее можно дорабатывать до бесконечности. К тому же используется бесплатная платформа https://github.com/hacktrade/hacktrade За аналогичную некоторые деньги просят http://www.kamynin.ru/archives/6145 Прошу прощения, что порчу бизнес.
Извинения принимаю. Но Вы ничего не портите, даже наоборот. Хочу заметить, что бесплатно работаю лишь рабы. ------------------------- Выставить заявку - это отправить транзакцию. торговать - это определить, когда это выгодно сделать . Но это уже другая история. Опционный робот - это самый сложный робот , это мое мнение, но Вы можете торговать и бесплатным. Дороже будет.