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

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

Страницы: 1
Объединение тиков, Как объединить тики
 
Цитата
Максим написал:
Есть подобный скрипт на lua, на Смартлабе как-то кто-то выкладывал.
Если не ошибаюсь там ещё что-то было похожее.
Я раньше тоже  использовал этот скрипт немного переделав,
получалась вот такая штука.

Вот только не в курсе работает он сейчас или нет, после всех этих новых версий квика и lua 5.4
Очень многие срипты просто перестали нормально функционировать.

Скрытый текст

Автоматическое выставление стоплоса и тейкпрофита
 
Цитата
Ришат написал:
Цитата
Михаил В написал:
Сделайте встроенную возможность автоматического выставления тейк профита и стоп-лоса при создании заявки.
Из перепробованных в интернете написанных на языке lua ни один нормально не работает.  
поддерживаю, отличная функция могла бы быть!
Цитата
RayIntraday написал:
Данные пожелания, о реализации автоматического выставления тейк профита и стоп-лоса при создании заявки, существовали на форуме аж с 2008 года.  Это я прекрасно помню, т.к. сам искал нечто подобное на старом форуме. Но старый форум благополучно закрыли с  15 февраля 2016 года, что бы не было возможности тыкнуть носом в обещания разработчиков.
Обецанки-цацанки        
Вот скрин с архива
Проблемы в работе квика, Самопроизвольное закрытие.
 
Подскажите что может быть за проблема с квиком. 9.2.1.4
Работает-работает, потом в какой-то момент выскакивает вот такое окно



А потом просто закрывается терминал и пишет:

Сигнатура проблемы:
 Имя события проблемы: APPCRASH
 Имя приложения: info.exe
 Версия приложения: 9.2.1.4
 Отметка времени приложения: 6139a32d
 Имя модуля с ошибкой: lua53.dll
 Версия модуля с ошибкой: 4.1.2.2
 Отметка времени модуля с ошибкой: 611c762b
 Код исключения: c000041d
 Смещение исключения: 0000000000004e3f
 Версия ОС: 6.1.7601.2.1.0.256.1
 Код языка: 1049
 Дополнительные сведения 1: 4b5e
 Дополнительные сведения 2: 4b5ee4caeddd37c4f1bc798c7b28542b
 Дополнительные сведения 3: 2c54
 Дополнительные сведения 4: 2c54aa6f0734972f8d13121d4bfcf266

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
 http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
 C:\Windows\system32\ru-RU\erofflps.txt
Динамическое количество линий индикатора
 
Цитата
nikolz написал:
Цитата
RayIntraday написал:
 
Цитата
nikolz  написал:
 
Цитата
 Nikolay   написал:
Нет, линии не обязательны конечно. Просто старые значения не должны исчезнуть с графика, поэтому вывод линий, пусть даже и одной, должен учитывать это.
  вообще-то пересчет графиков взад - это бессмысленная затея.
---------------------------------------------------
"После драки -кулаками не машут"
 А если профиль из линий рассчитывать и отрисовывать только последний час, на начало нового часа убрать линии профиля и оставить только maxVol сформированный (TYPET_BAR), кога начинается новый час расчет начать проводить заново. Получится ежечасный maxVol и один профиль.
Я нечто похожее видел в NT-7 вот ссылка   Индикатор POC уровней  .
Вы имеете ввиду столбик числе у свечки?
Если да, то так можно сделать.
Нет, я не про столбик чисел профиля у свечки.
Скорее про уровень максимального объёма в течении заданного промежутка времени (часа), а так же про уровень максимальной консолидации интереса POC, они бывают не совпадают
Нашлядно это вот как-то так Объём часа и пок часа
Динамическое количество линий индикатора
 
Цитата
nikolz написал:
Цитата
Nikolay написал:
Нет, линии не обязательны конечно. Просто старые значения не должны исчезнуть с графика, поэтому вывод линий, пусть даже и одной, должен учитывать это.
вообще-то пересчет графиков взад - это бессмысленная затея.
---------------------------------------------------
"После драки -кулаками не машут"
А если профиль из линий рассчитывать и отрисовывать только последний час, на начало нового часа убрать линии профиля и оставить только maxVol сформированный (TYPET_BAR), кога начинается новый час расчет начать проводить заново. Получится ежечасный maxVol и один профиль.
Я нечто похожее видел в NT-7 вот ссылка Индикатор POC уровней.
Динамическое количество линий индикатора
 
Цитата
Nikolay написал:
Цитата
RayIntraday написал:
Сделать можно. Но для этого необходимо сразу инициализировать столько линий, сколько будет отрисовано для всех интервалов.


А если производить расчёт без линий, а выводить только maxVol ?
Или расчёт обязательно подразумевает отображение линии как результат расчёта?
Если расчёты проводятся в течении часа и отрисовываются линии, час закончился, результаты остались начинается новый час и новые расчёты. Разве будут задействоваться старые линии и старые расчёты?
Динамическое количество линий индикатора
 
Цитата
Nikolay написал:
А вот сделав такие изменения в цикл вывода строк, все работает.
Код
           for  i =  1 ,lines  do                                         

            outlines[i]  =  {index  =  index - shift + bars, val  =  maxPrice}
            
             if  sortedProfile[i]~ =  nil   then                
                sortedProfile[i].vol =  math.floor (sortedProfile[i].vol/MAXV * bars)
                 if  sortedProfile[i].vol >  0   then 
                    outlines[i].index  =  index - shift + sortedProfile[i].vol
                    outlines[i].val  =  sortedProfile[i].price                           
                 end                                                
             end                    
             SetValue (index - shift,       i +  1 , outlines[i].val)
             SetValue (outlines[i].index, i +  1 , outlines[i].val)
                    
             --WriteLog('line '..tostring(i).." price "..tostring(GetValue(index-shift, i)).." - "..tostring(GetValue(outlines[i].index, i)).." vol "..tostring(outlines[i].index-index+shift)) 
                
         end   

Код
   --logfile=io.open(getWorkingFolder().."\\LuaIndicators\\priceAvgProfile.txt", "w") 

Settings -----------------------------------------
 
 end   
Николай, а как можно сделать, что бы 'maxVol' формировался в процессе, за некий промежуток времени и оставался неизменным, а не расчитывался по уже полученным данным. Я тут пытался поэксперементировать меняя период и отступ, с разными периодами и разными отступами, но результат получился так себе.

График в процессе торгов движется и данные постоянно меняются и пересчитываются, так что такое представление наверное не особо подходит для торговли и анализа.
maxVol, это я так понимаю нечто вроде point of control?
Было бы здорово, скажем чтобы  maxVol, отрисовывался в течении часа, а потом так и оставался на графике. Может вы знаете как это реализовать в коде? Смотрел на гитхабе, у вас там много интересных вещей, но подобного нет.
УСТРАНИТЕ КОСЯКИ В РАБОТЕ ТЕРМИНАЛА !!!, Постоянные проблемы
 
А разве на первом скрине уровни на графике...?
Я про уровни, которые остаются от собственных выставленных заявок. Цвет я задаю в настройках свой.

И потом эти уровни входа в стакане висят до тех пор, пока цена не пройдёт пару раз по этому уровню. А могут вообще остаться если цена улетела.

Сцыкотно ваши обновления сразу ставить. Кучу народу, кто юзает QUIK знают о том, что это чревато не тут, так там вылезет костыль разработчиков.
Если пересоздать таблицы в 8.13.0.106 то её можно создать нормальной, правда неизвестно как долго это продлиться.

Мне просто интересно неужели никто не отвечает за такие косяки?
Постоянные обновления несколько раз в год и такая херня постоянно.
Может рук состав поменять, тогда будет толк...?
УСТРАНИТЕ КОСЯКИ В РАБОТЕ ТЕРМИНАЛА !!!, Постоянные проблемы
 
Добрый день.
Разработчики, подскажите когда уберёте свои  косяки в работе терминала???
Если выставить свои заявки в стакан и в настройках указать подсветку своим цветом,  то когда они будут отработаны остаются линии на тех же уровнях.
уровни висят до тех пор пока цена не пройдёт ещё пару раз по этим уровням.


А таблицы, это вообще отдельная тема.
Как такое вообще можно было допустить...?
Складывается впечатление, что что разработчики за дорма получают свою зарплату.  
Сделали какую нибудь херню и запулили с обновлениями в терминал. А потом у всех пользователей проблемы в работе и отображении.
И похер что доработки не прошли отладку, тестировщик не протестировал работу терминала. И так сойдёт.
Вот поэтому постоянная хрень и вылазит с этого терминала.
На западе вас бы просто засудили, за такое отношение к работе.



Ладно, нечего вам расписывать вы и так всё сами  прекрасно знаете.
Вообще, когда будет исправлен этот косяк, у меня сейчас 8.13.0.106.
КЛАСТЕРНЫЙ АНАЛИЗ, КЛАСТЕРНЫЙ АНАЛИЗ В QUIK
 
Цитата
Сергей написал:
Цитата
жаль конечно... хотя опять же, если такой анализ сделают, то программа может стать платной... ибо платформы где всё это реализовано - платные и не дешевые.... опять же конкуренция. атас, тигр, волфикс, там это достойно реализовано. видимо поэтому не хотят внедрять за спасибо. тогда можно было бы сделать модуль платным
Quik и так платный, многие брокеры ежемесячно снимают со счёта определённую сумму за совершение сделок через терминал...
КЛАСТЕРНЫЙ АНАЛИЗ, КЛАСТЕРНЫЙ АНАЛИЗ В QUIK
 
Нет, не пятый, а на много больше.
Я помню разные подобные пожелания были ещё на старом форуме, который просто удалили.
А там и профили просили, и объёмное накопление в баре, и нормальный стакан, и автоматическое выставление TP/SL, и нормальные алерты, и  пр. и пр.
И как всегда ответ был один: "Мы рассмотрели Ваши пожелания. По итогам их анализа сообщаем Вам,     что реализация пожеланий признана потенциально целесообразной. Если     по результатам дальнейшего анализа, включающего юридические аспекты,     анализ на непротиворечивость с общей политикой компании, никаких     возражений не возникнет, мы постараемся включить Ваши пожелания в     план доработок при выпуске одной из следующих версий нашего ПО."
dofile( ) - как дать путь в скрипте, чтобы Quik не ругался на отсутствие файла?
 
Michael Bulychev, путь в скрипте похоже указал правильно dofile(getScriptPath() .. "\\dop_bot.lua")  но всё равно,
выдаёт вот такую ошибку   lua:4: attempt to call global 'getScriptPath' (a nil value).
Не могу понять что он от меня хочет?
Автоматическое выставление стоплоса и тейкпрофита
 
Данные пожелания, о реализации автоматического выставления тейк профита и стоп-лоса при создании заявки, существовали на форуме аж с 2008 года.  Это я прекрасно помню, т.к. сам искал нечто подобное на старом форуме. Но старый форум благополучно закрыли с  15 февраля 2016 года, что бы не было возможности тыкнуть носом в обещания разработчиков.
Обецанки-цацанки  :lol:  :lol:  :lol:  
Мелкие утилиты и индикаторы, Может кому пригодится
 
Цитата
Дмитрий написал:
Если вас устроит вертикальная линия, идущая от самого низа графика до уровня, заданного определенным значением цены, то можно обойтись без меток и нарисовать ее с помощью индикатора, пример которого приведен ниже:

Код
  Settings  = 
{
  Name  =   "v_line" ,
  line  = 
  {
    {
      Name  =   "vertical_line" ,
      Color  =   RGB ( 0 ,  255 ,  255 ),   --  
      Type  =  TYPE_HISTOGRAM   -- важно задать тип "гистограмма", тогда получатся вертикальные линии 
    }
  }
}

 function   Init ()
   return   1 
 end 

 function   OnCalculate (index)
   if  (T(index).hour  =  =   10 )  and  (T(index).min  =  =   0 )  then 
     return  H(index)  +  (H(index)  -  L(index))   -- линия идет от самого низа графика и оканчивается немного выше нужной нам свечи 
   end 
 end 
  

Этот индикатор будет рисовать вертикальную линию на свече, которая была в 10:00.

Чтобы вертикальная линия не перекрывала тени свечи, можно после наложения на график индикатора поменять "Порядок графиков (индикаторов)" с помощью пункта контекстное меню "Параметры текущего окна".
Доброго дня.
Подскажите, а есть возможность настраивать время отображения индикатора.?
Скажем нужно отметить новости в 15:30, 16:30, 21:00. как это сделать что бы прописать сразу?
КЛАСТЕРНЫЙ АНАЛИЗ, КЛАСТЕРНЫЙ АНАЛИЗ В QUIK
 
Цитата
Мы рассмотрели Ваши пожелания. По итогам их анализа сообщаем Вам,     что реализация пожеланий признана потенциально целесообразной. Если     по результатам дальнейшего анализа, включающего юридические аспекты,     анализ на непротиворечивость с общей политикой компании, никаких     возражений не возникнет, мы постараемся включить Ваши пожелания в     план доработок при выпуске одной из следующих версий нашего ПО.
А воз и ныне там.
Как и многие другие ваши обещания, на которые периодически натыкаешься на форуме...
Как рисуется прямоугольник.?, Квик, линии, фигуры, Qlua, Quik,
 
Добрый день.
В новых версиях квика есть возможность рисовать фигуры, в частности прямоугольник.
Меня интересует такой вопрос, как рисуется прямоугольник..?
Это некие элементы рисунка, которые добавляются на график или это просто соединённые линии которые по сути есть код?
Подскажите как правильно написать код, который будет добавлять на график ежечасно прямоугольник, размером от хая до лоя, ограниченный начальной и конечной свечкой часа. Если открылся на хаях и закрылся на лоях, то отрисовывается красным, если открылся на лоях и закрылся на хаях, то соответственно зелёный.
и снова о горизонтальных объёмах
 
Цитата
Алексей Ч написал:
метки не устраивают?
Подскажите, где можно взять этот индикатор
LUA индикатор фрактальные уровни., LUA индикатор на основе фракталов
 
Хорошо, давайте постепенно, КАК в моём приведённом https://forum.quik.ru/messages/forum10/message33177/topic3955/#message33177
выше коде переместить фрактальный уровень, что бы он начинался там, где отображаются треугольники.  
LUA индикатор фрактальные уровни., LUA индикатор на основе фракталов
 
LUA индикатор фрактальные уровни., LUA индикатор на основе фракталов
 
При включении горизонтальных линий он вообще тарабарщину рисует.
LUA индикатор фрактальные уровни., LUA индикатор на основе фракталов
 
Цитата
Sergey Gorokhov написал:
Здравствуйте,
Сам скрипт составлен некорректно.
Индикатор фракталов предполагает установку значений на предыдущей свечке а не на текущей.
В связи с чем, рекомендуется устанавливать значения функцией SetValue
На нашем  сайте Вы можете найти готовые примеры индикаторов на LUA
рекомендуем использовать скрипт из примера.
Да, я знаю что он написан не корректно.
Но в том, который сбросилы вы, не удаётся начертить линию, пускай даже точками, что бы построить фрактальный уровень.


Settings = {
Name = "*FRACTALS (Fractals)",
Period = 5,
line = {{
Name = "Horizontal line",
Type = TYPE_LINE,
Color = RGB(140, 140, 140)
},
{
Name = "FRACTALS - Up",
Type = TYPE_TRIANGLE_UP,
Color = RGB(0, 206, 0)
},
{
Name = "FRACTALS - Down",
Type = TYPE_TRIANGLE_DOWN,
Color = RGB(221, 44, 44)
}
},
Round = "off",
Multiply = 1,
Horizontal_line="off"
}

function Init()
func = FRACTALS()
return #Settings.line
end

function OnCalculate(Index)
local Out1,Out2 = func(Index, Settings)
SetValue(Out1, 2, ConvertValue(Settings,H(Out1)))
SetValue(Out2, 3, ConvertValue(Settings,L(Out2)))
return tonumber(Settings.Horizontal_line),nil,nil
end

function FRACTALS() --Fractals ("FRACTALS")
local H_tmp={}
local L_tmp={}
local it = {[1]=0, l=0}
return function (I, Fsettings, ds)
local Fsettings=(Fsettings or {})
local P = (Fsettings.Period or 5)
if (P>0) then
if I == 1 then
H_tmp={}
L_tmp={}
it = {[1]=0, l=0}
end
if CandleExist(I,ds) then
if I~=it[Squeeze(it.l,P)] then
it.l = it.l + 1
it[Squeeze(it.l,P)] = I
end
local Ip,Ipppp = Squeeze(it.l,P),Squeeze(it.l,P-1)+1
local nP = math.floor(P/2)*2+1
H_tmp[Ipppp] = GetValueEX(it[Ip],HIGH,ds)
L_tmp[Ipppp] = GetValueEX(it[Ip],LOW,ds)
if it.l >= nP then
local S = it[Squeeze(it.l-nP+1+math.floor(nP/2),P)]
local val_h=math.max(unpack(H_tmp))
local val_l=math.min(unpack(L_tmp))
local L = GetValueEX(S,LOW,ds)
local H = GetValueEX(S,HIGH,ds)
if (val_h == H) and (val_h >0)
and (val_l == L) and (val_l > 0) then
return S,S
else
if (val_h == H) and (val_h > 0) then
return S,nil
end
if (val_l == L) and (val_l > 0) then
return nil,S
end
end
end
end
end
return nil,nil
end
end


SMA,MMA,EMA,WMA,SMMA,VMA = "SMA","MMA","EMA","WMA","SMMA","VMA"
OPEN,HIGH,LOW,CLOSE,VOLUME,MEDIAN,TYPICAL,WEIGHTED,DIFFERENCE,ANY = "O","H","L","C","V","M","T","W","D","A"

function CandleExist(I,ds)
return (type©=="function" and C(I)~=nil) or
(type(ds)=="table" and (ds[I]~=nil or (type(ds.Size)=="function" and (I>0) and (I<=ds:Size()))))
end

function Squeeze(I,P)
return math.fmod(I-1,P+1)
end

function ConvertValue(T,...)
local function r(V, R)
if R and string.upper®== "ON" then R=0 end
if V and tonumber® then
if V >= 0 then return math.floor(V * 10^R + 0.5) / 10^R
else return math.ceil(V * 10^R - 0.5) / 10^R end
else return V end
end
if arg.n > 0 then
for i = 1, arg.n do
arg[i]=arg[i] and r(arg[i] * ((T and T.Multiply) or 1), (T and T.Round) or "off")
end
return unpack(arg)
else return nil end
end

function GetValueEX(I,VT,ds)
VT=(VT and string.upper(string.sub(VT,1,1))) or ANY
if VT == OPEN then --Open
return (O and O(I)) or (ds and ds:O(I))
elseif VT == HIGH then --High
return (H and H(I)) or (ds and ds:H(I))
elseif VT == LOW then --Low
return (L and L(I)) or (ds and ds:L(I))
elseif VT == CLOSE then --Close
return (C and C(I)) or (ds and ds:C(I))
elseif VT == VOLUME then --Volume
return (V and V(I)) or (ds and ds:V(I))
elseif VT == MEDIAN then --Median
return ((GetValueEX(I,HIGH,ds) + GetValueEX(I,LOW,ds)) / 2)
elseif VT == TYPICAL then --Typical
return ((GetValueEX(I,MEDIAN,ds) * 2 + GetValueEX(I,CLOSE,ds))/3)
elseif VT == WEIGHTED then --Weighted
return ((GetValueEX(I,TYPICAL,ds) * 3 + GetValueEX(I,OPEN,ds))/4)
elseif VT == DIFFERENCE then --Difference
return (GetValueEX(I,HIGH,ds) - GetValueEX(I,LOW,ds))
else --Any
return (ds and ds[I])
end
return nil
end


С чем это связано...?
Или это странность самого языка Lua?
LUA индикатор фрактальные уровни., LUA индикатор на основе фракталов
 
Добрый день .
Народ, очень нужна ваша помощь по данному индикатору. А если кто поделится готовым, буду очень благодарен.
Намедни решил поколдовать с фрактальным индикатором, так что бы фракталы растянуть по уровню.
В итоге вот что у меня получилось. Не ахти, сразу скажу.
Я конечно не спец в программировании, только учусь, поэтому и обращаюсь сюда за помощью.
Как его исправить, что бы фрактальный уровень рисовался с самого начала (там где треугольники на картинке, это обычный индикатор фрактала) и  заканчивался в том случае когда цена пересечёт этот уровень выше или ниже.

Вот сам индикатор:

Settings =
{Name = "Fracta_l",
period=21,
line =
{{
Name = "Level_High",
Color = RGB(0,255,0),
Type = TYPE_POINT,
Width = 1
},{
Name = "Level_Low",
Color = RGB(255,0,0),
Type = TYPE_POINT,
Width = 1
}}}
idx_prosl=0

function Init()
return #Settings.line
end
function OnCalculate(idx)
if idx==1 then
P = math.floor(Settings.period/2)*2+1
t_H,t_L={},{}
end
if idx~=nil and idx>P then
if idx_prosl~=idx then
local l=idx-P
for l=l,idx-1 do
t_H[l]=H(l)
t_L[l]=L(l)
end
if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then
H_ind_value=t_H[#t_H-(P-1)/2]
end
if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then
L_ind_value=t_L[#t_L-(P-1)/2]
end
end
else
H_ind_value=nil
L_ind_value=nil
end
idx_prosl=idx
return H_ind_value, L_ind_value
end
Quik 7.19.0.51 ГЛЮЧИТ, глюк
 
Добрый день.
Может кто знает что за глюк выдаёт Quik 7.19.0.51 Делаю копию окна или таблицы, через Ctrl+N и выскакивает вот такая хрень
General Protection Fault.
Internal exception happend.
Please send/dmp/"info_20180810_102645.dmp" file to
quiksupport@arqatech.com
Sorry for inconvenience.

Нажимаешь окей и всё квик закрывается, приходится открывать заново. Может кто знает что за хрень и как её лечить...?
Мелкие утилиты и индикаторы, Может кому пригодится
 
А возможно ли на Lua нарисовать динамический POC, который будет
отрисовывать максимальный объём.
Например на 1,3240 прошёл объём 300, индикатор рисует линию и рисует её до тех пор пока на определенном уровне не появиться больший объём, например 1,3250   400.
Вот пример. И не будет ли после добавления индикатора тормозить график...?

Экспорт данных из QUIK в NinjaTrader 7, Экспорт данных из QUIK в NinjaTrader 7
 
Доброго времени суток.
У меня такой вопрос. Очень часто слышал в сети о том, что можно подключить quik в nt-7 для анализа торговых инструментов FORTS, в режиме онлайн, текущей торговой сессии. В NinjaTrader 7 более мощная аналитическая база и набор индикаторов которыми QUIK на данный момент не обладает и я так полагаю обладать не будет.По этому хотелось бы узнать возможна ли такая операция. Если да, то буду очень признателен за подробное описание как это сделать.
Страницы: 1
Наверх