nikolz (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 60 61 62 63 64 65 66 67 68 69 70 ... 72 След.
Расчет EMA, Формула расчета в Quik?
 
выкладываю модуль расчета индикаторов EMA
написал очень давно, результаты должны быть как в квике
Код
local modname = ...
--автор Николай Камынин kamnik@mail.ru www.kamynin.ru
local M = {}
_G[modname] = M
package.loaded[modname] = M
local _G=_G  -- глобальная таблица
setfenv(1, M)
function EMAt(y,x,m,i,n)  --x- таблица
   if m>=i then   local s=0; for j=0,i-1 do s=s+x[i-j] end y[i]=s/i;
   else   if n==nil then y[i]=(y[i-1]*(m-1)+2*x[i])/(m+1);   else y[i]=y[i-1]   -(x[i-m]   -x[i])/m; end
   end
end
function EMAf(y,x,m,i,n)   --x- функция
   if m>=i then   local s=0; for j=0,i-1 do s=s+x(i-j) end y[i]=s/i;
   else   if n==nil then y[i]=(y[i-1]*(m-1)+2*x(i))/(m+1);   else y[i]=y[i-1]-(x(i-m)-x(i))/m; end
   end
end

function sEMA(y,x,m,i)
   local s=y;
   if m>=i then  s=((m-1)*s+x)/m; else    s=(s*(m-1)+2*x)/(m+1);  end
return s;
end --скользящее среднее x период m  n если не задано то ехпонента или простое сглаживание


CreateDataSource
 
честно говоря, написал это еще год назад.
но как-то не было надобности использовать.
 
CreateDataSource
 
Для справки:
Реализовал открытие источников без графиков для индикаторов.
-------------------
алгоритм следующий:
1) сделал библиотеку для запуска  функций любого скрипта из других скриптов
2) Написал скрипт, который отвечает за открытие источников и находится в спящем потоке.
3) Если индикатору или скрипту нужны данные по истории,
то он обращается за данными к спящему скрипту,
который возвращает индикатору требуемые данные.
--------------------
Железо для торговли роботом
 
Поясню еще раз.
-----------------------
1) Железо можно взять любое, лишь бы памяти не менее 2 Гб.
На этом сервере у Вас 1.5 а пик более 1.5 т е бывает выгрузка на диск - это плохо.
Поэтому памяти не менее 2.
--------------------------
2)  сейчас у Вас квик у брокера в дата центре.
сделайте  в работающем КВИКЕ  во 10:00, 12:00 и 21:00
информационное окно в расширенном варианте и покажите,
тогда можно будет сказать конкретно на сколько хуже.
Как пошагово выполнять скрипт на qlua при запучке из QUIK ?, Вся суть, в принципе, выражена в вопросе.
 
никак.
чтобы отслеживать ошибки делайте вывод переменных в лог файл.
getBuySellInfoEx
 
откатить версию:
из backup из каталога нужной версии переписываем в QUIK.
Колбэк при частичном открытии лимитированной позиции
 
для начала читаем документацию:
OnOrder  Функция вызывается терминалом QUIK при получении новой заявки или при  изменении параметров существующей заявки.
Черным  по белому написано:
придет onOrder,
так как произошло изменение позиции,
т е изменились параметры выставленной заявки.
Т е у заявки на бирже изменились параметры.
Новая не выставлялась.
Как зделать переворот пози?
 
Цитата
Андрей Мурга написал:
Ви не поняли,Смотрите
if aaa>bbb then buy end
if aaa<bbb then закрить бай и открить селл,Как ето записать кодом?
тоесть банальний реверс просто увиличить контракт не поможет робот потом запутается
if aaa<bbb then sell end
----------------------------------------
если продать столько же сколько в позиции,
то она закроется,
если продать больше, чем есть (если бумага маржируемая),
то откроется short.
 
Железо для торговли роботом
 
проблема скорее будет  не в железе,
а в задержках каналов связи и ОС ( алгоритм сингла).
тестируйте их пингом и потом принимайте решение.
Железо для торговли роботом
 
На указанном железе будет плохо.
Если хотите очень хорошо,
то робот надо ставить на удаленном выделенном железном сервере,
в крайнем случае виртуальном, возможно как сейчас у Вас.
Как зделать переворот пози?
 
сделать противоположную сделку
если купили, то продать
если продали, то купить
если курили, то курить
вопрос по индикаторам, движение индикатора
 
отправил на почту пример
вопрос по индикаторам, движение индикатора
 
 покажите свой индикатор( программу).
OnOrder выдает ошибку
 
относительно объявления глобальных переменных в любом месте неверно.
вот пример:
print(x)
x=10
результат nil
OnOrder выдает ошибку
 
Вячеслав,
Все что я написал - есть правда.
Но причину ошибки я указал неверно.
Вы тоже неверно указали причину ошибки.
-------------------
Ошибка в том, что переменная order не содержит элемента order_num
Поэтому вызов функции onOrder с параметрами или без не спасает от этой ошибки.
программа на луа делает один цикл купить-продать, программу скачал с интернета. работает. или сам переделал. она купила или продала по индикатору и встала.
 
бесконечный цикл в функции Main
Порядок отслеживания процесса выполнения транзакций
 
еще надо (я отслеживаю)
заявки, которые выставляет человек, от заявок робота;
заявки, которые являются стопами от заявок которые являются условными для открытия позиции.
это до кучи
Порядок отслеживания процесса выполнения транзакций
 
еще надо отслеживать стоп-заявки и отличать их лимит заявки от выставляемых лимит заявок.
Это до кучи.
Синхронизация данных от SetUpdateCallback
 
примерно так:
Скрытый текст
Синхронизация данных от SetUpdateCallback
 
либо введите флаг . И по нему блокируйте обработку.
Синхронизация данных от SetUpdateCallback
 
поставьте выравнивание после обработки.
Сортировка пользовательской таблицы QUIK
 
по QLUA
HHV, LLV за период в LUa ?, Реализация в Луа в виде индикатора HHV LLV
 
возьмите решение из известного Вам проекта и перепишите его на луа.
HHV, LLV за период в LUa ?, Реализация в Луа в виде индикатора HHV LLV
 
В луа Ваша задача тоже решается легко.
HHV, LLV за период в LUa ?, Реализация в Луа в виде индикатора HHV LLV
 
vic,
самокритика - это похвально.
Но замечу,
не я Вас спрашиваю ,
при этом гордясь  собственным невежеством,
а ВЫ.
Сортировка пользовательской таблицы QUIK
 
см в документации Приложение 2.
Работа с OnOrder
 
 один ... может задать столько вопросов,
на которые 100 умных затрахаются отвечать.
-------------------------
Это сладкое слово - ХАЛЯВА.
Работа с OnOrder
 
Я уже писал как решать данную проблему.
Повторю еще раз.
Надо контролировать изменение лимитов.
И при их изменении шевелиться с заявками.
тогда будет по ... сколько раз у вас сработает OnOrder
Обращение к произвольной ТТП, есть возможность?
 
нет,
взламывать не надо.
Так как мы имеем встроенную в основной поток VMLUA ,
следовательно все dll,
которые мы подключаем к ней являются родными для процесса info.exe (терминала КВИК)
-------------------------
Проблема лишь в отсутствии документации.
Но хорошей документацией QUIK никогда не славился.
Поэтому простейший реинженеринг софта потребуется
-----------------------------
Раньше, когда требовался взлом (до времен VM Lua) подобную задачу я делал даже без СИ, на скриптовом языке Autoit.
------------------
Но, правда, не вижу практической надобности этого мероприятия.
Как бороться с файлом alltrade.dat
 
можно делать так:
--------------------------------
руками в квике
1) нажать в меню "Очистить все и начать новый сеанс"'
-------------------------------
автоматом:
2)  батник прописать сценарий удалить файлы
3)  п 1 сделать автоматом
4)  написать  скрипт в батник для запуска квика и прочего.
Например:
у меня уже лет ...надцать квик по расписанию запускается скриптом и вводит пароли.
запускает все, что еще надо, можно удалять все, что не надо .  
OnOrder выдает ошибку
 
А ошибку Вы получаете потому, что у Вас вызов функции происходит до ее описания
Попробуйте изучить Lua.
OnOrder выдает ошибку
 
Нельзя колбек вставлять в main
попробуйте разобраться с назначением колбеков и main.
Так НЕЛЬЗЯ:
function main()     while is_run do   OnOrder()   sleep(50)           end end
Обращение к произвольной ТТП, есть возможность?
 
еще можно хуком.
но это для любителей экзотики.
Синхронизация данных от SetUpdateCallback
 
можно сделать очередь
либо использовать кораунды
а еще лучше переделать весь алгоритм
OnOrder выдает ошибку
 
Вы пишите скрипт или индикатор?
Одна сделка - OnTrade() два колбека
 
примерно так:
Скрытый текст
Куда быстрее попадают новые данные, в стакан или таблицу текущих параметров?, Интересуют лучший спрос и лучшее предложение - спред в стакане.
 
вопрос скорее будет в том, как быстро Вы сможете отреагировать на изменение данных.
Полагаю, что это время составит в среднем не менее 100 мс.
Поэтому разницы нет, если Вам не имеет значения очередь берите из ТТП
HHV, LLV за период в LUa ?, Реализация в Луа в виде индикатора HHV LLV
 
Вопрос к знатокам китайского языка.
Кто-нибудь может написать что-нибудь на китайском, чтобы я это понял.
Я  в китайском - ноль.
Функция обратного вызова OnFuturesClientHolding
 
1) С ошибкой в скрипте.
2) С ошибкой в понимании того, что запрограммировано.
Функция CreateDataSource
 
можно использовать:
1) getParamEx  – значения всех параметров биржевой информации из Таблицы текущих значений параметров,
2) getQuoteLevel2  – стакан по указанному классу и бумаге,
3) getItem  – для таблицы all_trades
Получение количество лотов в позиции
 
примерно так:
Скрытый текст
Перестают отображаться графики после многократного вызова CreateDataSource() - ds:Close()
 
а закрытие источников перенести в закрытие скрипта
Перестают отображаться графики после многократного вызова CreateDataSource() - ds:Close()
 
пардон, опечатка
надо сделать так:
Скрытый текст
Перестают отображаться графики после многократного вызова CreateDataSource() - ds:Close()
 
чтобы не было указанной проблемы надо сделать примерно так:

Скрытый текст
 
Обращение к произвольной ТТП, есть возможность?
 
можно через DDE
Синхронизация данных от SetUpdateCallback
 
swerg,
так как текст программы не приведен, то Ваше замечание тоже не верно.
Например, если обработка данных от колбека делается в main.
Тогда очередной вызов колбека может изменить данные в таблице,
через которую они передаются  в функцию в майн.
Т е теоретически указанная выше ситуация возможна.
Но, повторюсь, из приведенного рассказа автора это явно не следует.
Синхронизация данных от SetUpdateCallback
 
Из рассказа не очень понятна проблема.
из понятого, попробуйте использовать Coroutines
QUIK(версия 7.0.4.10), приколы
 
рекомендую всем сделать также, чтобы не трахаться с  версией 7
QUIK(версия 7.0.4.10), приколы
 
откатился на 6.17.3.6
подожду когда все приколы уберут из  версии 7.0.4...
QUIK(версия 7.0.4.10), приколы
 
Я отослал Вам дампы как Вы и просили.
Могу еще прислать.
скажите, что Вы в них нашли.
В чем причина крушения КВИКА?
Страницы: Пред. 1 ... 60 61 62 63 64 65 66 67 68 69 70 ... 72 След.
Наверх