Yury Kirillov
Yury Kirillov
  • Информация
9+ лет
опыт работы
0
продуктов
0
демо-версий
0
работ
0
сигналов
0
подписчиков
Добытчик интернет денег
поделился статьей автора Roman Korotchenko
Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов
Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов

Поиски и изучение фрактального поведения финансовых данных подразумевают, что за внешне хаотическим поведением экономических временных рядов скрываются и действуют устойчивые механизмы коллективного поведения участников. На бирже такие механизмы могут приводить к возникновению ценовой динамики, которая определяет и описывает специфические свойства ценовых рядов. В трейдинге были бы интересны такие индикаторы, которые могут эффективно и устойчиво оценивать параметры фрактальности на том масштабе и диапазоне времени, которые актуальны на практике.

поделился статьей автора Maxim Dmitrievsky
Грокаем "память" рынка через дифференцирование и энтропийный анализ
Грокаем "память" рынка через дифференцирование и энтропийный анализ

Область применения дробного дифференцирования достаточно широка. Например, алгоритмы машинного обучения, обычно, принимают дифференцированный ряд на вход. Проблема в том, что необходимо вывести новые данные в соответствии с имеющейся историей, чтобы модель машинного обучения смогла распознать их. В данной статье рассматривается оригинальный подход к дифференцированию временного ряда, в дополнении к этому приводится пример самооптимизирующейся ТС на основе полученного дифференцированного ряда.

Yury Kirillov
Добавил тему Билд 2037 - настройки редактора не фиксируются.
Каждый раз при входе в редактор настройки панелей сбрасываются к когда-то ранее установленному виду. При их изменении и выходе из редактора - новые настройки не сохраняются
Yury Kirillov
Добавил тему "Макс. баров в окне" как получить программно?
Привет всем! С праздником Победы! Ну и вопрос: как программно получить значение "Макс. баров в окне" из настроек терминала
Automated-Trading
Automated-Trading
Индикаторы: Ping
Ping : Реал-тайм индикатор лага котировок внутри самого терминала. Для торговли важным параметром является актуальность текущей цены. На него влияет множество факторов, самый популярный из которых - сетевой пинг между терминалом и торговым сервером
поделился статьей автора BPASoftware Thai Co. Ltd
Автоматическая оптимизация советника в MetaTrader 5
Автоматическая оптимизация советника в MetaTrader 5

В данной статье описана реализация механизма самооптимизации работающего эксперта в MetaTrader 5.

Yury Kirillov
Добавил тему Как из тестера получить системное время компьютера?
Хочется замерять время тестирования эксперта . Соответственно получать время запуска и завершения теста. Есть ли такая возможность
Yury Kirillov
Добавил тему Debug version of "Shared Projects\Project\...\XXXXXXXXX.ex5" detected
При запуске советника в тестере стратегий первой строкой выводится сообщение: 2019.04 . 20 16 : 07 : 18.880 Tester  debug version of "Shared Projects\Project\CoinAge5\LibreNetka5\LN_v04.305\LibreNetka_v4.305.ex5" detected Это нормальное
Yury Kirillov
Yury Kirillov
https://smart-lab.ru/blog/533624.php
Об оценивании волатильностей и ковариаций
14 апреля 2019, 22:56
Eugene Logunov
Yury Kirillov
Yury Kirillov
https://smart-lab.ru/blog/533447.php
Куда пойти работать кванту
12 апреля 2019, 20:38
Eugene Logunov
Если вы хорошо знаете математику, умеете программировать и вам интересна работа в качестве Quantitative Researcher / Quantitative Trader / Quantitative Portfolio Manager / etc. — то обратите внимание на этот список из 69 компаний.

Одни занимаются высокочастотной торговлей, маркетмейкингом и арбитражем. Другие — управляют активами с использованием количественных методов. Третьи — занимаются оптимальным исполнением ордеров. Самая малость — разрабатывают low-latency инстраструктуру и предоставляют её своим клиентам. Примерно у десяти, кажется, есть офисы в России. Остальные — в Нью-Йорке, Чикаго, Лондоне, Берлине и т.д.

Компании приведены в порядке максимально близком к алфавитному. Все сайты работают, один-два могут не открываться из России, но обязательно откроются через прокси.

3Red Trading ( www.3redpartners.com/ )
ADG Capital Management ( www.adgcapitalmanagement.com/ )
AIM Tech (бывший AIM Fund) ( www.aimtech.com/ )
Akuna Capital ( akunacapital.com/ )
Algo Capital (бывший Nord Capital) ( algocapital.ru/ )
Allston Trading ( www.allstontrading.com/ )
AQR Capital Management ( www.aqr.com/ )
Aspect Capital Ltd ( www.aspectcapital.com/ )
Belvedere Trading LLC ( www.belvederetrading.com/ )
BlackEdge Capital ( www.blackedge.com/ )
Bluefin Trading LLC ( www.bluefintrading.com/ )
Bluefire Capital ( www.bluefirecapital.com/ )
Chicago Trading Company / CTC ( www.chicagotrading.com/ )
Chopper Trading ( www.choppertrading.com/ )
Circulum Vite LLC ( www.circulumvite.com/ )
Citadel LLC ( www.citadel.com/ )
Consolidated Trading LLC ( www.consolidatedtrading.com/ )
Cutler Group LP ( www.cutlergrouplp.com/ )
D. E. Shaw Group ( www.deshaw.com/ )
DRW Trading Group (приобрели Vigilant Global) ( drw.com/ )
Eclipse Trading ( www.eclipsetrading.com/ )
exp(capital) ( expcapital.com/ )
Five Rings Capital ( fiverings.com/ )
Flow Traders ( www.flowtraders.com/ )
Geneva Trading ( www.geneva-trading.com/ )
GSA Capital Partners LLP ( www.gsacapital.com/ )
Headlands Technologies LLC ( www.headlandstech.com/ )
Hehmeyer Trading Group ( www.hehmeyer.com/ )
Hudson River Trading / HRT (приобрели Sun Trading LLC) ( www.hudson-trading.com/ )
IMC Trading B.V. ( www.imc.com/us/ )
Informed Portfolio Management / IPM ( www.ipm.se/ )
Jane Street ( www.janestreet.com/ )
Jump Trading ( www.jumptrading.com/ )
Liquid Capital Group ( www.liquidcapital.com/ )
Mosaic Finance Bienvenue ( www.mosaicfinance.fr/en/market-making )
Optiver ( www.optiver.com/eu/en/ )
PDT Partners ( www.pdtpartners.com/ )
PEAK6 Investments LLC ( www.peak6.com/ )
Profluent Trading ( www.profluenttrading.com/ )
QBF (ex- QB Finance) ( qbfin.ru/ )
Quantitative Brokers ( quantitativebrokers.com/ )
QuantPort Asset Management (подразделение Jefferies Investment Advisers) ( www.quantport-am.com/about-us/ )
QuantRes ( quantres.com/ )
Quantstellation ( quantstellation.com/ )
Quantum Brains ( quantumbrains.com/ )
Renaissance Technologies LLC ( www.rentec.com/ )
Research Affiliates ( www.researchaffiliates.com/ )
REVO Capital LLC ( http://www.revocm.com/ )
Ronin Capital ( www.ronin-capital.com/ )
Simplex Investments ( www.simplexinvestments.com/ )
Susquehanna International Group / SIG ( sig.com/ )
swissQuant Group AG ( www.swissquant.com/ )
Teza Technologies ( www.teza.com/ )
Thesys Technologies, LLC / Tradeworx ( www.thesystech.com/index.html )
ThunderBid ( www.thunder.bid/ )
Tibra Capital ( www.tibra.com/ )
Tower Research Capital / Spire Europe Limited / Latour Trading LLC ( www.tower-research.com/ )
Tradebot Systems ( www.tradebot.com/ )
TradeLink Holdings LLC ( www.tradelinkllc.com/ )
TransMarket Group LLC / TMG (бывший Aardvark Financial) ( www.transmarketgroup.com/ )
TRZ Funds ( www.trzfunds.com/ )
Two Sigma Investments ( www.twosigma.com/ )
Valkyrie Trading ( www.valkyrietrading.com/ )
Virtu Financial (приобрели KCG Holdings, бывшие Getco & Knight Capital Group) ( www.virtu.com/ )
Volant Trading ( volanttrading.com/ )
Winton Capital Management ( www.winton.com/ )
Wolverine Trading ( www.wolve.com/ )
WorldQuant / Millennium Management ( www.worldquant.com/home/ www.mlp.com/home/ )
Wunder Fund ( wunderfund.io/ )

P.S.
1) Если я пропустил какую-то интересную компанию — обязательно пришлите мне название!
2) Банков в списке нет. Почему? Я так захотел.
3) Нет, мне не платят за рекламу :)
Yury Kirillov
Добавил тему Как сделать динамический двумерный массив? То есть массив, обе размерности которого будут изменяться динамически.
Как делать одномерный динамический массив понятно. Понятно как делать динамический многомерный массив (в котором динамически изменяется первое измерение). А как сделать двумерный массив, у которого динамически изменяются оба измерения
Yury Kirillov
Yury Kirillov
Книги и образовательные ресурсы по алгоритмической торговле
Алгоритмическая торговля — интересная область, которая позволяет ИТ-специалистам применить свои технические знания на фондовом рынке и извлечь из этого ту или иную выгоду. В нашем блоге мы неоднократно рассматривали различные темы, связанные с созданием торговых роботов, но недостаточно внимания уделяли теоретическим вопросам, с которыми сталкиваются начинающие трейдеры.

В нашем сегодняшнем материале — подборка книг, которые помогут лучше подготовиться к началу работы на фондовом рынке и написанию механических торговых систем. Для достижения наибольшей эффективности материала, мы приводим советы экспертов, которые занимаются алгоритмической торговлей на российском и зарубежных фондовых рынках.
https://habr.com/ru/company/iticapital/blog/257971/
Konstantin Zharitov
Konstantin Zharitov 2019.04.06
Протестировал больше 200 советников и могу сказать, что основная проблема как раз в том, что разработчики в первую очередь программисты, а не трейдеры. По работе 99,9% советников видно, что создатели не понимают куда, как и почему движется цена, слишком сильно полагаются на индикаторы, фиксированные значения TP и SL, мало внимания уделяют мани-менеджменту и сопровождению позиций.
По-хорошему, если вы программист, хорошо владеете программированием и хотите написать робота, то берёте в команду опытного грамотного трейдера и по его чётким указаниям пишете робота, а не пытаетесь в попыхах изучить трейдинг и что-то там сварганить на основе полутора книжек и трёх статей из интернета.
Vasiliy Kolesov
Vasiliy Kolesov 2019.04.06
Согласен полностью с Konstantinum. У иных разработчиков по 10-15 советников в продаже, а мониторингов работы этих советников нет. Спрашивается, зачем нужен советник, если не им торговать?
Yury Kirillov
Добавил тему Можно ли совместить в памяти два массива?
Есть большой массив M1 содержащий данные. Хочется получать выборку данных некоторой длины во второй массив M2 меньшего размера. Хочется сделать это максимально быстро, не используя копирование элементов. Например было бы здорово просто совместить
Yury Kirillov
Yury Kirillov
Индикатор ожидаемого движения для опционной торговли (Часть 2 устройство индикатора)
05 апреля 2019, 11:25 FZF
В первой части мы рассмотрели «теорему о средней волатильности» где, обозначили такое свойство:волатильности могут на разных таймфреймах значительно отличаться друг от друга. Но они всегда будут со временем сходится к одному значению.

Вот, на этом свойстве и будет построен индикатор. Для индикатора нам нужны волатильности на различных таймфреймах. В качестве индикатора волатильности берутся два стандартных индикатора, но которые по сущности показывают одно и тоже.

Price Channel (PC) или ценовой канал. Индикатор представляет из себя две линии, которые ограничивают канал колебаний цены. Верхняя граница канала обозначает уровень локального максимума за прошедшие N периодов, а нижняя граница – уровень локального минимума за тот же промежуток времени. Таким образом, цена ограничивается максимальными точками колебаний – экстремумами за N периодов.
Индикатор ожидаемого движения для опционной торговли (Часть 2 устройство индикатора)

Средний Истинный Диапазон (Average True Range, ATR) . Если кратко, то это усредненное значение длин свечей за определенный период. По сути, это Price Channel одной свечи, усредненный за N периодов. (В моем случае он считается через простое усреднение).

Задача индикатора ожидаемого движения заключается в том, чтобы измерить волатильность на разных «таймфреймах», сравнить их и выявить значительные расхождения между ними. Для этого используются следующие составляющие:

Price Channel N периодов (РК1), как показатель волатильности за N периодов ;

Price Channel 2*N периодов (РК2), как показатель волатильности за 2*N периодов ;

Price Channel 4*N периодов (РК4), как показатель волатильности за 4*N периодов ;

ATR N периодов, как базовое значение с условным N0=1.

Получив эти значения, вычисляем отношения ATR к РК масштабе ATR:

L1=ATR/PK1*КОРЕНЬ(N); L2=ATR/PK2*КОРЕНЬ(2*N); L3=ATR/PK4*КОРЕНЬ(4*N);

L1 – это расхождение в волатильности с базовой величиной самого короткого периода. На графике эта величина будет присутствовать в виде зеленой линии. Ее значение выше единицы показывает, что последние N периодов рынок стоял в слишком узком диапазоне цен.

Далее вычисляется среднее (L1+L2+L3)/3. Эта величина отражает усредненное отклонение волатильности с базовой величиной самого короткого периода. На графике эта величина будет присутствовать в виде синей линии. Ее значение выше единицы показывает, что последние 4*N периодов рынок стоял в слишком узком диапазоне цен. Этот показатель говорит, что возможно, рынку пора делать движение и выравнивать значения волатильностей. Для фильтрации шумов есть пороговое значение F (filter): сигнал принимается во внимание когда (L1+L2+L3)/3 > F

И основная сигнальная линия ( на графике отображается красным) вычисляется как L1*(L1+L2+L3)/3 при условии что (L1+L2+L3)/3 > F. Если условие не выполняется, значение равно(1).

Значение сигнальной линии выше единицы показывает, что назревает движение для выравнивания значений волатильности.

На каком таймфрейме и с каким периодом использовать этот индикатор, зависит от того, какой величины движение вы хотите поймать. Показания индикатора можно (нужно) использовать, когда вы собираетесь продавать опционы. Поскольку он предупреждает о возможном движении.
Индикатор ожидаемого движения для опционной торговли (Часть 2 устройство индикатора)

Далее идет код индикатора. Его нужно скопировать в текстовый файл, присвоить ему расширение .lua и положить его в каталог Квика в папку LuaIndicators

По умолчанию (period ) N=14; (filter) F=1,2 ; индикатор должен появиться в списке индикаторов под именем "FZF_dVOL2". Свои индикаторы я начинаю с FZF чтобы потом их легче было искать в общем списке и они стоят в одной кучке.

Settings=
{
Name = "FZF_dVOL2",
period = 14,
filter = 1.2,
line =
{
{
Name = "FZF_L1",
Color = RGB(0, 255, 0),
Type = TYPE_LINE,
Width = 1
},
{
Name = "FZF_L2",
Color = RGB(0, 255, 255),
Type = TYPE_LINE,
Width = 1
},
{
Name = "FZF_L3",
Color = RGB(255, 0, 0),
Type = TYPE_LINE,
Width = 2
}
}
}
function Init()
return 3
end

function OnCalculate(index)
if index < (Settings.period*4+1) then
return nil
else
local sum = 0
local ATR=0
for i = index-Settings.period+1, index do
sum = sum + math.max(math.abs(C(i-1) - L(i)),math.abs(H(i) - C(i-1)),(H(i) - L(i)))
end

ATR=sum/Settings.period --посчитали АТР

-- прайс канал с периодом 1
MAX1 = H(index)
MIN1 = L(index)
for i = 0, (Settings.period-1) do
if MAX1 L(index-i) then MIN1 = L(index-i) end
end
-- прайс канал с периодом *2
MAX2 = H(index)
MIN2 = L(index)
for i = 0, (Settings.period*2-1) do
if MAX2 L(index-i) then MIN2 = L(index-i) end
end
-- прайс канал с периодом *4
MAX4 = H(index)
MIN4 = L(index)
for i = 0, (Settings.period*4-1) do
if MAX4 L(index-i) then MIN4 = L(index-i) end
end
local L1= 0
local L2= 0
local L3= 0

L1=ATR/(MAX1 - MIN1)*math.sqrt(Settings.period)
L2=ATR/(MAX2 - MIN2)*math.sqrt(Settings.period*2)
L3=ATR/(MAX4 - MIN4)*math.sqrt(Settings.period*4)

local LL1= 0
local LL2= 0
local LL3= 0

LL1 = L1 --короткий канал
LL2 = (L1+L2+L3)/3 -- Среднее
if(LL2 < Settings.filter) then
LL3=1
else
LL3 = L1*(L1+L2+L3)/3
end

return LL1, LL2 , LL3

end
end
Yury Kirillov
Yury Kirillov
Индикатор ожидаемого движения для опционной торговли (Часть 1 теория)
04 апреля 2019, 16:12
https://smart-lab.ru/blog/531816.php
Хочу представить вам индикатор для Квика, который дает сигнал о возможном боковом движении базового актива. Индикатор построен на анализе структуры волатильности базового актива.

Для того, чтобы понять как, где и с какими параметрами применять этот индикатор, нужно понять на чем он основан и в каких ситуациях может иметь прогнозную ценность. Поэтому начнем с теории.

Кто пытался самостоятельно посчитать волатильность базового актива в годовом выражении, то знает, что надо взять данные по какому-нибудь таймфрейму за статистически значимый период и посчитать по нему волатильность. Потом, чтобы привести значение волатильности к годовому значению, нужно полученное значение умножить на корень из годового количества свечей таймфрейма взятого для расчета. В этом расчете могут применяться всякие коэффициенты, чтобы учесть выходные и праздники, либо брать для расчета только количество рабочих дней, но суть не в этом.

Если мы хотим посчитать волатильность на длительном периоде исходя из данных более мелких периодов, то волатильность посчитанная на мелких периодах нужно умножить на корень из числа мелких периодов входящих в большой период.
Индикатор ожидаемого движения для опционной торговли (Часть 1 теория)

То есть, мы можем рассчитывать разные волатильности разных периодов друг из друга.

Сформулируем некое следствие из вышеуказанной формулы.

Теорема о средней волатильности

Волатильности, посчитанные с использованием различных таймфреймов (различного разбиения на временные промежутки), стремятся к одному и тому же значению.

Как бы доказательство:

Если волатильность крупного таймфрейма больше волатильности мелкого таймфрейма, то существует такой устойчивый прибыльный алгоритм торговли где, позиция на пробой торгового канала в большинстве случаев приносит прибыль.

Если волатильность крупного таймфрейма меньше волатильности мелкого таймфрейма, то существует такой устойчивый прибыльный алгоритм торговли где, позиция во внутрь торгового канала в большинстве случаев приносит прибыль.

Поскольку мы не наблюдаем толпы зарабатывающих трейдеров ни на одной из этих стратегий торговли, это означает, что волатильности на разных таймфреймах за длительный период времени равны между собой.



Ключевая фраза : за длительный период времени. Это означает, что в каждой отдельной ситуации волатильности могут на разных таймфреймах значительно отличаться друг от друга. Но они всегда будут со временем сходится к одному и тому значению. То есть разница волатильностей, есть график колеблющийся вокруг средней линии.

На этом свойстве и основан индикатор ожидаемого движения. Его подробное описание и код будут в следующей части. А пока, пусть те, кто только начинает работу с опционами, переварят полученную информацию.
Yury Kirillov
Добавил тему У кого ещё есть перевернутый стакан?
Вот такую вещь сегодня словил. Интересно - кто нибудь успел поторговать
Yury Kirillov
Yury Kirillov
Торгуем в перевёрнутом стакане!
Yury Kirillov
Yury Kirillov
ИНТЕРВЬЮ С МАТЕМАТИКОМ, ВЗЛОМАВШИМ УОЛЛ СТРИТ - Джим Саймонс - TED на русском
https://www.youtube.com/watch?v=sYbN-PdXD5I
Yury Kirillov
Yury Kirillov
Про математически оптимальное плечо.
13 декабря 2018, 10:07 _sk_
https://smart-lab.ru/blog/510509.php

Решил написать пост для тех, кто хотел бы разобраться с математикой управления капиталом и расчётом оптимального плеча. Для лучшего понимания начнём с простого примера, потом обобщим его и выведем некоторую формулу. При этом понадобятся математические знания конца средней школы.

Допустим, мы придумали торговую систему, которая даёт следующие прибыли/убытки с равными шансами: -10%, +20%, -5% и +5%. Если сделать 4 трейда по этой системе, вкладывая весь имеющийся в наличии капитал, и каждый из исходов произойдёт ровно по одному разу, то капитал C превратится в
C*(1-0.1)*(1+0.2)*(1-0.05)*(1+0.05) = C*1.0773,
т.е. вырастет на 7.73%.

Пусть у нас есть возможность получить бесплатное плечо и вкладывать удвоенный капитал, тогда по сравнению с исходным капиталом прибыли/убытки составят уже -20%, +40%, -10% и +10%. В этом случае исходный капитал после 4-х трейдов превратится в
C*(1-0.2)*(1+0.4)*(1-0.1)*(1+0.1) = C*1.1088,
т.е. вырастет на 10.88%, что выгоднее торговли по номиналу.

Если ещё увеличить плечо, скажем, вкладывая упятерённый капитал, то прибыли/убытки на исходный капитал будут -50%, +100%, -25% и +25%, а капитал после 4-х трейдов превратится в
C*(1-0.5)*(1+1)*(1-0.25)*(1+0.25) = C*0.9375,
т.е. капитал не вырос, а уменьшился на 6.25%. Что называется, перебрали с плечом.

Получается, что есть оптимальный коэффициент плеча k, для которого торговля будет самой выгодной. Это k можно подобрать, чтобы произведение
(1-k*0.1)*(1+k*0.2)*(1-k*0.05)*(1+k*0.05)
стало самым большим.

Оставим пока подбор k, и задумаемся, почему рассмотрены только 4 трейда, когда на практике их много. Дело в том, что если совершается большое число N трейдов, то примерно N/4 из них дадут -10%, примерно N/4 дадут +20% и т.д. Пренебрежём этим «примерно» (всё равно из-за случайности по всякому может быть), и будем считать, что точно по N/4 трейдов будет у каждого исхода. Тогда надо максимизировать
(1-k*0.1)^(N/4) * (1+k*0.2)^(N/4) * (1-k*0.05)^(N/4) * (1+k*0.05)^(N/4),
где знак ^ означает возведение в степень.

Мы можем убрать N из степени (поскольку большее положительное число при возведении в некоторую степень даёт больший результат, чем меньшее положительно число при возведении в ту же степень) и максимизировать выражение
(1-k*0.1)^(1/4) * (1+k*0.2)^(1/4) * (1-k*0.05)^(1/4) * (1+k*0.05)^(1/4).
Здесь показатели степеней 1/4 — не что иное, как вероятности каждого из исходов.

Теперь становится понятно, как обобщить исходный пример. Пусть есть трейды, которые случаются с вероятностями p1, ..., pn и дают прибыли/убытки x1, ..., xn. Для подбора оптимального плеча нужно найти такое k, что произведение
(1+k*x1)^p1 *… * (1+k*xn)^pn
будет максимально. Поскольку x и p — это некоторые известные числа, то произведение зависит только от k, т.е. является некоторой функцией f(k).

Я пропущу математические выкладки, поскольку:
1) кто знает, тот сообразит;
2) кто не знает, тот смотрит на итоговую приближённую формулу ниже;
3) кто хочет намёков, тот:
а) находит логарифм от произведения (его максимум достигается при том же k, что и у исходного произведения, а вычислять дальше будет проще),
б) вычисляет его производную и приравнивает к нулю (в точке максимума она нулевая);
в) решать полученное уравнение неудобно, поэтому заменить выражения вида 1/(1+k*x) по формуле геометрической прогрессии на 1-k*x+(k*x)^2 — … и пренебречь всеми членами, начиная с квадратов, после чего придти к уравнению на k, которое уже легко решить.

Итоговая приближённая формула имеет вид:
k = (p1*x1+...+pn*xn) / (p1*x1^2+...+pn*xn^2).

Замечания по поводу формулы понятны:
1) она приближённая, но можно подбирать точное значение k для максимума численно;
2) плечо не бесплатно, но это можно учесть отдельно;
3) в реальном трейдинге вероятности и прибыли/убытки либо неизвестны, либо могут меняться со временем;
4) случайность никуда не денется, может просто повезти/не повезти даже при оптимальных действиях.

В любом случае, лучше понимать, что происходит пусть в модельном примере и делать выводы уже применительно к трейдингу, чем вообще ничего не понимать.

Удачи в торговле!