<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Журнал сделок и расчет результата сделок]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Журнал сделок и расчет результата сделок форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 23 Apr 2026 09:25:40 +0300</pubDate>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45794/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Как-то очень сложно на мой взгляд.<br />
====code====
<pre>-- INPUTS:
--&nbsp;&nbsp; values&nbsp;&nbsp;: { v1, v2, ... , vN }
--&nbsp;&nbsp; weights : { w1, w2, ... , wN }
-- OUTPUT:
--&nbsp;&nbsp; weighted average

function WeightedAverage(values, weights)
&nbsp;&nbsp;local num = 0, den = 0
&nbsp;&nbsp;for i = 1, #values do
&nbsp;&nbsp;&nbsp;&nbsp;num = num + values&#91;i&#93; * weights&#91;i&#93;
&nbsp;&nbsp;&nbsp;&nbsp;den = den + weights&#91;i&#93;
&nbsp;&nbsp;end
&nbsp;&nbsp;return (num / den)
end
</pre>
============= <br />
			<i>31.05.2020 14:05:54, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45794/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45794/topic5451/</guid>
			<pubDate>Sun, 31 May 2020 14:05:54 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45575/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_BvJxEOWa" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13936/" target="_blank" rel="nofollow">Иван</a></noindex> написал:<br />Но не могу найти внятного пояснения как оно рассчитывается в плане формулы?<br />=============<br /> Представления не имею, как в экселе формулы устроены. По логике средневзвешенного вот так<br /> &nbsp; &nbsp; <br />=============<br />
====code====
<pre>-- Функция рассчета средневзвешенного
-- Средневзвешенное значение = (x1*w1 + x2*w2 + x3*w3) / (w1+w2+w3)
-- x1,x2,x3 - это значение (например цена)
-- w1,w2,w3 - вес каждого
-- $a = &#91;10,20,30&#93;;
-- $b = &#91;5,6,7&#93;;
-- $ar = array_map(function($e1,$e2){ return $e1*e2; }, $a, $b);
-- $result = array_sum($ar)/array_sum($b);
-- }
function _QuikUtilityWeightedAverage(ar1,ar2)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local ar1_map = {};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1, #ar1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar1_map&#91;#ar1_map+1&#93; = ar1&#91;i&#93; * ar2&#91;i&#93;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local sumAr1 = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1, #ar1_map do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sumAr1 = sumAr1 + ar1_map&#91;i&#93;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local sumAr2 = 0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1, #ar2 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sumAr2 = sumAr2 + ar2&#91;i&#93;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return tonumber(sumAr1/sumAr2);
end;
</pre>
============= <br />
			<i>26.05.2020 18:21:40, Иван.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45575/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45575/topic5451/</guid>
			<pubDate>Tue, 26 May 2020 18:21:40 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45426/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1a5kSg5i" href="/user/13936/" bx-tooltip-user-id="13936">Иван</a> написал:<br />Но не могу найти внятного пояснения как оно рассчитывается в плане формулы?<br />=============<br />Представления не имею, как в экселе формулы устроены. По логике средневзвешенного вот так<br />[FILE ID=6661] <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=6661&" width="136" height="204" /><br /><i>22.05.2020 14:29:23, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45426/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45426/topic5451/</guid>
			<pubDate>Fri, 22 May 2020 14:29:23 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45416/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_3dgVlCdg" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/13936/" target="_blank" rel="nofollow">Иван</a></noindex> написал:<br />пример нескольких строк из таблицы<br />=============<br /> С этим-то какие сложности<br /> 
====code====
<pre>&nbsp;&nbsp;{
&nbsp;&nbsp;{ direction&nbsp;&nbsp;=&nbsp;&nbsp; 'B' , value&nbsp;&nbsp;=&nbsp;&nbsp; 33000.0&nbsp;&nbsp;},
&nbsp;&nbsp;{ direction&nbsp;&nbsp;=&nbsp;&nbsp; 'S' , value&nbsp;&nbsp;=&nbsp;&nbsp; 32000.0&nbsp;&nbsp;},
}
&nbsp;&nbsp;</pre>
=============
 <br />=============<br />Нашел способ посчитать через средневсзвешенное.<br />В Excel это формула =СУММПРОИЗВ(E1:E10;F1:F10)/СУММ(F1:F10).<br />Но не могу найти внятного пояснения как оно рассчитывается в плане формулы? <br />
			<i>22.05.2020 13:18:27, Иван.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45416/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45416/topic5451/</guid>
			<pubDate>Fri, 22 May 2020 13:18:27 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45378/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_uRlA272k" href="/user/13936/" bx-tooltip-user-id="13936">Иван</a> написал:<br />пример нескольких строк из таблицы<br />=============<br />С этим-то какие сложности<br />
====code====
<pre>{
&nbsp;&nbsp;{ direction = 'B', value = 33000.0 },
&nbsp;&nbsp;{ direction = 'S', value = 32000.0 },
}
</pre>
============= <br />
			<i>21.05.2020 20:31:58, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45378/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45378/topic5451/</guid>
			<pubDate>Thu, 21 May 2020 20:31:58 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45324/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TsQTycV5" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />Пусть у нас есть табличка луа в виде массива со сделками, у каждой сделки есть как минимум поля direction = { &#39;B&#39; | &#39;S&#39; } и value (объем в деньгах).<br /> 
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; calc_result (tradelist)
&nbsp;&nbsp; local&nbsp;&nbsp;result&nbsp;&nbsp;=&nbsp;&nbsp; 0 
&nbsp;&nbsp; for&nbsp;&nbsp;i,t&nbsp;&nbsp;in&nbsp;&nbsp;ipairs(tradelist)&nbsp;&nbsp;do 
&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp;t.direction&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp; 'B'&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;&nbsp;=&nbsp;&nbsp;result&nbsp;&nbsp;-&nbsp;&nbsp;t.value
&nbsp;&nbsp;&nbsp;&nbsp; elseif&nbsp;&nbsp;t.direction&nbsp;&nbsp;=&nbsp;&nbsp;=&nbsp;&nbsp; 'S'&nbsp;&nbsp; then 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;&nbsp;=&nbsp;&nbsp;result&nbsp;&nbsp;+&nbsp;&nbsp;t.value
&nbsp;&nbsp;&nbsp;&nbsp; else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error( 'WTF' )
&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp; end 
&nbsp;&nbsp; return&nbsp;&nbsp;result
 end 
&nbsp;&nbsp;</pre>
=============
 <br />=============<br />Можно пожалуйста пример нескольких строк из таблицы привести. <br />
			<i>21.05.2020 09:48:32, Иван.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45324/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45324/topic5451/</guid>
			<pubDate>Thu, 21 May 2020 09:48:32 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45307/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Пусть у нас есть табличка луа в виде массива со сделками, у каждой сделки есть как минимум поля direction = { &#39;B&#39; | &#39;S&#39; } и value (объем в деньгах).<br />
====code====
<pre>function calc_result(tradelist)
&nbsp;&nbsp;local result = 0
&nbsp;&nbsp;for i,t in ipairs(tradelist) do
&nbsp;&nbsp;&nbsp;&nbsp;if t.direction == 'B' then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = result - t.value
&nbsp;&nbsp;&nbsp;&nbsp;elseif t.direction == 'S' then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = result + t.value
&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error('WTF')
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;end
&nbsp;&nbsp;return result
end
</pre>
============= <br />
			<i>20.05.2020 23:44:21, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45307/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45307/topic5451/</guid>
			<pubDate>Wed, 20 May 2020 23:44:21 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45306/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_G0vbg3DB" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />Сделка это один пункт из вашего списка, у нее результат &quot;купились/продались икс контрактов по цене игрек&quot;. А результат серии сделок посчитать так: завести переменную, равную 0. Каждый раз, когда что-то купилось, уменьшать переменную на объем покупки. Каждый раз, когда что-то продалось, увеличивать ее на объем продажи. Когда закрылось все, в переменной останется чистая разница по всем проведенным сделкам. Считать можно как в реалтайме, так и задним числом по списку сделок.<br />=============<br />Не совсем понял как посчитать - можно пожалуйста пример. <br />
			<i>20.05.2020 23:04:50, Иван.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45306/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45306/topic5451/</guid>
			<pubDate>Wed, 20 May 2020 23:04:50 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45303/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Сделка это один пункт из вашего списка, у нее результат &quot;купились/продались икс контрактов по цене игрек&quot;. А результат серии сделок посчитать так: завести переменную, равную 0. Каждый раз, когда что-то купилось, уменьшать переменную на объем покупки. Каждый раз, когда что-то продалось, увеличивать ее на объем продажи. Когда закрылось все, в переменной останется чистая разница по всем проведенным сделкам. Считать можно как в реалтайме, так и задним числом по списку сделок. <br />
			<i>20.05.2020 22:00:14, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45303/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45303/topic5451/</guid>
			<pubDate>Wed, 20 May 2020 22:00:14 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
		<item>
			<title>Журнал сделок и расчет результата сделок</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message45301/topic5451/">Журнал сделок и расчет результата сделок</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			К примеру было куплено 10 контрактов.<br /><br />5 купились по цене 103100<br />3 купились по цене 103101<br />2 купились по цене 103102<br /><br />Проходит время мы сделали докупку на 5 контрактов.<br />4 купились по цене 103250<br />1 купился по цене 103251<br /><br />Проходит время мы решили закрыть часть позиций (а именно 10 контрактов).<br />5 было закрыто по цене 103500<br />5 было закрыто по цене 103501<br /><br />Проходит еще время и мы решили закрыть все.<br />1 был закрыт по цене 103602<br />1 был закрыт по цене 103603<br />1 был закрыт по цене 103604<br />1 был закрыт по цене 103605<br />1 был закрыт по цене 103606<br /><br />Как посчитать результат сделки? <br /><br />Если бы это был открыт 1 контракт, либо было открыто 10 контрактов по одной и той же цене, и аналогично если бы было закрыто все по 1 цене - здесь вопросов нет... <br />
			<i>20.05.2020 21:29:25, Иван.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message45301/topic5451/</link>
			<guid>http://forum.quik.ru/messages/forum17/message45301/topic5451/</guid>
			<pubDate>Wed, 20 May 2020 21:29:25 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
	</channel>
</rss>
