написал: Один компьютер может обсчитывать очень сложный алгоритм по одному инструменту в реальном времени. Например нейронную сеть на 1 миллиард нейронных связей. ------------------------Делаем в интернет пул скажем 1000 компьютеров Получаем распределенный кластер прогнозирования 1000 инструментов в реальном времени.
:: . «Остапа понесло ….. Остап со вчерашнего дня еще ничего не ел. Поэтому красноречие его было необыкновенно» Ильф и Петров: «Двенадцать стульев»
написал: Один компьютер может обсчитывать очень сложный алгоритм по одному инструменту в реальном времени. Например нейронную сеть на 1 миллиард нейронных связей. ------------------------ Делаем в интернет пул скажем 1000 компьютеров Получаем распределенный кластер прогнозирования 1000 инструментов в реальном времени.
При таком размахе нужен не QUIK, а плаза, а там совсем другой подход.
Ликбез: плаза - это протокол , а не терминал. --------------------- Plaza II Шлюз FORTS — Программное обеспечение, обеспечивающее обмен данными между Серверной частью ПО – Торговой и клиринговой системы рынка фьючерсных контрактов и опционов (Торговой системой FORTS) и сертифицированной брокерской системой Интернет-трейдинга (читай сервер QUIK ) по протоколу Plaza II.
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
29.03.2023 22:39:52
Прикольно,. Интерпретатор питона версия 3.10 на тесте фибо в 3 раза медленнее, чем Lua 5.3.
Вам такое не снилось!!!, LUA5.3 LUAJIT MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
29.03.2023 20:18:19
Один компьютер может обсчитывать очень сложный алгоритм по одному инструменту в реальном времени. Например нейронную сеть на 1 миллиард нейронных связей. ------------------------ Делаем в интернет пул скажем 1000 компьютеров Получаем распределенный кластер прогнозирования 1000 инструментов в реальном времени.
Вам такое не снилось!!!, LUA5.3 LUAJIT MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
29.03.2023 20:09:45
Цитата
Александр М написал: Сами по себе цифры конечно красивые и проделана видимо огромная работа, но вот практическая целесообразность такой оптимизации под вопросом для реальных задач из под QUIK.
нет никакой оптимизации. ------------------------- Какую реальную задачу Вы сейчас решаете? Возможно она потому и не решается, что решается примитивно. --------------------------------- Представьте , что можно на КВИКЕ решать задачу в 100 раз сложнее за тоже время, что у Вас сейчас. ---------------------------------------- А учитывая возможность запуска много потоков, сложность решаемой задачи на квик может быть в 500...1000 чем решаемая Вами сейчас. ------------------------------------- И это на обычном компьютере без CUDA. ---------------------- Прикиньте сколько стоит компьютер, который в 100 раз быстрее вашего считает? А 2 1000? Вот эту задачу это и решает. -------------------- Если вы пришли на рынок за баблом то не ждите, что Вам его примитивный скрипт принесет. Скорее всего он его сольет. Чудес не бывает.
Вам такое не снилось!!!, LUA5.3 LUAJIT MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
29.03.2023 12:34:12
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
29.03.2023 12:33:14
Какое значение находит эта формула?, Популярная формула 2*Close-Low-High
Пользователь
Сообщений: Регистрация: 30.01.2015
28.03.2023 12:23:03
пардон опечатка Это сглаженное значение максимального диапазона движения либо свечи за последний день, либо гэпа.
Какое значение находит эта формула?, Популярная формула 2*Close-Low-High
Пользователь
Сообщений: Регистрация: 30.01.2015
28.03.2023 12:22:03
пардон опечатка Это сглаженное значение максимального диапазона движения либо свечи за последний день, либо свечи с учетом гэпа.
Какое значение находит эта формула?, Популярная формула 2*Close-Low-High
Пользователь
Сообщений: Регистрация: 30.01.2015
28.03.2023 12:21:01
Цитата
Sergey написал: Спасибо за ответ! Я вчера размышлял пока засыпал и пришел к такому выводу. Выражаясь вашими словами, разность движений направлений за день, определяет и направление по которому будет следовать индикатор. Проще говоря, если цена закрытия ниже половины ATR, то направление индикатора будет вниз, даже если свеча при этом будет зеленой.
Каждый индикатор предполагает некоторую модель рынка. В данном случае предполагается, что во первых рынок очень ликвидный. ----------------- Индикатор ATR Расчетная формула ATR: ATR = Moving Average(TRj, n), где TRj = максимальному из модулей трех значений |High — Low|, |High — Closej-1|, |Low — Closej-1|. ------------------- Понимать его можно так: Это сглаженное значение максимального диапазона движения либо последней свечи за день, либо свечи с учетом гэпа. Т е это индикатор движения (волатильности) рынка. ----------------------- ATR - это индикатор разности, поэтому некорректно сравнивать его с ценой.
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
28.03.2023 12:10:23
Какое значение находит эта формула?, Популярная формула 2*Close-Low-High
Пользователь
Сообщений: Регистрация: 30.01.2015
28.03.2023 06:42:47
Модель данного индикатора такая. Предполагается, что направление движения цены определяет направление денежного потока на рынке. ----------------------------- Так как все широко известные индикаторы были предложены до компьютеров, то они предполагают интервал от дня и выше. ------------------------ Для конкретики рассмотрим интервал день. -------------- Чтобы было наглядно, нарисуйте один период синусоиды -------------------------- (Close-Low) -диапазон движения цены вниз относительно закрытия за день, -------------------- (High-Close) -диапазон движения цены вверх день ------------------ Предполагаем , что это разное направление движения денег . ---------------- 2*Close-Low-High =(Close-Low)-(High-Close) - разность направлений движения денег за день ------------------- High-Low - это весь диапазон движения денег за день -------------------- ((2*Close-Low-High)/(High-Low)) - относительное изменение денежного потока ------------------- ((2*Close-Low-High)/(High-Low))*Volume - абсолютное изменение денежного потока за день
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
27.03.2023 13:01:06
Вам такое не снилось!!!, LUA5.3 LUAJIT MQL5
Пользователь
Сообщений: Регистрация: 30.01.2015
27.03.2023 12:36:48
Сравни LUA5.3 и LUAJIT в QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
27.03.2023 11:30:47
Добрый день, Ранее сообщал, что сделал возможность запуска скриптов QUIL в отдельных потоках в LUAJIT. ---------------- кратко это работает так. В колбек OnParam приходят сделки инструментов, которые передаются в функцию main() ----------------------- В main - это LUA 5.3 по каждому инструменту запускается скрипт алгоритма робота в отдельном потоке из пула потоков под LUAJIT. ====================== На просторах интернета нашел тесты по которым разработчики сравнивали MT5 сравнивали MQL5 и LUA в QUIK. --------------------- вот сами тесты:
Код
-- TestQuickSort
local array={}
local function QuickSort(arr,left,right)
local i=left
local j=right
local center=arr[math.floor((i+j)/2)]
while i<=j do
while(arr[i]<center and i<right) do i=i+1 end
while(arr[j]>center and j>left) do j=j-1 end
if i<=j then local x=arr[i] arr[i]=arr[j] arr[j]=x i=i+1 j=j-1 end
end
if left<j then QuickSort(arr,left,j) end
if right>i then QuickSort(arr,i,right) end
end
local function Start1()
for i=0,MAX_SIZE-1 do array[i]=i%100 end
start=os.clock()
QuickSort(array,0,MAX_SIZE-1)
res=(os.clock()-start)*1000
print("TestQuickSort SIZE="..MAX_SIZE..", time=" .. res .. " ms")
for i=1,MAX_SIZE-1 do
if array[i]<array[i-1] then print("Array not sorted"); break;
end
end
end
local str=""
local a={}
local function PiCalculate(digits)
local d = 0
local c = (math.floor(digits/4)+1)*14
local f = 10000
for i=0,c do a[i]=20000000 end
c=c-14
b=c
while b>0 do
e=d%f
d=e
while b-1>0 do
b=b-1
d = d * b + a[b]
g = (b * 2) - 1
a[b]=(d%g)*f
d=math.floor(d/g)
end
r=e+math.floor(d/f)
if r<1000 then
if(r>99) then
str=str .. "0"
else
if(r > 9) then
str=str .. "00"
else
str=str .. "000"
end
end
end
str=str .. string.format("%d",r)
c=c-14
b=c
end
end
function Start2()
start=os.clock()
PiCalculate(MAX_SIZE)
res=(os.clock()-start)*1000
print("TestPiCalculated SIZE="..MAX_SIZE..", time=" .. res .." ms Pi="..string.sub(str,1,16))
end
-- TestFibo
local fib={}
local function TestFibo(n)
if n<2 then return 1 else return TestFibo(n-2)+TestFibo(n-1) end
end
local function Start3()
start=os.clock()
for i=0,MAX_SIZE-1 do fib[i]=TestFibo(i) end
res=(os.clock()-start)*1000
print("TestFibo SIZE="..MAX_SIZE..", time="..res.." ms Fibo[39]="..fib[39])
end
-- TestArrays
local function Start4()
local x={} local y={}
local start=os.clock()
for i=1,MAX_SIZE,1 do x[i]=i y[i]=0 end
y[MAX_SIZE]=0
for k=1,MAX_SIZE,1 do
for i=MAX_SIZE, 1,-1 do y[i]=y[i]+x[i] end
end
local res=(os.clock()-start)*1000
local check=0
for k=1,MAX_SIZE,1 do check=check+y[k] end
print("Test Arrays SIZE="..MAX_SIZE..", Time = "..res.." ms check=".. check)
end
local function Ackermann(m,n)
if(m==0) then return(n+1) end
if(n==0) then return(Ackermann(m-1,1)) end
return(Ackermann(m-1,Ackermann(m,(n-1))))
end
-- TestAckermann
local function Start5()
local check=0
local start=os.clock()
for i=1,MAX_SIZE do check=check+Ackermann(1+i%3,1+i%5); end
local finish=os.clock()
local res=(finish-start)*1000
print("TestAckermann SIZE="..MAX_SIZE..",time=".. string.format("%.0f",res).." ms check="..check)
end
-- TestFloat
local f0=0.0
local f1=123.456789
local f2=98765.12345678998765432
local f3=12345678943.98
function TestFloat(MAX_SIZE)
MAX_SIZE=MAX_SIZE-1
for i=0, MAX_SIZE do
for j=0, MAX_SIZE do
f0=f0+(f1/(i+1))-f2+(f3*i);
end
end
end
function Start6()
local t=os.clock()
TestFloat(MAX_SIZE)
local res=(os.clock()-t)*1000
local check=f0
print("TestFloat SIZE="..MAX_SIZE..", time=" ..res.." ms check="..tostring(check));
end
MAX_SIZE=35000; Start6()
MAX_SIZE=120000; Start5()
MAX_SIZE=32000; Start4()
MAX_SIZE=40; Start3()
MAX_SIZE=22000; Start2()
MAX_SIZE=16000000; Start1()
=================== На этих тестах я провел тест LUA 5.3 и LUAJIT. ================== Результаты говорят сами за себя: Когда подключу MT5 к QUIK, то сделаю тест и для него. ----------------------- Следите за новостями.
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
26.03.2023 14:24:30
Цитата
Станислав написал: Очень интересно, поздравляю с успехом коллега!
Не понимаю, где была инициализирована переменная nk1?PS: К сожалению, не являюсь программистом на C/C++.
nk1 инициализирована в другом потоке и скрипте на Lua5.3. Применительно к скриту QUIK - в функции main() ------------------ Т е таким образом в этот поток в скрипт LuaJIT передаются любые параметры из потока со скриптом на Lua5.3
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
25.03.2023 19:09:48
В качестве ликбеза. ---------------------- LUAJIT - это компилятор с оптимизацией в реальном времени. --------------------------- Так как любой робот это циклическое повторение расчета алгоритма прогноза по полученным данным, то LuaJIT выполняет компиляцию и оптимизацию скрипта совместно с виртуальной машиной. ---------------------------- В итоге с каждым новым циклом скрипт работает все быстрее и быстрее, приближаясь по скорости к чистому CИ.
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
25.03.2023 19:03:41
сделал библиотеку , которая позволяет из скрипта на Lua5.3...5.4 вызвать в отдельных потоках скрипты на LuaJIT. Теперь можно запустить в скрипте КВИКА программный пакет TORCH ( ФАКЕЛ) . ---------------------------------- Вот пример бесконечного цикла скрипта в LuaJIT с синхронизацией потоков по событиям и вызов функций СИ через библиотеку FFI. --------------------------------. В этом примере из потока скрипта Lua5.3 передаются данные в поток скрипта LuaJIT через переменную nk1, которая выводится в файл.
Код
local ffi = require("ffi")
ffi.cdef[[
void Sleep(int ms);
long OpenEventA(uint64_t dwDesiredAccess, int bInheritHandle, const char* S);
long WaitForSingleObject( uint64_t hHandle, long dwMilliseconds);
long CreateEventA(int dwDesiredAccess, int M,int bInheritHandle, const char* S);
int SetEvent(uint64_t hEvent);
int ResetEvent(uint64_t hEvent);
]]
path = "D:/QUIK_SCRIPT/nk_bot/"
Log=io.open("D:/QUIK_SCRIPT/nk_bot/test_jit.log","w")
local event=ffi.C.OpenEventA(0x1f0003,0,"event");
while true do
local x=ffi.C.WaitForSingleObject(event,-1); --ждем события
local z=nk1;
Log:write(os.time()..","..tostring(z).."\n"); Log:flush();
ffi.C.ResetEvent(event)
-- print(x)
end
RSI старшего таймфрейма
Пользователь
Сообщений: Регистрация: 30.01.2015
24.03.2023 15:19:04
это не ложные шипики. Посмотрите формулу RSI RSI считается по разности закрытия свечей. Поэтому увеличение периода сглаживания не тоже самое что RSI на большем интервале. На интервале 1 день все свечи с интервалом 1 ча просто не существуют. Я конечно понимаю, что Вам все равно, так как Вы не понимаете смысла индикаторов.
Сборка свечей спроса и предложения из тиковых данных, Сборка свечей спроса и предложения из тиковых данных
Хочу собрать свечи по спросу и предложению (не закрытые заявки) из тиковых данных. Отдельно свечи, отражающие количество заявок и отдельно свечи, отражающие их объём.
Насколько я понимаю, система QUIK сама получает данные в тиковом виде и затем преобразует их в свечи, в том числе такие типы свечей, которые упомянул.
Я бы хотел как-нибудь воспользоваться этой возможностью системы, но не знаю как.
Подскажите, пожалуйста, что я могу сделать?
Вы ничего не путаете? Тики - это сделки, а не заявки.
Вызов функций С из DLL в скрипте Lua QUIK, информация к размышлению
Пользователь
Сообщений: Регистрация: 30.01.2015
22.03.2023 18:55:51
Добрый день, Всем известно, что есть библиотека ffi
Библиотека FFI позволяет вызывать внешние функции C и использовать структуры данных C из чистого кода Lua. Библиотека FFI в значительной степени устраняет необходимость написания утомительных ручных привязок Lua / C на C. Нет необходимости изучать отдельный язык привязки — он анализирует простые объявления C! Они могут быть вырезаны и вставлены из заголовочных файлов C или справочных руководств. Это задача связывания больших библиотек без необходимости иметь дело с хрупкими генераторами привязки. --------------------- Все казалось прекрасно, но... Библиотека FFI тесно интегрирована в LuaJIT (она недоступна как отдельный модуль). конечно, не так уж страшно, но... LuaJIT сделан на ядре Lua5.1 и следовательно для квика не подходит. ------------------------ Написал собственную библиотеку для любого ядра Lua, которая делает тоже самое, что и FFI, но быстрее. В итоге можно загрузить на исполнение любую функцию написанную на С/С++ из любой библиотеки DLL. И следовательно получить максимальную скорость вычисления любых алгоритмов, не программируя на СИ и не изучая API C for Lua. ---------------------------- Накладные расходы на преобразование параметров в пределах кванта высокоточного таймера (см далее). --------------------------- Вот пример вызова трех функций из WIN32 ------------------------------ QueryPerformanceCounter - высокоточный таймер квант 0.1 мкс. SleepEx - функция паузы MessageBoxA - вывод окна сообщения пример вызова в луа: В программе два варианта измерение интервала Sleep в 1 секунду и вывод результата в окно
Код
-------------sleep и высокоточный таймер вариант 1 -------------------
local x1=rfs("i","QueryPerformanceCounter","Kernel32.dll");
rfs(0,"SleepEx","Kernel32.dll",1000,0);
local x2=rfs("i","QueryPerformanceCounter","Kernel32.dll");
-------------sleep и высокоточный таймер вариант 2 -------------------
local pL,pF=nkcf.gf2L("Kernel32.dll","QueryPerformanceCounter")
local x3=rfs("i",pF);
rfs(0,"SleepEx","Kernel32.dll",1000,0);
local x4=rfs("i",pF);
s="t1="..0.1*(x2-x1).." мкс".." t2="..0.1*(x4-x3).." мкс";
print(" "..s);
rfs(0,"MessageBoxA","User32.dll",0, s, "sleep, timer",1);
а вот картинка результата
Как получить любой SECCODE по BASE_CONTRACT ?, В какой таблице идёт привязка между текущим фьючерсным инструментом и базовым активом?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.03.2023 16:16:18
Спецификации коротких кодов фьючерсных и опционных контрактов на срочном рынке
Коды срочных контрактов состоят из следующих частей:
Коды фьючерсов
C
M
Y
Коды опционов
C
P
K
M
Y
W
C – краткий код базисного актива, P – цена страйк (максимум 6 символов), К – тип расчетов, M – месяц исполнения (а также тип для опциона), Y – год исполнения, W – признак недельного опциона.
Для опционов на фьючерсные контракты в поле "цена страйк" указывается цена базисного актива (цена фьючерсного контракта). В свою очередь, цена фьючерсного контракта – это цена пакета акций, входящих в один контракт.
Для опционов на акции в поле "цена страйк" указывается цена за единицу базисного актива.
Кодирование типа расчетов (поле "К")
Символ в коротком коде
Базовый актив
Категория
Тип расчетов
A
Фьючерс
Американский
Уплата премии
B
Фьючерс
Американский
Маржируемый
С
Акция
Европейский
Уплата премии
Кодирование месяца исполнения (поле "M")
Для фьючерсов:
Месяц
Код фьючерса
Январь
F
Февраль
G
Март
H
Апрель
J
Май
K
Июнь
M
Июль
N
Август
Q
Сентябрь
U
Октябрь
V
Ноябрь
X
Декабрь
Z
Для опционов:
Месяц
Код опциона КОЛЛ
Код опциона ПУТ
Январь
A
M
Февраль
B
N
Март
C
O
Апрель
D
P
Май
E
Q
Июнь
F
R
Июль
G
S
Август
H
T
Сентябрь
I
U
Октябрь
J
V
Ноябрь
K
W
Декабрь
L
X
Кодирование года исполнения (поле "Y")
Год исполнения фьючерса и опциона кодируется одной цифрой от 0 до 9. 2 – 2022 год, 3 – 2023 год, 4 – 2024 год.
Недельный опцион с экспирацией в 1-й четверг месяца
Недельный опцион с экспирацией в 1-ю среду месяца
B
Недельный опцион с экспирацией во 2-ой четверг месяца
Недельный опцион с экспирацией во 2-ую среду месяца
С
Недельный опцион с экспирацией в 3-й четверг месяца
Недельный опцион с экспирацией в 3-ую среду месяца
D
Недельный опцион с экспирацией в 4-ый четверг месяца
Недельный опцион с экспирацией в 4-ую среду месяца
E
Недельный опцион с экспирацией в 5-ый четверг месяца
Недельный опцион с экспирацией в 5-ую среду месяца
Алгоритм определения полей Y, M и W для недельного опциона на фьючерсные контракты:
Рассматривается четверг недели, на которую приходится день экспирации
Y определяется по году этого четверга
M определяется по месяцу этого четверга
W определяется:
по порядковому номеру этого четверга в месяце (для опционов на фьючерсы на индексы и валютные пары) Пример 1
по порядковому номеру четверга в месяце, которому предшествует последний торговый день опционов (для опционов на фьючерсы на акции) Пример 2
Пример 1: Недельный опцион call на индекс RTS со страйком 130000 исполняется 30 декабря 2019 года в понедельник. Четверг на этой неделе (2 января) - неторговый день. Поэтому день исполнения был перенесен на ближайший предшествующий торговый день. Короткий код: RI130000BA0A, так как четверг недели экспирации относится к январю 2020 года, и это первый четверг в месяц. Полный код: RTS-1.20M301219CA 130000
Пример 2: Недельный опцион call на SBRF со страйком 20 000 с датой исполнения 31.03.2021 в среду. Система кодирует такую серию, как апрельскую, т.к. четверг данной недели приходится на апрель. Код месяца: D Код недели: A (1-неделя месяца). Ближайший к дате исполнения 31.03.2021 четверг - 01.04.2021, т.е. уже в апреле Короткий код: SR20000BD1A Полный код: SBRF-4.21M310321CA 20000
На Срочном рынке Московской Биржи предусмотрена возможность заведения опционных контрактов с нулевыми и отрицательными страйками. Рассмотрим пример их кодирования для месячного опциона call на июльский фьючерс на нефть марки Brent с исполнением 25 июня 2020 г. со страйком -10. Короткий код контракта: BR-10BF0 Полный код контракта: BR-7.20M250620СA -10 В случае нулевого страйка (0) для аналогичного контракта: Короткий код контракта: BR0BF0 Полный код контракта: BR-7.20M250620СA 0
Алгоритм определения полей Y, M и W для недельного опциона на ценные бумаги:
Рассматривается среда недели, на которую приходится день экспирации
Y определяется по году этой среды
M определяется по месяцу этой среды
W определяется по порядковому номеру этой среды в месяце Пример 3
Пример 3: Недельный опцион call на акцию Газпрома со страйком 300 исполняется 27 июля 2022 года в среду (четвертая среда месяца экспирации). Короткий код: GZ300CG2DПолный код: GAZPP220722CE 300
Как открыть стакан с помощью функции на Lua?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.03.2023 16:12:49
Цитата
Владимир написал: Подскажите, пожалуйста, как открыть стакан с помощью функции на Lua?
Открыть на экран нельзя, можно подписаться и получать . Документацию смотрели? Там все есть: Функции для заказа стакана котировок
Subscribe_Level_II_Quotes - заказывает на сервер получение стакана по указанному классу и инструменту.
Unsubscribe_Level_II_Quotes - отменяет заказ на получение с сервера стакана по указанному классу и инструменту.
IsSubscribed_Level_II_Quotes - позволяет узнать, заказан ли с сервера стакан по указанному классу и инструменту.
Мало кто об этом знает.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.03.2023 14:54:33
повторить эксперимент не могу, так как обещал не нагружать Ваш демо сервер --------------------- Так как проблему решил, то вопрос не актуальный.
Мало кто об этом знает.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.03.2023 14:53:10
Пардон, не увидел, что заявки --------------- Тогда еще одно условие, проверка размещается в колбеке onParam.
Проверили скрипт в аналогичных условиях (Рабочее место QUIK 9.7.1, Lua 5.3.5, >300 тыс. заявок в таблице), результат:
Код
303388 , 97
Указанное потребление не наблюдали.
Возможно, запущенный Вами скрипт отличается от размещенного в данной теме?
Поясните, Вы использовали таблицу "orders" и создали 300 тысяч заявок, которые отменили или как-то иначе проверяли?
Как получить код клиента если известна Фирма и Счёт?, Как получить код клиента если известна FIRMID и ACCOUNT?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.03.2023 06:33:38
делаю это автоматом. ------------------------ код клиента связан не только с фирмой и счетом, но и с биржей -------------------- Надо выбирать те коды, у которых есть либо деньги либо позиции либо оба признака. ----------------------- Торговый счет тоже связан с классами ------------------ В итоге надо выбрать для каждого класса фирму счет и клиента. ---------------------- Т е собирать 4 параметра вместе, а не три как у Вас.
Что не так?
Пользователь
Сообщений: Регистрация: 30.01.2015
21.03.2023 06:26:25
Добрый день, понятно,спасибо.
Ошибка в скрипте, что не так?, Нет никакой реакции на скрипт.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2023 20:17:42
Цитата
Dard_AL написал: Извиняюсь, вопрос решен! Оказалось, что уникальный идентификатор(TRANS_ID) является ОБЯЗАТЕЛЬНЫМ параметром. К сожалению, в справочной информации это не было указано, решил проблему методом "тыка".
читаем внимательно:
Параметры «CLASSCODE», «TRANS_ID», «ACTION», «ACCOUNT» являются обязательными
Как получить код клиента если известна Фирма и Счёт?, Как получить код клиента если известна FIRMID и ACCOUNT?
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2023 18:56:18
Он лежит в таблице
client_codes
* Коды клиентов
Чтобы узнать какой Ваш ищите клиента, у которого есть деньги или акции Если это не Вы, то компьютер чужой..
Ошибка в скрипте, что не так?, Нет никакой реакции на скрипт.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2023 18:48:43
Цитата
Dard_AL написал: Доброго денечка! Только начинаю тернистый путь алготрейдинга и не могу понять в чем проблема, загружаю скрипт в Quik, запускаю и не получаю ни сообщения о том, что заявка зарегистрирована, ни ошибки, сплошная тишина. Сам код скрипта:
если это все, то у Вас скрипт завершил работу раньше, чем Вы моргнули. Надо ставить бесконечный цикл. см примеры в документации.
Перестали выставляться заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2023 18:18:12
Вы можете все увидеть в таблице Клиентский портфель
Перестали выставляться заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2023 18:17:19
Цитата
Виталик написал: Буду обращаться, спасибо за ответы.
T0,T1,T2 - день расчета. "Скорректированное значение НПР1 -12.38 (RUB) меньше 0". - это то, что у Вас сейчас. Еще посмотрите T2.
Перестали выставляться заявки
Пользователь
Сообщений: Регистрация: 30.01.2015
20.03.2023 16:11:08
Цитата
Виталик написал: Добрый день. В прошлую пятницу пытался делать обычные заявки на покупку и продажу акций, но получалось сделать может быть только одну из десяти. В остальных случаях после нажатия ДА заявка не появлялась в окне заявок. Цена и количество выставлены, после нажатия ДА окно закрывается, и ничего не происходит. Сегодня обновил программу до версии 9.1.3.11. Не помогло. Сегодня на протяжении дня раз двадцать пытался делать заявки, менял цену, количество, пытался продавать, покупать, менял параметр "по одной цене/по разным ценам". Ни одна заявка не появилась.
Если хотите помощи, то выкладывайте картинки и пишите подробности. Телепаты все в отпуске.
Нужна помощь в организиии "связки" WLD4- Quiik, WLD4 - Quiik коннектор
написал: Вопрос к разработчикам. Где найти адаптер к WLD4 для QUIK ?
Добрый день.
Можете написать нам на почту, мы Вам отправим. Добавим, что для экспорта данных в Wealth Lab Developer версии 4.0 необходимо использовать Рабочее место версий ниже 8.0
Добрый день, А возможно получить исходник, чтобы переписать его на версию выше 8.0?
MT5+QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
17.03.2023 19:38:17
Добрый день, Реализовал механизм запуска в скрипте на луа как отдельный поток или процесс приложений на любом языке. Теперь хочу подключить торговые платформы. ------------------ Из бесплатных есть лишь MT5. Давно работал с MT4, с MT5 лишь знакомился. ===================== На вскидку подключить сравнительно просто, как и приложения на питоне, но пока не знаю что это даст. ============================ Если у кого есть опыт работы с MT5 на фондовом рынке или работы на TM5+QUIK, то поделитесь опытом и проблемами, а также хотелками. Спасибо.
Нужна помощь в организиии "связки" WLD4- Quiik, WLD4 - Quiik коннектор
Пользователь
Сообщений: Регистрация: 30.01.2015
17.03.2023 12:50:42
Вопрос к разработчикам. Где найти адаптер к WLD4 для QUIK ?
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 22:07:16
Цитата
Владимир написал: , К 1769 году Ломоносов уже умер.
Ну и что. Вы так ничего и не поняли. -------------------------------- Ломоносов написал в своем дневнике про пузырь при прохождении Венеры перед солнцем в 1761 году, а Кук в своем в следующее прохождение Венеры перед солнцем через 8 лет. Не думаю, не думаю, что Кук читал дневник Ломоносова. ------------------------- Но фишка в том, что читайте внимательно: Ещё в 1663 году шотландский математик Джеймс Грегори предложил использовать транзиты Венеры или Меркурия через солнечный диск для определения расстояния между Землей и Солнцем. Т е всех интересовало определение расстояния так как это использовалось в мореходстве. и все было пофиг есть на Венере атмосфера или нет. Даже сейчас это всем пофиг. ================= Относительно второго гениального открытия Ломоносов не Создал физическую химию и не открыл молекулярное строение вещества... -------------------- Он в своем письме и в рассуждениях предложил теплоты газов причем 4 его постулата половина ошибочны
Частицы М. В. Ломоносова обязательно шарообразны, что не доказано (по мнению , прежде все частицы были , но после стёрлись до );
Утверждение, что колебательное движение влечет распад тела и потому не может служить источником тепла, тем не менее, общеизвестно, что частицы колоколов колеблются веками и колокола не рассыпаются;
Если бы тепло путём вращения частиц передавалось лишь передачей действия, имеющегося у тела, другому телу, то «б и куча пороху не загоралась» от искры;
И так как, вследствие затухания вращательного движения при передаче его от одной частицы к другой «теплота Ломоносова купно с тем движением пропала; но сие печально б было, наипаче в России».
------------------------------------- Но прикол в том, что эти постулаты Ломоносов написал в 1741-1748 гг Но с — по 1728 в е, где по императорскому указу учреждена работал Даниил Бернулли который вернулся в (1733). Во время пребывания в России он подготовил свою монографию «Гидродинамика» (опубликована в 1738 году). Согласно Энциклопедическому словарю Ф.А. Брокгауза и И.А. Ефрона. — С.-Пб.: Брокгауз-Ефрон. 1890—1907. Согласно кинетической теории газов , они состоят из огромного числа отдельных весьма малых частиц, двигающихся по всем возможным направлениям и со всеми возможными скоростями; частицы эти связаны между собой весьма слабым притяжением, и потому в большей части своего пути они двигаются по инерции прямолинейно, пока не встретят другие частицы, принадлежащие тому же газу или другим телам; тогда происходит удар, сопровождающийся изменением направления и величины скорости, после чего частицы продолжают двигаться опять прямолинейно, до новых постоянно повторяющихся встреч. ---------------------- Зачатки подобного воззрения можно найти еще в глубокой древности, например в атомистическом учении (veiséshika) индийского философа Канады (время жизни неизвестно) и в более развитом виде в учении греческих философов-атомистов: Левкиппа (около 500 г. до Р. Х.) и в особенности его ученика Демокрита (460-370 г. до Р. Х.; см.); это учение было принято впоследствии Эпикуром (341-270 до Р. Х.) и подробно изложено Лукрецием (96-55 г. до Р. Х.) в его поэме "О природе вещей" ("De rerum natura") Демокрит заимствовал свое учение с Востока, от финикийца Мошуса из Сидона.]. По учению этих философов, все мировое пространство наполнено атомами различной формы и величины, которые движутся по всем направлениям и, сталкиваясь и соединяясь между собой, образуют все видимые тела (см. Атомы, Вещество). ------------------------------- В ясной и вполне определенной форме начала этой теории были высказаны еще Даниилом Бернулли ("Hydrodinamica", 1738) и им же впервые применены к выводу закона Бойля-Мариотта.
Как в стакане акцептовать уже существующую заявку?
написал: Прикольно то, что все планеты солнечной системы имеют атмосферу.
В XXI-то веке легко рассуждать.
Специально для Вас:
Ещё в 1663 году шотландский математик Джеймс Грегори предложил использовать транзиты Венеры или Меркурия через солнечный диск для определения расстояния между Землей и Солнцем. Эти события довольно редкие. Наблюдение транзита Венеры в 1761 году потребовало усилий 120 наблюдателей из 9 стран, но из-за плохих погодных условий они не оказались успешными. ------------------------------------ Следующий транзит должен был быть в июне 1769 года Джеймс Кук и Грин Соландер провели независимые наблюдения. . В своём дневнике Кук писал, что погода была очень благоприятной: на небе ни облака. Во время транзита Венеры, когда она виднеется маленькой чёрной точкой, что движется по Солнцу, на второй и третьей фазах появляется маленькая «слеза», которая соединяет Венеру с Солнцем. Таким образом, Джеймс Кук и Грин Соландер изобразили транзит Венеры по-разному. Кук связал размытость Венеры с возможным наличием атмосферы у этой планеты. Из дневника Кука: "This day prov'd as favourable to our purpose as we could wish, not a Clowd was to be seen … and the Air was perfectly clear, so that we had every advantage we could desire in Observing the whole of the passage of the Planet Venus over the Suns disk: we very distinctly saw an Atmosphere or dusky shade round the body of the Planet which very much disturbed the times of the contacts particularly the two internal ones."
"Этот день оказался настолько благоприятным для нашей цели, насколько мы могли пожелать, не было видно ни облачка... и воздух был совершенно чистым, так что у нас были все преимущества, которые мы могли пожелать, наблюдая за всем прохождением планеты Венера над Солнцами диск: мы очень отчетливо видели атмосферу или темную тень вокруг тела Планеты, которая очень сильно повлияла на время контактов, особенно двух внутренних."
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 17:07:18
Прикольно то, что все планеты солнечной системы имеют атмосферу.
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 17:00:38
В начале XVII в. Венеру увидел в телескоп Галилео Галилей. Сразу после открытия Галилея планета стала объектом пристального изучения астрономов.
В 1639 г. Венера прошла по солнечному диску, и с тех пор это явление предсказывалось,
В 1761 г. они вычислили, что планета Венера должна будет миновать солнечный диск, т.е. на короткое время займет положение между Землей и Солнцем.
Разумеется, это событие заинтересовало М.В. Ломоносова и его помощников, в числе которых были Степан Румовский (ученик известного математика Леонарда Эйлера) и Никита Панин (наблюдатель от Академии наук).
Сам Ломоносов принял непосредственное участие в изучении уникального астрономического явления. 6 июня (26 мая) 1761 г. он сделал наиболее успешные астрономические наблюдения, воспользовавшись для этой цели обыкновенной подзорной трубой с закопченным стеклом. Обо всем увиденном он делал подробные записи в дневнике.
М.В. Ломоносов увидел, что в момент, когда Венера приблизилась к солнечному диску, вокруг нее образовался чуть различимый светящийся ободок, а ее диск как бы затуманился. То же самое (только более отчетливо) он наблюдал, когда Венера уходила с солнечного диска. О самом моменте открытия он записал в дневнике так: «... Ожидая вступления Венерина на Солнце... увидел, наконец, что солнечный край чаемого вступления стал неявственен несколько будто стушеван, а прежде был весьма чист и везде равен... При выступлении Венеры из Солнца, когда передний ее край стал приближаться к солнечному краю... появился на краю Солнца пупырь, который тем явственнее учинился, чем ближе Венера к выступлению приходила... Сие не что иное показывает, как преломление лучей солнечных в Венериной атмосфере...».
Увидел лишь Ломоносов, а помощники так ничего нигде и не записали.
Т е никто этого подтвердить не смог как и увидеть данное явление . Ломоносов -соколиный глаз. Узрел то, что придумал и угадал.
Как в стакане акцептовать уже существующую заявку?
написал: , А при чём тут Ломоносов? Ломоносов, Моцарт, Пушкин - они не умные, они гении. Умным людям деньги действительно не нужны, а у дураков-то они откуда? Заработать они не в состоянии - только воровать.
Да, за растрату сраных 8 тысяч сраных рублей могли и посадить. Воровать нужно миллиардами, и не деревянных. И с каких это пор глубинное население России стало экспертом в финансовых вопросах?
Не соглашусь. Что такого гениального сделал Ломоносов? Возможно он был трудоголиком< возможно просто пробивным, но не гениальным.
Ну как: открыть атмосферу на Венере в XVIII веке - это довольно круто. (подавляющее большинство и сейчас это не сможет сделать).
Создал физическую химию, открыл молекулярное строение вещества...
Атоми́зм — и , согласно которой чувственно воспринимаемые () вещи состоят из химически неделимых частиц — . Возникла в . Дальнейшее развитие получила в философии и науке и .
КРАШ -ТЕСТ терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 08:00:26
Оптимизация скрипта позволила за 3000 секунд выставить и снять получить 231 тысячу заявок. -------------------- При этом заявка выставляю , получаю подтверждение что выставлена, потом подаю транзакцию чтобы снять получаю подтверждение что снята и т д по всем инструментам по которым совершается сделка на демо счете. ------------------------------ В итоге более 70 заявок в секунду выставлено и снято. ---------------------------- В итоге моего робота заблокировали на демо сервере. Очевидно он его положил. -------------------------- Тест завершил. ===================== Прошу снять блокировку.
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 07:50:27
Цитата из Вики: Гении часто обладают низким , что приводит к или При этом выделяют «психотическую» гениальность, свойственную людям искусства, которую связывают с биполярным аффективным расстройством (маниакально-депрессивным психозом), когда болезнь способствует созданию гениальных работ.
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 07:46:00
Цитата
Владимир написал: , А при чём тут Ломоносов? Ломоносов, Моцарт, Пушкин - они не умные, они гении. Умным людям деньги действительно не нужны, а у дураков-то они откуда? Заработать они не в состоянии - только воровать.
Да, за растрату сраных 8 тысяч сраных рублей могли и посадить. Воровать нужно миллиардами, и не деревянных. И с каких это пор глубинное население России стало экспертом в финансовых вопросах?
Не соглашусь. Что такого гениального сделал Ломоносов? Возможно он был трудоголиком< возможно просто пробивным, но не гениальным.
Подключение к Quik, Как подключиться к quik для получения информации с графика и формирования заявок?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.03.2023 07:25:20
Цитата
Dard_AL написал: Появилась потребность создания некого приложения, к примеру на delphi, которое каким-то образом бы получало данные с графика, производило анализ полученных данных и отправляло какую-то заявку обратно. По сути, надо написать торгового робота. Понимаю, что Quik прекрасно работает со скриптами на Lua, однако как организовать работу quik с каким-то внешним приложением не представляю. Подскажите в каком направлении вообще копать.
Уже рассказывал на форуме. ----------------------- Кратко повторю. ---------------------- Связка будет через dll. На стороне Квика обязательно будет Lua. -------------------- Приложение можно написать на любом языке. ----------------- механизмы обмена любые механизмы OC --------------------- например DDE, Shared memory,memory-mapped files. =============== Из своего опыта. Все приложения делаю как Lua скрипт+ dll C функции. Механизмы передачи см выше+ копирование данных из стеков. -------------------- Приложение загружается в память как самостоятельная задача. ------------------ При необходимости ей передаются данные и она запускается в отдельном потоке, который выделяется из пула потоков. ---------------- Потоков может быть одновременно до 512, но в тестах больше 100 не было надобности. ------------------- Конструктивная критика приветствуется. .
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.03.2023 21:02:04
Согласно опросу глубинного населения России, быть ученым трудно считают 90%, а в то что ученый может заработать большие деньги верят лишь 20%.
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.03.2023 20:57:52
Цитата
Владимир написал: , У дураков деньги не задерживаются. Хотя меня действительно иногда удивляет: сколько же дураков с деньгами! А сочувствие здесь каким боком? У меня всё хорошо...
Очевидно, в одни руки одну штуку - либо деньги, либо ум. кто пилит бабло, тому некогда думать, а кто думает, тому некогда пилить. --------------------- Пример тому, Ломоносов. Умер банкротом. Задолжал Государству аж 8 тыс рублей. Сейчас бы его посадили лет на 10 за растрату целевых денег.
Как в стакане акцептовать уже существующую заявку?
Пользователь
Сообщений: Регистрация: 30.01.2015
15.03.2023 17:23:17
Цитата
Владимир написал: , Это дураки ставят айсберги. Были бы у меня на них деньги - написал бы функцию, которая принимает количество, покупка это или продажа и желаемую цену. И чтобы выставляла случайным образом заявки небольшими порциями в небольшом диапазоне цен в одном направлении, а треть или половину - в другом. Ещё и заработать можно чисто на этой операции. И ни одна собака в жисть не догадается, что это айсберг. Написать эту хрень можно за полчаса.
Сочувствую, но так устроен мир - деньги у дураков.
Как определить доступна ли торговля по инструменту до открытия позиции., При отправке транзакции появляется ошибка брокера "Вам запрещена работа по данному инструменту".
Пользователь
Сообщений: Регистрация: 30.01.2015
15.03.2023 15:03:45
Цитата
awkozlov написал: При отправке транзакции появляется ошибка брокера "Вам запрещена работа по данному инструменту".
Как выяснилось брокер работает с ограниченным списком фьючерсных контрактов (и отправлят смотреть список доступных для торговли фьючерсов в эксель файл на своём сайте).
Однако котировки по всем фьючерсам брокер транслирует, но доступны для торговли только инструменты из их эксель-файла на сайте.
Потому при отправе транзакции появляется вышеназванная ошибка.
Какой командой мне определить, что инструмент доступен для торговли?
проще всего СalcBuySell за одно и узнаете сколько можно