Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

О сложных программах 1 страница




Общая характеристика сложных программ

 

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

Порядок исполнения программы

 

Как правило, в обычной программе основной код сосредоточен в специальной функции start(), запускаемой на исполнение клиентским терминалом. В подавляющем большинстве случаев время исполнения функции start() значительно меньше периода между тиками. Это значит, что большую часть времени программа "простаивает" в ожидании тика. Подобные процессы характеризуются скважностью. Скважность - это отношение периода повторяющегося процесса к длительности самого процесса. Время исполнения специальной функции start() Т1 составляет приблизительно от 10 до 100 миллисекунд, а время Т2 между тиками в среднем равно 5 секундам. Таким образом, работа эксперта характеризуется скважностью, достигающей Т2/Т1 =1000 и более (см. Рис. 159). Иными словами, обычный работающий эксперт выполняет полезную работу в течение 0,1% всего времени, а всё остальное время простаивает.

Иногда в эксперте могут выполняться сложные расчёты, в результате чего время исполнения функции start() может быть большим, достигать десятков секунд. В таких случаях start() запускается на исполнение не на каждом тике, а лишь на тех тиках, которые приходят в момент, когда start() находится в режиме ожидания тика. На Рис. 159 показано, что тик, пришедший в период исполнения start(), а именно в момент t 4, не приводит к новому запуску специальной функции, и в следующий раз start() запускается в момент t 5. При этих условиях также возникает пауза между окончанием текущего исполнения и началом следующего исполнения функции start().


Рис. 159 Различная скважность при исполнении функции start(),
запускаемой клиентским терминалом, и зацикленной функции start().

Существует способ существенно увеличить время полезной работы программы, понизив, таким образом, скважность процесса управления торговлей. Для этого в программе необходимо реализовать алгоритм, согласно которому основной код многократно (бесконечно) повторяется при исполнении специальной функции start() (допустимо только в экспертах и скриптах). Ниже представлен пример зацикленной специальной функции start():

//--------------------------------------------------------------------
start() // Специальная функция start()
{
while(!IsStopped()) // До тех пор, пока пользователь..
{ //..не прекратит исполнение программы
RefreshRates(); // Обновление данных
//......................Здесь указывается основной код программы
Sleep(5); // Небольшая пауза
}
return; // Управление возвращается терминалу
}
//--------------------------------------------------------------------

Весь основной код указывается в теле оператора цикла while, а единственным условием выхода из цикла является получение от клиентского терминала команды на завершение программы. Если функцию start(), построенную на указанном принципе, запустить на исполнение, то она будет исполняться бесконечно долго и вернёт управление клиентскому терминалу только в тот момент, когда пользователь вручную отсоединит программу из окна финансового инструмента или при некоторых других условиях (см. Свойства специальных функций).

Исполнение зацикленной функции start() выполняется непрерывно, поэтому не существует и периода, в течение которого программа находится в режиме ожидания нового тика (см. Рис. 159), поэтому скважность процесса исполнения зацикленной программы равна 1. Функция start(), основанная на указанном принципе, запускается клиентским терминалом на исполнение всего один раз. Это значит, что обновление данных (например, рыночных котировок) необходимо выполнять принудительно, используя функцию RefreshRates(). Для того, чтобы процесс вычислений не потреблял много ресурсов, в конце тела цикла можно указать небольшую паузу.

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

Предоставляемый сервис

 

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

Если обычная программа может отреагировать на какие-либо события (в том числе, инициируемые пользователем), как правило, при очередном запуске функции start() на ближайшем тике, то зацикленная программа может обрабатывать все события моментально (!). В этом случае задержка может случиться лишь на непродолжительное время, не большее, чем время исполнения одного цикла функции start() (приблизительно не более 10 - 100 мс).

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

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

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

Используя графические объекты возможно "настраивать" сценарий торгов. Например, установив на некотором удалении от текущего курса значок "Разворот" можно сообщить программе, что при достижении указанной цены необходимо закрыть рыночный ордер и открыть в противоположном направлении. Аналогичным способом можно указать программе предельные уровни модификации, цену закрытия ордера и пр. Использование графических объектов, отображающих настройки программы, значительно повышает информированность трейдера о происходящих и планируемых событиях.

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

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

Автоматический и ручной режимы работы программы

 

Сложная программа характеризуется также более сложным алгоритмом обработки событий. В частности, такая программа, предполагает некоторую реакцию на вмешательство трейдера в торговлю. Например, если торговая стратегия допускает только один рыночный ордер, а трейдер вручную открыл ещё один, то сложная программа, во-первых, отслеживает подобные события, а во-вторых, начинает исполнять предусмотренную для этого случая часть алгоритма. Сначала программа может предупредить трейдера о несанкционированном вмешательстве в автоматическую торговлю и предложить самостоятельно удалить лишний ордер. Если этого не происходит, то программа (в зависимости от настроек) может либо удалить лишний ордер, либо выйти из режима автоматической торговли, предварительно уведомив трейдера.

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

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

Каждый трейдер имеет свой набор предпочтений при работе с программой. Одни трейдеры предполагают исполнение программы только в автоматическом режиме, другие - в полуавтоматическом режиме, а третьи предпочитают ручной режим. Правильно составленная программа должна удовлетворять все потребности, т.е. иметь ряд настроек, которые позволяют использовать программу в разных режимах. Например, в режиме ручной работы программа может выполнять роль консультанта - выводить текст, содержащий прямые рекомендации, а также графические объекты, отражающие направление тренда, прогнозируемые точки разворота и пр. При работе в полуавтоматическом режиме, программа может запрашивать у трейдера разрешение на открытие ордера, допускать вмешательство трейдера в управление ордерами (например, ручную модификацию стоп-приказов). Если же программа работает в автоматическом режиме, то любое вмешательство трейдера в торговлю может расцениваться как указание на переход в ручной или полуавтоматический режим работы.

 

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

 

Приложения

 

Словарь терминов.
Используемые понятия и выражения.

Типы торговых операций.
Типы ордеров, которые могут быть использованы в клиентском терминале MetaTrader 4.

Требования и ограничения при проведении торговых операций.
Некоторые ограничения на открытие, закрытие, изменение и удаление ордеров.

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

Стили отображения индикаторных линий.
Пользовательские индикаторы позволяют выводить графическую информацию при помощи разных стилей. Стиль DRAW_LINE может рисовать линии заданной толщины и стиля отрисовки. Для стиля DRAW_ARROW требуется задавать код отображаемой стрелки в кодировке Wingdings. Стиль DRAW_SECTION использует один индикаторный буфер, в то время как стиль DRAW_ZIGZAG требует два индикаторных буфера: четный и нечетный. Знание стилей рисований позволяет в одном индикаторе комбинировать различные методы отображения информации.

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

Звуковые файлы.
Вы можете переопределить набор звуковых файлов, используемых в терминале MetaTrader 4. Для этого откройте окно "Сервис"-"Настройки", и в закладке "События" укажите нужные звуковые файлы. Прилагаемые файлы вы также можете проигрывать в своих программах с помощью функции PlaySound().

Коды возврата функции MessageBox.
Функция MessageBox() позволяет организовать взаимодействие программы и пользователя непосредственно в процессе исполнения. Обработка кодов возврата окна MessageBox() позволяет направить работу программы в зависимости от нажатой пользователем кнопки, и таким образом, позволяет придать большую гибкость.

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

Список программ.
Все программы, которые использовались в книге.

Словарь терминов

Алгоритм - точное предписание выполнить заранее определённую последовательность действий; управление в исполняемой программе передаётся в соответствии с алгоритмом.

Бар -графическая форма представления графика развития цены. Бар характеризуется: ценой открытия (Open), ценой закрытия (Close), максимальной ценой (High), минимальной ценой (Low), объёмом (Volume) и временем открытия (Time) (см. также Свеча).

 

Буфер - область памяти, содержащая численные значения индикаторного массива.

Валютный инструмент - валютная пара, например, EUR/USD, GBP/CHF; частный случай финансового инструмента.

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

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

Встроенная функция -то же, что стандартная функция.

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

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

Глобальная переменная -переменная, объявленная за пределами всех функций. Областью видимости глобальных переменных является вся программа.

Глобальная переменная клиентского терминала -переменная, значение которой доступно из всех прикладных программ, запущенных на клиентском терминале (сокращённо - GV-переменная).

Графический объект - изображение в окне финансового инструмента, которое можно выделить, переместить, изменить или удалить.

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

Заголовок функции -составная часть описания функции; состоит из указания типа возвращаемого значения, названия функции и списка формальных параметров. Список формальных параметров заключается в круглые скобки и располагается после названия.

Зацикливание -бесконечное повторяющееся выполнение операторов, составляющих тело цикла; критическая ситуация, возникающая в результате реализации ошибочного алгоритма.

Знак операции - предопределённый символ или группа символов, предписывающих выполнить некоторую операцию.

Идентификатор переменной -набор символов, состоящий из букв, цифр и знака подчеркивания, начинающийся с буквы, длиной не более 31 символа. То же, что Имя переменной и Название переменной.

Имя переменной -то же, что идентификатор переменной.

Индикатор - встроенная функция клиентского терминала или программа, составленная на языке MQL4; основным назначением индикаторов является отображение на экране индикаторных линий; у индикаторов отсутствует возможность осуществления торговых операций; различают пользовательские и технические индикаторы (см. также эксперт, советник и скрипт).

Индикаторная линия - графическое отображение на экране некоторой зависимости, построенной на основе численных значений, содержащихся в индикаторном массиве.

Индикаторный массив - одномерный массив, содержащий численные значения, в соответствии с которыми строится индикаторная линия.

Инициализация переменной - присвоение переменной значения, соответствующего её типу, при объявлении переменной.

Итерация -повторное выполнение некоторых вычислений; используется для обозначения факта исполнения программных строк, составляющих тело оператора цикла (см. Оператор цикла while и Оператор цикла for).

Комментарий -необязательная и неисполняемая часть программы.

Константа -составная часть программы; объект, имеющий значение.

Константное выражение -выражение, состоящее из констант и операций, например: 2+3*7. Константное выражение вычисляется на этапе компиляции программы.

Локальная переменная - переменная, объявленная внутри какой-либо функции. Областью видимости локальных переменных является тело функции, в которой эта переменная объявлена.

Локальное время - время, установленное на локальном компьютере (см. также серверное время).

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

Название переменной -то же, что идентификатор переменной.

Нулевой бар -текущий бар, который ещё полностью не сформировался. В окне финансового инструмента нулевой бар отражается в крайней правой позиции.

Нормализованная цена - цена, округлённая с точностью до размера одного пункта по финансовому инструменту.

Нормальный выход из цикла -передача управления за пределы оператора цикла в результате исполнения условия, содержащегося в заголовке оператора цикла (см. также специальный выход из цикла).

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

Обращение к функции -то же, что Вызов функции.

Объявление переменной - первое упоминание переменной в программе. При объявлении переменной указывается её тип.

Операнд - константа, переменная, элемент массива или значение, возвращаемое функцией константа, переменная, элемент массива или значение, возвращаемое функцией (см. Вызов функции).

Оператор - составная часть программы; фраза алгоритмического языка, предписывающая определённый порядок преобразования информации. Различают простые и составные операторы.

Операция - действие, производимое над операндами (см. также знак операции).

Описание функции - именованная, обособленная часть программы, предназначенная для исполнения; состоит из двух основных частей - заголовка функции и тела функции; используется применительно к специальным и пользовательским функциям (см. Функции, Описание функции и оператор return и Специальные функции).

Отложенный ордер - торговый приказ на покупку или продажу активов по финансовому инструменту при достижении заданного значения цены. Отложенный ордер отражается в окне финансового инструмента и в окне "Терминал" до тех пор, пока он не преобразуется в рыночный ордер либо будет удалён (см. также рыночный ордер)

 

Переменная -составная часть программы; объект, имеющий название и значение.

Пользовательская функция -функция, созданная программистом (см. Функция).

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

Предопределённая переменная - переменная с предопределённым названием, значение которой определяется клиентским терминалом и не может быть изменено программным способом (см. Предопределённые переменные).

Приведение типов -изменение (преобразование) типа значения операнда или выражения. Перед выполнением операций (кроме операций присваивания) происходит преобразование в тип, имеющий наибольший приоритет, а перед операциями присваивания - в целевой тип.

Прикладная программа -программа, написанная на языке MQL4, используемая в клиентском терминале MetaTrader 4; эксперт, скрипт или индикатор.

Пункт -единица измерения цены по финансовому инструменту (минимально возможное изменение цены, последняя значащая цифра в значении цены).

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

Свеча -графическая форма представления графика развития цены. Свеча характеризуется: ценой открытия (Open), ценой закрытия (Close), максимальной ценой (High), минимальной ценой (Low), объёмом (Volume) и временем открытия (Time). Различают чёрные и белые свечи (см. также бар).

Серверное время - время, установленное на сервере (см. также локальное время).

Скрипт -программа, составленная на языке MQL4; отличается свойствами специальной функции start(), вызываемой клиентским терминалом для исполнения один раз; назначением скриптов является выполнение любых операций, которые по их смыслу требуется выполнить один раз (см. также эксперт, советник и индикатор).

Советник -то же, что эксперт (см. также скрипт и индикатор).

Специальная функция -функция, имеющая одно из предопределённых имён (init(), start() и deinit()), вызываемая для исполнения клиентским терминалом и обладающая специальными собственными свойствами (см. специальные функции).

Специальный выход из цикла -передача управления за пределы оператора цикла в результате исполнения оператора break, содержащегося в теле оператора цикла (см. также нормальный выход из цикла).

Спред -разница между большей и меньшей ценой в двухсторонней котировке по финансовому инструменту, выраженная в пунктах.

Стандартная функция -то же, что Встроенная функция; функция, созданная разработчиками языка MQL4, имеющая предопределённое имя и свойства; описание стандартных функций в программе не указывается; свойства стандартных функций подробно описаны в справочной документации (см. Функции и Стандартные функции).

Массив-таймсерия - массив с предопределённым названием (Open, Close, High, Low, Volume или Time), элементы которого содержат значения соответствующих характеристик исторических баров.

Таймфрейм -период времени, в течение которого формируется один ценовой бар; различают стандартные таймфреймы: М1, М5, М15, М30, Н1, Н4, D1, W1 и MN (1 мин, 5 мин, 15 мин, 30 мин, 1 час, 4 часа, 1 день, 1 неделя и 1 месяц, соответственно)

Тело функции -один или несколько операторов, являющих исполняемую часть описания функции.

Тело цикла -один или несколько операторов, обрамлённых фигурными скобками; располагается непосредственно после заголовка оператора цикла (см. Оператор цикла while и Оператор цикла for).

Технический индикатор - составная часть информационно-торговой системы MetaTrader 4, встроенная функция, позволяющая графически отображать на экране определённую зависимость (см. также пользовательский индикатор).

Тик -событие, характеризующееся новой ценой по финансовому инструменту в некоторый момент времени.

Торговая операция -открытие, закрытие или модификации рыночных и отложенных ордеров.

Торговый приказ -приказ, сформированный программой или трейдером с целью осуществления торговой операции. Торговый приказ может быть исполнен на сервере и отклонён сервером или клиентским терминалом.

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

Управление -процесс выполнения действий, предопределённых алгоритмом программы и свойствами клиентского терминала. Управление может передаваться внутри программы от одной программной строки к другой, а также между программой и клиентским терминалом (см. Некоторые основные понятия).

Файловый описатель – уникальный номер файла, открытого исполняемой программой в текущий момент.

Файловый разделитель -специальный символ; запись, которая заносится в файл для разделения записей данных.

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

Финансовый инструмент -название котируемого объекта.

Флаг - переменная, значение которой ставится в соответствие каким-либо событиям или фактам.

Формальные параметры -список переменных, указанных в заголовке описания функции (см. Функции и Описание функции и оператор return).

Формат оператора -набор правил форматирования, присущих виду оператора. Каждый вид оператора имеет свой формат (см. Операторы).

Функция -именованная, обособленная часть программы, описывающая порядок преобразования информации. Использование функции в программе предполагает наличие описания функции и вызова функции. Различают специальные, стандартные (встроенные) и пользовательские функции (см. Функции и Специальные функции).

Эксперт -программа, составленная на языке MQL4; отличается свойствами специальной функции start(), вызываемой клиентским терминалом для исполнения на каждом тике; основным назначением экспертов является программное управление торговыми операциями (см. также советник, скрипт и индикатор).

Элемент массива -составная часть массива; индексированная переменная с одноимённым названием, имеющая некоторое значение.

Ask -большая из цен в двухсторонней котировке по финансовому инструменту, предлагаемая брокером.

Bid -меньшая из цен в двухсторонней котировке по финансовому инструменту, предлагаемая брокером.




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 578; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.072 сек.