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

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

Страницы: Пред. 1 ... 67 68 69 70 71 72 73 74 75 76 77 ... 79 След.
Помогите определиться - Plaza или FIX
 
ключевым моментом будет канал доступа. Это вам будет стоить от 10 до 100 т р в месяц.
Готовы?
Линейка
 
можно пластмассовую линейку взять и прикладывать к тому месту, где хочется.
и никакой проблемы.
Железо для торговли роботом
 
А что брокер Вам обещал и за какие деньги,
когда брали у него место на сервере?
Железо для торговли роботом
 
полагаю,
что у брокера Вы существенно выигрываете в скорости реакции.
Но это можно сказать лишь если покажите то, что указал ранее.
Где скачать документацию по qlua
 
нашел
Где скачать документацию по qlua
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
В файле QLUA.chm
дайте ссылку , где на вашем сайте это лежит.
Спасибо
Где скачать документацию по qlua
 
действительно,
хотелось бы услышать начальника транспортного цеха.
где документация на QLUA версии 7.
Спасибо
QUIK (версия 7.0.1.5), function OnTrade(trade), трехкратный вызов на одно событие.
 
Я пользуюсь таким алгоритмом для отличия первого колбека от последующих
Создаем таблицу событий по которым следим за колбеками (активным событиям)
при поступлении колбека по событию изменяем его состояние в таблице событий.
Если событие стало неактивным, то удаляем его из таблицы состояний.
Проблем с кучей колбеков на одно и тоже событие у меня нет.
Расчет EMA, Формула расчета в Quik?
 
еще замечу автору вопроса:
если обратитесь к литературе, то обнаружите, что EMA это простейший цифровой фильтр с бесконечной импульсной характеристикой.  
Так как фильтрацию делаем на конечном интервале, то вне 3000 значений мы как бы придумываем Есть различные варианты продления данных за интервал наблюдения.
Это тоже есть в книжках.
Если интересно, что там за горизонтом, можно прочитать в книжках перед изобретением колеса.
Расчет 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
Получение количество лотов в позиции
 
примерно так:
Скрытый текст
Страницы: Пред. 1 ... 67 68 69 70 71 72 73 74 75 76 77 ... 79 След.
Наверх