<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[QUIK -> DDE &mdash; Индикатор арбитраж спред]]></title>
		<link>https://quik2dde.ru/viewtopic.php?id=85</link>
		<atom:link href="https://quik2dde.ru/extern.php?action=feed&amp;tid=85&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Индикатор арбитраж спред».]]></description>
		<lastBuildDate>Tue, 26 Feb 2019 21:12:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2340#p2340</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Cyberdogk9)]]></author>
			<pubDate>Tue, 26 Feb 2019 21:12:39 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2340#p2340</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2307#p2307</link>
			<description><![CDATA[<div class="quotebox"><cite>zyanov пишет:</cite><blockquote><p>у заявок получится график похожий на график цены. Вряд ли что то полезное даст такой график. имхо</p></blockquote></div><p>отчего же? вполне себе хороший трендовый показатель. Только одного спроса/предложения мало, нужен такой же, только с объемами, участников в заявках на покупку может быть больше, а денег в заявках - меньше.</p>]]></description>
			<author><![CDATA[null@example.com (kalikazandr)]]></author>
			<pubDate>Wed, 06 Feb 2019 06:48:38 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2307#p2307</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2305#p2305</link>
			<description><![CDATA[<p>Надо файл положить в папку <strong>LuaIndicators</strong> внутри папки с QUIK.<br />Тогда это индикатор появится в списке индикаторов, доступных в терминале.</p><p>Если же при этом возникает какое-то сообщение об ошибке - напишите какое, тогда можно будет сто-то предметно подсказать.</p>]]></description>
			<author><![CDATA[null@example.com (swerg)]]></author>
			<pubDate>Wed, 06 Feb 2019 04:57:18 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2305#p2305</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=2299#p2299</link>
			<description><![CDATA[<p>День добрый, могли бы вы подсказать как этим индикатором воспользоваться? Я сделал файл текстовый с расширение lua, но после добавления на график выдаёт ошибку... я что-то пропускаю наверно.</p>]]></description>
			<author><![CDATA[null@example.com (Cyberdogk9)]]></author>
			<pubDate>Sat, 02 Feb 2019 10:28:28 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=2299#p2299</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=608#p608</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (jestpounder)]]></author>
			<pubDate>Fri, 15 Aug 2014 10:13:53 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=608#p608</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=518#p518</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (shishkir_aleksandr)]]></author>
			<pubDate>Mon, 03 Feb 2014 12:31:37 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=518#p518</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=515#p515</link>
			<description><![CDATA[<p>у заявок получится график похожий на график цены. Вряд ли что то полезное даст такой график. имхо</p>]]></description>
			<author><![CDATA[null@example.com (zyanov)]]></author>
			<pubDate>Wed, 29 Jan 2014 16:40:58 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=515#p515</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=513#p513</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (shishkir_aleksandr)]]></author>
			<pubDate>Tue, 28 Jan 2014 19:04:47 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=513#p513</guid>
		</item>
		<item>
			<title><![CDATA[Re: Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=512#p512</link>
			<description><![CDATA[<p><strong>shishkir_aleksandr</strong>,<br />Приветствую вас на этом форуме! заходите почаще )</p><p>По поводу вашего вопроса: хорошо бы вы картинку покрупнее выложили...<br />В принципе, нарисовать можно, но не просто: надо придумывать как именно заявки привязывать к координатам графика и что делать с заявками, которые уже сняты/сыграли. Но в принципе так или иначе задача решаемая.</p><p>Хорошо бы вы еще уточнили между какими именно параметрами заявок надо спред вычислять? количество? цена? объем?</p>]]></description>
			<author><![CDATA[null@example.com (admin)]]></author>
			<pubDate>Tue, 28 Jan 2014 16:46:54 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=512#p512</guid>
		</item>
		<item>
			<title><![CDATA[Индикатор арбитраж спред]]></title>
			<link>https://quik2dde.ru/viewtopic.php?pid=511#p511</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (shishkir_aleksandr)]]></author>
			<pubDate>Tue, 28 Jan 2014 13:28:52 +0000</pubDate>
			<guid>https://quik2dde.ru/viewtopic.php?pid=511#p511</guid>
		</item>
	</channel>
</rss>
