комментарии XXM на форуме

  1. Логотип QUIK
    Camarilla Equation. Индикатор для QUIK. Часть 3.
    Получил такое сообщение:

    привет!
    у меня в квике стояла камарилла аж с 2014 года, когда вы выложили здесь этот индикатор.
    квик обновился до 8 и камарилла пропала.
    это не исправить?

    Глянул по тэгу https://smart-lab.ru/tag/Camarilla/ и вот они:
    1. Camarilla Equation. Индикатор для QUIK.
    2. Camarilla Equation. Индикатор для QUIK. Часть 2.

    Выкладываю вариант, не зависящий от обновлений QUIK.

    -- Camarilla.lua
    Settings={
    	Name = "Camarilla",
    	period = 'D',
    	line =
    		{
    			{Name = "S5", Color = RGB(255, 0, 0), Type = 1, Width = 2},
    			{Name = "S4", Color = RGB(255, 165, 0), Type = 1, Width = 2},
    			{Name = "S3", Color = RGB(255, 255, 0), Type = 1, Width = 2},
    			{Name = "PP", Color = RGB(0, 255, 0), Type = 1, Width = 2},
    			{Name = "R3", Color = RGB(0, 191, 255), Type = 1, Width = 2},
    			{Name = "R4", Color = RGB(0, 0, 255), Type = 1, Width = 2},
    			{Name = "R5", Color = RGB(139, 0, 255), Type = 1, Width = 2},
    		}
    }
    
    local math_floor = math.floor
    local levels = 0
    local ydH, ydL, ydC, ydO = {},{},{},{}
    local PP, R3, R4, R5 = 0,0,0,0
    local S3, S4, S5 = 0,0,0
    	local delta = 0
    	local cl = 0
    local predThisDay=0
    local function dTs(t) return 100*(100*t.year+t.month)+t.day; end
    local OldDay = ''	-- для выделения начала торгового дня
    
    function Init ()
    	local t=getDataSourceInfo()
    	local tt = t.interval
    	if tt == -3 then 
    		message('Месячный график не обрабатывается.',1)
    		return 
    	end
    	return 7
    end
    
    function OnCalculate (index)
    	local time tt=T(index); ---время из свечи
    	--local ThisDay=dTs(tt)	-- дата в формате yyyyMMdd
    	local tDay=dTs(tt)	-- дата в формате yyyyMMdd
    	local ThisDay = tDay
    	if Settings.period == 'W' then
    		ThisDay=tt.week_day	-- номер недели
    	end
    	if index == 1 then
    		--message('First ThisDay = '..tostring(ThisDay),1)
    		local t=getDataSourceInfo()
    		--7.2.5 Функция предназначена для получения информации об источнике данных для индикатора.
    		local scale = getSecurityInfo(t.class_code, t.sec_code).scale	--	NUMBER, Количество значащих цифр после запятой
    		mul = 10^scale  -- возведение в степень
    		local tt = t.interval
    		if tt == -3 then tt = 'месяц' 
    		elseif tt == -2 then tt = 'неделя'
    		elseif tt == -1 then tt = 'день' 
    		else
    			tt = tt..' мин.'
    		end
    		--message(t.sec_code..'('..t.class_code..'), цифр после запятой: '..scale..', mul = '..mul..', дата = '..ThisDay,1)
    		levels = levels + 1
    		if ThisDay ~= OldDay then
    			OldDay = ThisDay
    		end	
    		predThisDay = ThisDay
    		--
    		delta = H(index) - L(index)
    		cl = C(index)
    		R5 = (H(index) / L(index))*cl
    		calcLevels(index)
    		local per = 'daily'
    		if Settings.period == 'W' then
    			per = 'weekly'
    		end
    		message('Camarilla '..per..', Т = '..tt..', © xsharp.ru 20.06.2015', 1)
    		return
    	end
    	if Settings.period == 'W' then
    		if ThisDay < OldDay then	-- для неделек
    			OldDay = OldDay + 1
    			if OldDay ~= ThisDay then
    				OldDay = ThisDay
    			end
    			levels = levels + 1
    			delta = ydH[levels-1] - ydL[levels-1]
    			cl = ydC[levels-1]
    			R5 = (ydH[levels-1] / ydL[levels-1])*cl
    			calcLevels(index)
    			--if index<120 then
    			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
    			--end
    			predThisDay = ThisDay
    		else
    			if ThisDay ~=predThisDay then
    				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
    				predThisDay = ThisDay
    				OldDay = OldDay + 1
    			end
    			ThisDayF(index)
    		end
    	elseif Settings.period == 'D' then
    		if ThisDay ~= OldDay then	-- для дневок
    			OldDay = OldDay + 1
    			if OldDay ~= ThisDay then
    				OldDay = ThisDay
    			end
    			levels = levels + 1
    			delta = ydH[levels-1] - ydL[levels-1]
    			cl = ydC[levels-1]
    			R5 = (ydH[levels-1] / ydL[levels-1])*cl
    			calcLevels(index)
    			--if index<120 then
    			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
    			--end
    			predThisDay = ThisDay
    		else
    			if ThisDay ~=predThisDay then
    				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
    				predThisDay = ThisDay
    				OldDay = OldDay + 1
    			end
    			ThisDayF(index)
    		end
    	elseif Settings.period == 'H4' then
    		if ThisDay ~= OldDay then	-- для дневок
    			OldDay = OldDay + 1
    			if OldDay ~= ThisDay then
    				OldDay = ThisDay
    			end
    			levels = levels + 1
    			delta = ydH[levels-1] - ydL[levels-1]
    			cl = ydC[levels-1]
    			R5 = (ydH[levels-1] / ydL[levels-1])*cl
    			calcLevels(index)
    			--if index<120 then
    			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
    			--end
    			predThisDay = ThisDay
    		else
    			if ThisDay ~=predThisDay then
    				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
    				predThisDay = ThisDay
    				OldDay = OldDay + 1
    			end
    			ThisDayF(index)
    		end
    	end
    	return S5, S4, S3, cl, R3, R4, R5
    end
    
    function round(value)
    	return math_floor(value*mul + 0.5) / mul
    end
    
    function ThisDayF(index)
    	ydC[levels] = C(index)
    	if H(index) > ydH[levels] then
    		ydH[levels] = H(index)
    	end
    	if L(index) < ydL[levels] then
    		ydL[levels] = L(index)
    	end
    end
    
    function calcLevels(index)
    	ydO[levels] = O(index)
    	ydH[levels] = H(index)
    	ydL[levels] = L(index)
    	ydC[levels] = C(index)
    	--
    	R3 = cl + delta * 1.1/4
    	R4 = cl + delta * 1.1/2
    	--
    	S3 = cl - delta * 1.1/4
    	S4 = cl - delta * 1.1/2
    	S5 = cl - (R5-cl)
    	--
    	R5 = round(R5)
    	R4 = round(R4)
    	R3 = round(R3)
    	S3 = round(S3)
    	S4 = round(S4)
    	S5 = round(S5)
    end
    


    Авто-репост. Читать в блоге >>>
  2. Логотип QUIK
    QUIK версии 8.0

    Ура, что ли?

    Доводим до вашего сведения, что в начале июля 2019 года компания ARQA Technologies планирует выпустить Рабочее место QUIK версии 8.0, поддерживающее только 64-разрядные ОС Windows. В связи с этим, уведомляем вас о следующем:
    — Версии РМ QUIK для 32-разрядных ОС Windows выпускаться более не будут. Текущие версии (x32 6.x, 7.x) будут продолжать работать и смогут подключаться к новым версиям сервера QUIK, но обновлений для этих версий не будет.
    — Прекращается поддержка операционной системы Window XP.
    Если вы используюте Window XP или x32-релизы других ОС Windows — рекомендуем обновить системы в случае, если вы заинтересованы получать обновления РМ QUIK.


    Письмо получил. Может разыгрывают меня? А я вас?
    читать дальше на смартлабе
  3. Логотип QUIK
    QUIK версии 7.27.2.1: Can't create connection disconnecting thread.

    Вот такого никогда ранее на моем рабочем компьютере еще не встречал:
    QUIK версии 7.27.2.1: Can't create connection disconnecting thread.
    Программу, типа, отключать не моги! QUIK атакуе!

    И еще, на закуску, чтобы мало не казалось:
    QUIK версии 7.27.2.1: Can't create connection disconnecting thread.
    читать дальше на смартлабе
  4. Логотип Quik Lua
    Торговый робот на Lua для QUIK.

    4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:

    Торговый робот на Lua для QUIK.

    Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
    INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.

    encoding = "UTF-8"
    FREQUENCY = 1000
    account = NL0011100043, 10110
    PositionSize = 300000
    xy = 421, 0, 859, 118
    ;-------------------------------------------------------------------------------
    [GAZP]
    Security = GAZP, QJSIM, Gazp_moex
    WorkSize = 3		//  рабочий объем, в штуках;
    LossLimit = 100		// ограничение на убыток по стратегии
    OpenSlippage = 10	// допустимое проскальзывание на сделке, в количестве минимальных шагов цены;
    OpenLong =  {Close, 1} < {High, 2}	// цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара;
    OpenShort = {Close, 1} > {Low, 5-2}	// цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров;
    StopLoss = 2
    TakeProfit = 3, 1, 1
    EOD = 18:29:00	//закрытия позиции в указанное время.
    autoBot = Y
    [SBER]
    Security = SBER, QJSIM, Sber_moex
    WorkSize = 10
    LossLimit = 100
    OpenSlippage = 10
    OpenLong	= {Ema1} > {Ema2}
    CloseLong	= {Ema1} < {Ema2}
    OpenShort	= {Ema1} < {Ema2}
    CloseShort	= {Ema1} > {Ema2}
    autoBot = Y
    [LKOH]
    WorkSize = 2
    Security = LKOH, QJSIM, Lkoh_moex
    LossLimit = 225
    OpenSlippage = 10
    OpenLong	= cross(macd_Lkoh.0, macd_Lkoh.1)
    OpenShort	= cross(macd_Lkoh.1, macd_Lkoh.0)
    ;OpenLong =  {Close, 1} < {Low, 5-2}
    ;OpenShort = {Close, 1} > {High, 2}
    StopLoss = 30
    TakeProfit = 50, 10, 10
    autoBot = Y

    читать дальше на смартлабе
  5. Логотип Quik Lua
    Захват откатов скольжением.

              В программе Lbot3D появилась реализация вычисления скользящего экстремума в конкретной стратегии при наличии позиции. Слово «конкретной» звучит потому, что этот самый экстремум можно использовать в других стратегиях из портфеля стратегий. Согласен, это нужно не всем. Скорее так: мало кому он нужен. Тем не менее, продолжу.

              Допустим мы придумали стратегию на некотором активе, рассчитанную на тренд:
    Покупаем на четверть портфеля. Если цена пошла против нас (пусть на 1%)- стопимся, но если в нашу сторону +1%, то в предположении, что мы тренде, выставим лимитированную заявку на покупку второй четверти на 0.5% ниже достигнутого экстремума: откат вероятен, и после того, как на откате вытряхнут часть пассажиров, (самых пугливых, самых недостойных :)), наш портфель зацепит еще несколько лотов и едем дальше, «на север». Но если первая четверть бумаг размещена в нашем портфеле на «долгосрок», то вторая четверть будет сразу же выставлена на продажу с профитом, например, в 1%.


    читать дальше на смартлабе
  6. Логотип S&P500 фьючерс
    Возвращаясь к напечатанному: US500.

    Словом, делом и помышлением:
    Возвращаясь к напечатанному: US500.

    Куда кривая ведет, не знаю. Да и после 19:00 компьютер выключаю. Но роботы не спят.
    читать дальше на смартлабе
  7. Логотип Quik Lua
    Fn044.lua, версия 2.1

    В своей торговле применяю комбинации рыночных и лимитированных заявок, (методику описывал ранее, "Настоящая торговая стратегия."  и "US500: Объемы больше, спреды уже!" ). Временами количество одновременно работающих стратегий зашкаливало за сотню и на некоторые из них не хватало денег под выставление заявок, они отключались, иногда ломая логику работы связанных с ней стратегий. В QUIK в таблице «Состояние счета» считается цифра — «Свободно» — свободные средства под заявки, но сходу вытащить ее из Lua у меня не получилось. И пришлось вписать расчет этой величины в робота.
    Сегодня предлагаю вашему вниманию доработанный скрипт Fn044.lua (https://yadi.sk/d/O-6JzZdXkOxyow)
    Fn044.lua, версия 2.1

    в котором реализован расчет свободных средств для заявок на ФОРТС с учетом имеющихся контрактов и заявок.
    Один в один вывести не получилось, как смог.
    As is, и все такое!


    читать дальше на смартлабе
  8. Логотип Quik Lua
    fn044.lua

    fn044.lua — скрипт для расчета стоимости фьючерсных контрактов в портфеле относительно депозита.
    Скачать: https://yadi.sk/d/e7XRt3CQ2v7Miw

    fn044.lua

    Файл настроек:
    -- fn044set.lua расчет стоимости фьючерсных контрактов в портфеле относительно депозита
    -- © smart-lab.ru/profile/xxm 08.10.2018
    
    -- торговый счет (из таблицы «Позиции по клиентским счетам (фьючерсы)»)
    account = 'SPBFUT0003f'
    
    --положение окна с таблицей. Левый верхний угол в координаты left,top и размеры в width и height.
    xy = {} 
    xy.left, xy.top, xy.width,xy.height = 0, 232, 722, nil
    
    --ширина столбцов таблицы
    t_width = {12, 6, 10, 8, 10, 10, 9, 7, 6, 11, 10, 11}
    
    -- месяц и год исполнения, 2 символа, https://www.moex.com/s205
    MonthYear = "Z8"
    -- код базового актива, 2 символа
    -- если 4 символа, то переменная "MonthYear" не учитывается
    SecCodes={
    	{"MM"}, --контракт на индекс МосБиржи
    	{"Si"}, --руб/доллар FORTS
    	{"SR"}, --Sber FORTS
    	{"LK"}, --контракт на Лукойл
    	{"GZ"}, --контракт на Газпром
    	{"BRX8"}, --контракт на нефть Брент, месяц и год - "X8"
    	{"ED"}, --контракт на ED
    	{"RN"}, --контракт на Роснефть
    	{"GD"}, -- Gold
    	}
    
    --Если xy.height == nil, то вычислить ее.
    --Для разных мониторов коэффициенты (17, 45 и 868 - подобраны эмпирически) будут разными.
    local height = xy.height or ((#SecCodes + 1)*17 + 45)
    if height > 868 then height = 868 end
    xy.height = height

    читать дальше на смартлабе
  9. Логотип Нефть
    Я это вижу на картинке, правда после того, как сделки прошли. Раньше видеть не мог, т.к. сделок по продаже не было ;-)
  10. Логотип Нефть
    Никак не могу найти такие стратегии, которые продают лонги на самом верху и там же переворачиваются в шорт. Есть только те, которые продают тогда, когда снижение уже началось…
  11. Логотип Нефть
  12. Логотип Сбербанк

    не благодарное это дело, прогнозы давать

    Максим Сурин, для брокера — очень даже благодарное.
  13. Логотип Сбербанк
    Финам: 100% попадание на стоп.

    Было уже ранее: Финам: Сбербанк покупать 171, цель 186, стоп 166. 10.09.2018
    smart-lab.ru/blog/493951.php

    Последовал новый прогноз от 17.09.2018:
    Сбербанк ПРОДАВАТЬ 190, цель 173, стоп 194.
    Картинка от сегодняшнего утра:
    Финам:  100% попадание на стоп.


    цели по стопу достигнуты!
    Предлагаю поменять прогнозиста.
    Пишите в личку :)

    PS. от 166 до 194 дорога длиной более 16%


    читать дальше на смартлабе
  14. Логотип Сбербанк
    Это вполне может быть здравой протестированной ТС с четкими сигналами входа и SL/TP. Другое дело, что их система пытается поймать хай войти в шорт после провала лонгового входа ранее.
    Особых претензий нет. Будем смотреть. А пока мои контракты — лонги.
  15. Логотип Сбербанк
    С точки зрения великой ТВ, Финам должен, обязан угадать:
  16. Логотип ВТБ
    ВТБ лонг: тейк профит 10%, стоп - 16%.

    Как можно так?

    26 июня 2018 года. БКС открыл новую торговую идею: «длинные позиции в акциях ВТБ»
    www.finmarket.ru/shares/analytics/4800717

    10 сентября 2018 года. БКС закрыл торговую идею: «длинные позиции в акциях ВТБ»
    www.finmarket.ru/shares/analytics/4846767

    ВТБ лонг: тейк профит 10%, стоп - 16%.

    Уважаемый БКС, по вашим рекомендациям торгуют миллионы десятки людей. Так вы всех растеряете. Прошу быть более предусмотрительны, что ли.


    читать дальше на смартлабе
  17. Логотип QUIK
    QUIK — 7.18

    arqatech.com/ru/about/news/quik-7-18/

    Функционал графиков пополнился новым индикатором «Глубина рынка», отражающим объемы заявок инструмента в виде горизонтальных гистограмм. Также замена экспирирующихся контрактов срочного рынка на новые контракты дополнена возможностью сохранения истории, когда график «старого» и «нового» контрактов могут быть склеены.
    Там еще что-то написано про дробные количества ценных бумаг, но сохранение истории — это круто.
  18. Логотип ВТБ
    iAlexander: самое унылое г.но на ММВБ и конечно это не манипуляции-это рынок ) а рост прибыли это для лудоманов и избушек.

    Тем не менее, стопы начали срабатывать
  19. Логотип ВТБ
    Что думаете про ВТБ?

    Дневки сильнее, КМК.
  20. Логотип ВТБ
    как обычно, шорт помойки…


              Короткая позиция (позиция шорт) (от англ. short position)- это позиция, которую трейдер открывает в надежде получить прибыль от падения рынка. Для этого трейдер берет акции взаймы у брокера в натуральной форме, продает акции на открытом рынке дорого, ждет, когда цена акций упадет, покупает акции на открытом рынке дешево, отдает займ брокеру в натуральной форме, а разница между дорогой продажей и дешевой покупкой остается у трейдера — это его прибыль. Таким образом трейдер получает прибыль от падения рынка. Пример: трейдер расчитывает, что цена акций Сбербанка упадет. 21 ноября 2008 года трейдер берет взаймы у брокера 36 акций Сбербанка, в этот же день 21 ноября трейдер продает эти 36 акций Сбербанка по 25 рублей на бирже, затем ждет, пока цена Сбербанка не упадет до 15 рублей, покупает на бирже 36 акций Сбербанка по 15 рублей (3 марта 2009 года), возвращает 36 акций брокеру, а разницу между дорогой продажей и дешевой покупкой оставляет себе. Итого, прибыль трейдера составила (+25-15)*36= 360 рублей. Всё время, пока трейдер не откупит акции, про него говорят: «он в короткой позиции», «он в шортах».
              Держателей коротких позиций (шортов), получающих прибыль от падений рынка, называют еще игроками на понижение, или медведями. Этимология использования слова «медведь» в этом контексте также неизвестна, но запомнить, что медведи играют на понижение, тоже очень легко с помощью ассоциации: медведь встает на задние лапы, наваливается на рынок, прижимает его к земле, и цены падают.
                                                                                                    © интернет
Чтобы купить акции, выберите надежного брокера: