Постов с тегом "lua": 326

lua


Индикатор горизонтальной ширины канала за период

Ширина канала показана синим отрезком, канал строится за отрезок показанный зеленым цветом
по перегибам можно понять что тренд заканчивается
Индикатор горизонтальной ширины канала за период
Settings={
Name="Buy_osc_v01",
period=50,
delta=0,
lim=100.0,
line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0, 0, 255)
                    },
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0, 0, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }

                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет
delta - смещение назад 

назначение:
горизонтальная ширина канала 

использовался:
метод наименьших квадратов (аппроксимация линией)

--]]

function Init()
  
  return 2
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  d = Settings.delta
  lim = Settings.lim
        	
   y = nil    
   if index-n-d > 0 then
    a1 = 0
	a2 = 0
	a3 = 0
	a4 = 0
    for i=index-n+1-d, index-d do  

	  a1 = a1+i*C(i)
	  a2 = a2+i
	  a3 = a3+C(i)
	  a4 = a4+i*i
	
    end  
	
	if((n*a4 - a2*a2) ~= 0) then
	 a = (n*a1 - a2*a3)/(n*a4 - a2*a2)
	 b = (a3 - a*a2)/n
    
	 c1 = 0
	 c2 = 0
	 n1 = 0
	 n2 = 0
     for j=index-n+1-d, index-d do  
      y = a*j + b
	  if C(j) < y then
	    c1 = c1 + (y -C(j))
		n1 = n1 + 1
	  end
	  if C(j) > y then
	    c2 = c2 + (C(j) - y)
		n2 = n2 + 1
	  end	  
     end	
	 
	 if n1 ~= 0 then
	   c1 = c1/n1
	 end
	 if n2 ~= 0 then
	   c2 = c2/n2
	 end		 
	 
	 if a==0 then
	   y = 0
	 else
	   y = (c1+c2)/a	
	   if y > lim then 
	     y = lim 
	   else 
         if y < -lim then 
		   y = -lim
         end   		 
	   end 	 
	 end 

	 
    end 
   end 	
   
   return y,0 
  
end



Индикатор спреда bid-offer в QUIK

Подскажите, пожалуйста, можно ли в QUIK настроить графическое отображение и экспорт статистики спреда bid-offer, который отображается в шапке стакана цен?

Техподдержка QUIK сказала, что такой возможности нет, но думаю, если это считается в квике, то значит такая возможность должна быть.

Индикатор спреда bid-offer в QUIK


  • обсудить на форуме:
  • QUIK

Косяк в LUA

    • 21 мая 2021, 19:00
    • |
    • GOLD
      Популярный автор
  • Еще
Цикл:

for i = 0.1, 0.3, 0.1 do
    message(tostring(i))
end
Результат:

0.1
0.2


Цикл:

for i = 0.1, 0.5, 0.1 do
    message(tostring(i))
end
Результат:

0.1
0.2
0.3
0.4
0.5

Забавно да?

А я этому LUA доверяю свои деньги! Кто знает, где у него еще косяки зарыты...

----------------------------------------
QUIK 8.13.1.16 / LUA 5.3.5 и 5.4.1
  • обсудить на форуме:
  • Quik Lua

Связь Lua -> ваша программа. RAM Disk.

    • 11 мая 2021, 21:33
    • |
    • 3Qu
  • Еще
Я, вроде, уже писал подобный пост. Давно. Но, новое — хорошо забытое старое.
Очень многие неплохо владеют основами программирования, но написать DLL, связь через TCP или что-то другое для экспорта-импорта в Lua — это достаточно сложная процедура, и требует дополнительных знаний и много времени. Однако, если такую связь как-то по простому реализовать, то решились бы многие проблемы обмена данными с C#, Python и другими средами, и не надо вникать во всяческие C-API и прочие премудрости.
Однако, есть достаточно простой и доступный способ — обмен данными через файлы. Например, так:
1. программа Lua пишет строку (строки) данных в формате CSV в файл data.csv,
2. программа Lua создает пустой файл flag.ddd,
3. ваша программа проверяет наличие файла flag.ddd, что означает, что данные готовы к чтению,
4. при наличии файла flag.ddd программа читает данные файла data.csv и удаляет файл flag.ddd,
5. программа Lua проверяет наличие файла flag.ddd, и если этот файл отсутствует пишет строку (строки) данных в файл data.csv (см. п.1)
При обратном обмене происходит все тоже самое, только имена файлов другие.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

О быстродействии авто торговой системы.

    • 01 мая 2021, 02:25
    • |
    • 3Qu
  • Еще
На вечерке измерил быстродействие своей ТС. ТС обрабатывает в среднем ~2.8 запроса в секунду.
Если ТС занята обработкой предыдущего запроса, то следующий запрос пропускается и не обрабатывается. При этом рыночные данные в системе постоянно обновляются и всегда остаются актуальными для системы.
Ну, и о системе. Это Lua программа в паре с C++ DLL. Вся необходимая обработка производится в DLL. Lua является только источником рыночной информации — стакан, обезличенные сделки и свечи.

PS Начал заниматься тем, о чем написал в комментариях — попыткой ускорить обработку данных ТС до 4-5 запросов в секунду. Практически ничего не меняю — небольшая перекомпоновка программы C++ DLL, и обнаружил несколько уже ненужных операторов, оставшихся как мусор от этапа отладки.

Панель скальпинга для Quik.

    • 24 апреля 2021, 20:55
    • |
    • 3Qu
  • Еще
Недавно в одном из топиков анонсировал проект скальпинга и интрадея для Quik. С чего-то начинать надо, и начал с простенькой панели для скальпинга, чтобы не думая и ничего не настраивая нажимать на клавиши Buy/Sell. Ну, вот, сегодня слабал на C# вот это, первый вариант, самый простенький и без затей.
Пока панель выглядит так:
Панель скальпинга для Quik.

На данный момент панель предназначена для торговли одним инструментом, записанном в скрипте Lua. Чтобы сменить инструмент, его надо прописать в скрипте.
Панель не получает никакой информации из Quik, и это ей не нужно, а только передает через DLL в Lua данные о сделке: Buy/Sell, отступы и количество. Всю дальнейшею работу по формированию заявки, будет делать скрипт Lua.
На данный момент панель уже умеет взаимодействовать со скриптом и пока ничего более. Торговый функционал Lua, когда будет время перенесу из другого скрипта. Сейчас все равно выходной, и попробовать нет возможности.

QUIK сигнал индикатора MACD Histogram (значение > или < 0) на Lua или QPILE

    • 10 апреля 2021, 15:11
    • |
    • Х1
  • Еще

Кто знает как сделать, чтобы при значении индикатора MACD Histogram  > или < 0 на дневном графике выскакивало стандартное оповещение QUIK (окно или смс). Пробовал на Lua, искал примеры, несколько дней мурыжил, не получилось. Мне кажется там пара строчек кода. 

Или вариант, когда значение индикатора MACD Histogram пишется в таблице QUIK. Я пробовал на Lua, но там была ошибка или пустые значения в таблице.

  • обсудить на форуме:
  • QUIK

QUIK 8.13 индикаторы не загружаются из подпапок

Тема обсуждается здесь: https://forum.quik.ru/messages/forum10/message54555/topic6400/
Для решения достаточно скопировать файлы индикаторов из подпапок в корневую папку индикаторов [QUIK]\LuaIndicators.
После перезапуска QUIK все настройки индикаторов сохраняются.
QUIK 8.13 индикаторы не загружаются из подпапок


  • обсудить на форуме:
  • QUIK

Добавь в свою торговлю Telegram-Контроль

Добавь в свою торговлю Telegram-Контроль

 Quik
TelegramMessenger

Цель:

Оперативное информирование трейдера о событиях в его торговом терминале Quik.

Что умеет:

Посылать сообщения из  Quik трейдеру в Telegram, а так же получать от трейдера и вводить в Quik  пароль и  Pin-код.

 

Функции Quik Telegram Messenger

 Отправляет сообщения трейдеру из Quik в Telegram на смартфон и на компьютер в любую точку мира

 Сообщает о потере и восстановлении связи с сервером Quik

 Сообщает об изменениях позиций инструментов в портфеле:

  • акции, облигации фондового рынка,
  • фьючерсы срочного рынка,
  • опционы

 Сообщает о деньгах и дневной прибыли по счетам

 Авто-Логин  Quik и ввод PIN-кода Quik через Telegram

 Гибкая настройка режима работы, режим ночного сна



( Читать дальше )

....все тэги
UPDONW
Новый дизайн