<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Индикатор арбитраж спред]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=85&amp;type=atom" />
	<updated>2019-02-26T21:12:39Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=85</id>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2340#p2340" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>swerg пишет:</cite><blockquote><p>Надо файл положить в папку <strong>LuaIndicators</strong> внутри папки с QUIK.<br />Тогда это индикатор появится в списке индикаторов, доступных в терминале.</p><p>Если же при этом возникает какое-то сообщение об ошибке - напишите какое, тогда можно будет сто-то предметно подсказать.</p></blockquote></div><p>Вот что пишет ошибка:<br />&quot;...:\Open_Broker_QUIK\LuaIndicators\paveldifference.lua:79: attempt to perform arithmetic on a nil value&quot;</p>]]></content>
			<author>
				<name><![CDATA[Cyberdogk9]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3122</uri>
			</author>
			<updated>2019-02-26T21:12:39Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2340#p2340</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2307#p2307" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>zyanov пишет:</cite><blockquote><p>у заявок получится график похожий на график цены. Вряд ли что то полезное даст такой график. имхо</p></blockquote></div><p>отчего же? вполне себе хороший трендовый показатель. Только одного спроса/предложения мало, нужен такой же, только с объемами, участников в заявках на покупку может быть больше, а денег в заявках - меньше.</p>]]></content>
			<author>
				<name><![CDATA[kalikazandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=208</uri>
			</author>
			<updated>2019-02-06T06:48:38Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2307#p2307</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2305#p2305" />
			<content type="html"><![CDATA[<p>Надо файл положить в папку <strong>LuaIndicators</strong> внутри папки с QUIK.<br />Тогда это индикатор появится в списке индикаторов, доступных в терминале.</p><p>Если же при этом возникает какое-то сообщение об ошибке - напишите какое, тогда можно будет сто-то предметно подсказать.</p>]]></content>
			<author>
				<name><![CDATA[swerg]]></name>
				<uri>https://quik2dde.ru/profile.php?id=78</uri>
			</author>
			<updated>2019-02-06T04:57:18Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2305#p2305</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=2299#p2299" />
			<content type="html"><![CDATA[<p>День добрый, могли бы вы подсказать как этим индикатором воспользоваться? Я сделал файл текстовый с расширение lua, но после добавления на график выдаёт ошибку... я что-то пропускаю наверно.</p>]]></content>
			<author>
				<name><![CDATA[Cyberdogk9]]></name>
				<uri>https://quik2dde.ru/profile.php?id=3122</uri>
			</author>
			<updated>2019-02-02T10:28:28Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=2299#p2299</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=608#p608" />
			<content type="html"><![CDATA[<p>Вставлю и свои пять копеек.</p><div class="codebox"><pre><code>Settings=
{
    Name = &quot;Spread&quot;,
    tag = &quot;SI&quot;,
    Period = 10,
    value_type = &quot;C&quot;,
    Reverse = -1,
    line = 
    {
        {
            Name = &quot;Spread&quot;,
            Color = RGB(100, 200, 100),
            Type = TYPE_HISTOGRAM,
            Width = 2
        }
    }
}
 
function dValue(i,param)
    local v = param or &quot;C&quot;    
    if         v == &quot;O&quot; then 
                return O(i)
    elseif     v == &quot;H&quot; then
                return H(i)
    elseif     v == &quot;L&quot; then
                return L(i)
    elseif     v == &quot;C&quot; then
                return C(i)
    elseif     v == &quot;V&quot; then
                return V(i)
    elseif     v == &quot;M&quot; then
                return (H(i) + L(i))/2
    elseif     v == &quot;T&quot; then
                return (H(i) + L(i)+C(i))/3
    elseif     v == &quot;W&quot; then
                return (H(i) + L(i)+2*C(i))/4
    else 
        return C(i)
    end
end
 
function Init()
    return 1    
end
 
function OnCalculate(index)  
    local period = Settings.Period  
    local Ves = 0
    local R = Settings.Reverse
    
    function dMas(i,param)
    local n = getNumCandles (Settings.tag)    
        local t,_,_ = getCandlesByIndex(Settings.tag,0,n-Size()-1+i,1)    
        local v = param or &quot;C&quot;    
        if         v == &quot;O&quot; then 
                    return t[0].open
        elseif     v == &quot;H&quot; then
                    return t[0].high
        elseif     v == &quot;L&quot; then
                    return t[0].low
        elseif     v == &quot;C&quot; then
                    return t[0].close
        elseif     v == &quot;M&quot; then
                    return (t[0].high + t[0].low)/2
        elseif     v == &quot;T&quot; then
                    return (t[0].high + t[0].low+t[0].close)/3
        elseif     v == &quot;W&quot; then
                    return (t[0].high + t[0].low+t[0].close*2)/4
        else 
            return t[0].close
        end
    end
    
    if index &lt; period*3+2 then
        return nil
    else   
 
        local sum = 0    
    local per = 0    
        local base_inc = 0
        local add_inc = 0
       
        local avg_k=0
        local sum_b=0
        local sum_a=0
        for c = index-period*3, index do            
                base_inc=math.abs(dValue(c, Settings.value_type)-dValue(c-1, Settings.value_type))
                add_inc=math.abs(dMas(c, Settings.value_type)-dMas(c-1, Settings.value_type))
            if (base_inc/math.abs(dValue(c-1, Settings.value_type))&lt;0.3 and add_inc/math.abs(dMas(c-1, Settings.value_type))&lt;0.3) then
                sum_b = sum_b+math.abs(base_inc)
                sum_a = sum_a+math.abs(add_inc)
            end
        end
        avg_k=sum_b/sum_a
       
        for c = index-period, index do            
                base_inc=((dValue(c, Settings.value_type)-dValue(c-1, Settings.value_type))/dValue(c-1, Settings.value_type))*100
                add_inc=((dMas(c, Settings.value_type)-dMas(c-1, Settings.value_type))/dMas(c-1, Settings.value_type))*100
        if (math.abs(base_inc)&lt;10 and math.abs(add_inc)&lt;10) then 
                sum = sum+(base_inc-R*add_inc*avg_k)
        per=per+1
            end
        end

        return sum/per    
    end    
end</code></pre></div><p>вот моя версия индикатора спреда, параметры по умолчанию для спреда RTS/Si</p>]]></content>
			<author>
				<name><![CDATA[jestpounder]]></name>
				<uri>https://quik2dde.ru/profile.php?id=139</uri>
			</author>
			<updated>2014-08-15T10:13:53Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=608#p608</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=518#p518" />
			<content type="html"><![CDATA[<p>Вот что у меня получилось, реализовал расчет спреда на основе МА.</p><p>Вот только при при пропущенных данных рисует криво), как это устранить? А и еще кто-нить знает как сделать индикатор CumDelta? HELP!</p><div class="codebox"><pre><code>Settings=
{
    Name = &quot;Spread&quot;,
    tag = &quot;Si&quot;,
    Ves =1,
    value_type = &quot;C&quot;,
    line = 
    {
        {
            Name = &quot;MA&quot;,
            Color = RGB(255, 0, 0),
            Type = TYPE_LINE,
            Width = 1
        }
    }
}
 
function dValue(i,param)
    local v = param or &quot;C&quot;
    
    if         v == &quot;O&quot; then 
                return O(i)
    elseif     v == &quot;H&quot; then
                return H(i)
    elseif     v == &quot;L&quot; then
                return L(i)
    elseif     v == &quot;C&quot; then
                return C(i)
    elseif     v == &quot;V&quot; then
                return V(i)
    elseif     v == &quot;M&quot; then
                return (H(i) + L(i))/2
    elseif     v == &quot;T&quot; then
                return (H(i) + L(i)+C(i))/3
    elseif     v == &quot;W&quot; then
                return (H(i) + L(i)+2*C(i))/4
    else 
        return C(i)
    end
end
 
function Init()
    return 1
end
 
function OnCalculate(index)
    
    n = getNumCandles (Settings.tag)
    
    t,n,s = getCandlesByIndex(Settings.tag,0,n-1,1)
    
    function dMas(i,param)
    
        local v = param or &quot;C&quot;
    
        if         v == &quot;O&quot; then 
                    return t[0].open
        elseif     v == &quot;H&quot; then
                    return t[0].high
        elseif     v == &quot;L&quot; then
                    return t[0].low
        elseif     v == &quot;C&quot; then
                    return t[0].close
        elseif     v == &quot;M&quot; then
                    return (t[0].high + t[0].low)/2
        elseif     v == &quot;T&quot; then
                    return (t[0].high + t[0].low+t[0].close)/3
        elseif     v == &quot;W&quot; then
                    return (t[0].high + t[0].low+t[0].close*2)/4
        else 
            return t[0].close
        end
    end
    if index &lt; 1 then
        return nil
    else
        local sum = 0
        for i = index, index do
            sum = sum +dValue(i, Settings.value_type)-Settings.Ves*dMas(i, Settings.value_type)
        end
        return sum
    end
end</code></pre></div>]]></content>
			<author>
				<name><![CDATA[shishkir_aleksandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=175</uri>
			</author>
			<updated>2014-02-03T12:31:37Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=518#p518</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=515#p515" />
			<content type="html"><![CDATA[<p>у заявок получится график похожий на график цены. Вряд ли что то полезное даст такой график. имхо</p>]]></content>
			<author>
				<name><![CDATA[zyanov]]></name>
				<uri>https://quik2dde.ru/profile.php?id=87</uri>
			</author>
			<updated>2014-01-29T16:40:58Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=515#p515</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=513#p513" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>admin пишет:</cite><blockquote><p>Хорошо бы вы еще уточнили между какими именно параметрами заявок надо спред вычислять? количество? цена? объем?</p></blockquote></div><p>&nbsp; <br />Прошу прощения за неточную постановку вопроса)</p><p>&nbsp; &nbsp; &nbsp;В QUIKe по каждому инструменту транслируется такой параметр как &quot;СУММАРНОЕ КОЛИЧЕСТВО ЗАЯВОК НА ПОКУПКУ&quot;&nbsp; и &quot;СУММАРНОЕ КОЛИЧЕСТВО ЗАЯВОК НА ПРОДАЖУ&quot;, по этим значениям из ТАБЛИЦЫ ИСТОРИИ ЗНАЧЕНИЙ ПАРАМЕТРОВ можно построить графики (картинку я поменял СМ. ВЫШЕ). <br />Т. е. в принципе имеем два графика Price построенным по некоторым параметрам, между которыми и необходимо найти &quot;спред&quot;(разность) и вывести на график. Надеюсь я понятно объяснил?)</p><p>Ну и уточняю свой вопрос: По какому алгоритму это возможно реализовать? получение данных с графика-&gt;вывод в таблицу-&gt;расчет-&gt;вывод из таблицы на график? или получение данных с графика-&gt;расчет-&gt;вывод&nbsp; графика? или я совсем не прав и написал бред?)))</p><p>ЗЫ: В программировании я очень новичок, не судите строго)</p>]]></content>
			<author>
				<name><![CDATA[shishkir_aleksandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=175</uri>
			</author>
			<updated>2014-01-28T19:04:47Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=513#p513</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=512#p512" />
			<content type="html"><![CDATA[<p><strong>shishkir_aleksandr</strong>,<br />Приветствую вас на этом форуме! заходите почаще )</p><p>По поводу вашего вопроса: хорошо бы вы картинку покрупнее выложили...<br />В принципе, нарисовать можно, но не просто: надо придумывать как именно заявки привязывать к координатам графика и что делать с заявками, которые уже сняты/сыграли. Но в принципе так или иначе задача решаемая.</p><p>Хорошо бы вы еще уточнили между какими именно параметрами заявок надо спред вычислять? количество? цена? объем?</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2014-01-28T16:46:54Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=512#p512</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Индикатор арбитраж спред]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=511#p511" />
			<content type="html"><![CDATA[<p>Возможно ли посредством LUA в QUIKe построить в виде графика:</p><p>D=Заявки на покупку-Заявки на продажу;</p><p>т.е. спред между двумя графиками, по типу арбитража?</p><p><span class="postimg"><img src="http://ib2.keep4u.ru/b/2014/01/28/50/500eeaed3bc5446b3f06f89008a20768.png" alt="http://ib2.keep4u.ru/b/2014/01/28/50/500eeaed3bc5446b3f06f89008a20768.png" /></span></p>]]></content>
			<author>
				<name><![CDATA[shishkir_aleksandr]]></name>
				<uri>https://quik2dde.ru/profile.php?id=175</uri>
			</author>
			<updated>2014-01-28T13:28:52Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=511#p511</id>
		</entry>
</feed>
