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

  1. Логотип SpaceX
    Акции SpaceX взлетели на 50 % всего за три торговые сессии.
    Акции SpaceX взлетели на 50 % всего за три торговые сессии.



    Авто-репост. Читать в блоге >>>
  2. Логотип 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
    


    Авто-репост. Читать в блоге >>>
  3. Логотип 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.


    Письмо получил. Может разыгрывают меня? А я вас?
    читать дальше на смартлабе
  4. Логотип 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.
    читать дальше на смартлабе
  5. Логотип 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

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

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

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


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

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

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

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

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


    читать дальше на смартлабе
  9. Логотип 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

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

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

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

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

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


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

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


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

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

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

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

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

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


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

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

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

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

    Дневки сильнее, КМК.
Чтобы купить акции, выберите надежного брокера: