Система тестирования предполагает разработку и тестирование торговых систем, чтобы определить их прибыльность по предшествующей истории. Система тестирования помогает ответить на вопрос: " Как много денег можно заработать или потерять, используя определенные правила торговли ".
Вы можете использовать МетаСток, чтобы:Очень важно, чтобы Вы познакомились с Учебником по системам (System Tutorial), который излагается далее, прежде чем начнете разрабатывать вашу торговую систему.
В системных торговых правилах используется синтаксис подобный синтаксису для разработки пользовательских индикаторов. Если Вы недостаточно знакомы с разработкой пользовательских индикаторов, Вам необходимо прочитать раздел справочник формул Formula Tutorial.
При разработке торговых систем имейте ввиду, что технический анализ это динамичный инструмент (а возможно и искусство) и не существует безупречных механических систем.
Не дайте себе попасться в ловушку чрезмерного "подлаживания" вашей системы, для специфичных ситуаций на рынке. Для получения советов по системным улучшениям .
Отдавая должное, присущей (врожденной) сложности торговых систем, EQUIS Internatio-nal может предоставить только ограниченное количество технических средств для тестирующей системы.. Мы рады предоставить Вам инструменты при помощи, которых Вы можете развивать ваше торговое мастерство, но не можем снабдить торговой системой полностью удовлетворяющей Вас.
Учебник по тестеру систем (System Tester Tutorial)
Этот короткий учебник объясняет различные термины и концепции для тестирующих систем. Важно, чтобы Вы прочитали этот справочник, прежде чем начать разработку собственной торговой системы. Вы также должны быть хорошо знакомы с разработкой пользовательских индикаторов см. Formula Tutorial.
Основные сведения (The Basics)
Система тестирования включает следующие основные шаги. Эти шаги описываются детально в течении дальнейшего обучения. (не пытайтесь их выполнять сейчас).
Шаг 1. Создайте торговую систему посредством спецификации торговых правил (конди-ций), которые должны устанавливать когда открывать/закрывать длинные и короткие позиции.
Шаг 2. Специфицируйте стопы (опционы) для вашей торговой системы, чтобы автоматически закрывать позиции основываясь на принципе стоп-прибыль/стоп-убыток (gain {profit) /loss).
Шаг 3. Протестируйте торговую систему. Вовремя тестирования ваша система может находится в состоянии длинной, короткой позиции, а также без открытых позиций. Когда тестирование закончиться Вы определите сумму заработанной прибыли. МетаСток использует ваши правила и стопы и определит как много денег Вы могли бы заработать или потерять используя ваши правила. Комиссионные также могут быть рассчитаны по вашим критериям.
Шаг 4. Просмотрите результаты теста. Во время тестирования МетаСток сохраняет всю информацию относительно транзакций. Вы можете затем вывести отчет, чтобы инспектировать транзакции сгенерированные вашей системой.
Шаг 5. Оптимизируйте ваши торговые правила (опционы). Оптимизация поможет вам определить оптимальные торговые параметры для использования в Ваших правилах.
Вы можете использовать ваш денежный баланс (акции) в качестве индикатора на графике. Вы также можете показать на графике стрелки покупка/продажа. Вы можете также провести сравнительный тест торговых систем, чтобы выяснить которая из них наилучшим образом подходит для данной ценной бумаги.
Каждая деталь относящаяся к торговой системе, тестам и отчетам может быть выведена на принтер или в файл.
Диалог Тестера систем (The System Tester
Dialog)
Прежде чем Вы продолжите работу с этим справочником, откройте график с не менее, чем 200 временными периодами, для ценной бумаги которую Вы желаете протестировать. Системный тест всегда выполняется на базовых данных ценной бумаги в выбранном графике.
Выбери System Tester из меню Tools или щелкни по кнопке System Tester на панели инструментов.
Диалог "System Tester" предлагает вам создать, тестировать, сравнить, печатать или выполнить отчет торговой системы. Первоначально Диалог "System Tester" показывает имена различных примеров торговых систем.
Создание новой системы (Creating a New
System)
В Диалоге "System Tester" щелкните по клавише New.
Диалог "System Editor" имеет текстовые поля для имени системы, заметок и правил. Четыре правила определяют, когда Вы хотите открывать/закрывать длинные и короткие позиции.
Введите имя системы "My First System". Не следует вводить имена используемые в МетаСтоке или имена существующих систем.
Щелкни по радио-кнопке и введи следующие торговые правила для входа в длинную позицию:
cross(close, mov(close,25,simple))
Написанное выше правило, как и большинство торговых правил в МетаСтоке может быть написано на английском языке. Оно говорит, "Войти в длинную позицию, если цена закрытия пересечет снизу вверх простую 25-дневную скользящую среднюю. Как и при создании пользовательских индикаторов Вы можете использовать аббревиатуру "C" вместо "Close" и "S" вместо "Simple".) Торговые правила очень похожи на пользовательские индикаторы (см. "Formula Tutorial").
Введи следующую информацию для трех запоминаемых торговых правил. Помните, что необходимо щелкать по соответствующей радио-кнопке для ввода каждого из правил (т.е. Close Long, Enter Short, and Close Short):
Close Long: cross(mov (close, 25, simple), close)
Enter Short: cross(mov(close, 25, simple), close)
Close Short: cross(close, mov(close, 25, simple))
Если все четыре правила введены правильно, щелкните по клавише OK.
Если в Ваших правилах имеется синтаксическая ошибка, то будет выведено сообщение об ошибке. Щелкните по клавише OK, в знак признания ошибки. System Editor вновь перенесет курсор на то место, где существует ошибка. Вы должны исправить ошибку и вновь щелкнуть по клавише OK.
Тестирование системы (Testing the System)
Когда Диалог "System Editor" появится вновь (и "My First System" высвечивается), щелкните по клавише "Test", чтобы начать тест системы. Продолжительность тестирования зависит от числа анализируемых периодов и быстродействия вашего компьютера.
Вывод отчетов ( Displaying the Reports)
Когда появится сообщение "System Test Completed", щелкните по клавише "Reports". Общий отчет будет выведен на экран.
Этот отчет содержит короткую информацию о тесте. Если Вы выполнили оптимизацию включающую несколько тестов, каждый из отчетов будет выведен.
Щелкните по клавише "Reports" , чтобы вывести диалог "System Report"
Три отчета содержатся в таблице диалога "System Reports". "Results Report" показывает распределение прибылей, потерь и торговых операций для системы в целом. Трейдерский отчет показывает детали каждой торговой операции выполненной системой. Отчет "Equity" показывает как день за днем изменяется количество денежных средств.
Когда Вы закончите просмотр отчета, Вы заметите, что на вашем графике появиться новое внутреннее окно, содержащее линию изменения Ваших денежных средств. Эта линия показывает как изменился ваш денежный баланс за время торговли.
Стрелки на вашем графике появляются, когда как длинная так и короткая позиции были открыты. Стрелка направленная вверх индицирует открытие длинной позиции, а стрелка направленная вниз индицирует открытие короткой позиции, метка "exit" указывает на закрытие позиции, метка "stop" указывает на стоп вашей позиции.
Оптимизация (Optimizing)
Оптимизация подразумевает замену параметров правил торговой системы на ОРТ-пере-менные, а затем спецификацию диапазона значений в которых ОРТ-переменные могут варьировать. МетаСток затем выполняет несколько тестов во время которых подставляются значения ОРТ-переменных из специфицированного диапазона.
"My First System" в данном справочнике тестирует сигналы покупки/продажи генерируемые 25-дневной скользящей средней. Ниже мы показываем как можно оптимизировать наши торговые правила, чтобы определить оптимальный период усреднения скользящей средней.
Выберите "My First System" в диалоге "System Tester" и щелкните по клавише "Edit". Во всех четырех торговых правилах замените число 25 на выражение "ОРТ1" (оптимизационная переменная №1)
Щелкните по клавише Optimize. Появиться диалог "Optimization Variables".
Щелкните по клавише Edit. Появиться диалог "Variable Properties ".
Мы хотим протестировать скользящую среднюю для периода усреднения от 10 до 50, с шагом 5 (т.е. 10, 15, 20 и т.д.).
Введите "Moving average periods" в качестве описания переменной "ОРТ1". Напечатайте 10 в качестве минимального значения (Minimum value) и 50 в качестве максимального (Maximum value), значение шага установите как 5 (Step value) (Как показано в следующей иллюстрации).
Щелкните по клавише OK.
Обратите внимание на общеее число тестов (Total Tests) расположенное в нижней части этого диалога. Это число указывает какое количество тестов (в нашем случае 9) будет выполнено. Каждый раз после редактирования переменных оптимизации необходимо проверять его значение, т.к. очень легко создать систему, которая будет генерировать громадное количество тестов .
Щелкните по клавише Close.
Щелкните по клавише OK в диалоге "System Editor", чтобы вернуться в диалог "System Tester".
Тестирование системы с оптимизационными переменными
(Testing the Optimization System)
Выберите "My First System" и щелкните клавишу Test.
Во время выполнения оптимизации МетаСток показывает информацию о количестве выполненных тестов, время прошедшее от начала тестирования, время предположительно оставшееся до окончания тестирования, наилучшее и наихудшее отношение прибыль/убыток.
Вы можете щелкнув по клавише "Minimize" свернуть окно диалога "System Test Optimization" в иконку. В данном случае процесс оптимизации будет протекать "за экраном", что освободит вам компьютер для выполнения других задач.
Вывод Отчетов по тестированию с оптимизационными
переменными (Displaying the Optimization Reports)
При появлении на экране сообщения "System Test Completed" (Тестирование системы завершено), щелкните по клавише Reports. Появится "Общий отчет".
Этот отчет содержит вход для каждого теста, который был выполнен. Поскольку мы выполнили 9 тестов (т.к. торговая система тестировалась с использованием 9 различных временных периодов скользящих средних), в этом отчете содержится 9 листингов по тестам.
Тесты в отчете ранжированы по их прибыльности. При желании Вы можете использовать клавишу Sort, чтобы выполнить сортировку заново.
Скроллируйте отчет вправо, пока не появиться колонка ОРТ1
Значение показанное в верхней строке этой колонки является оптимальным значением скользящей средней для изучаемой ценной бумаги. В иллюстрации приводимой выше это значение равно 10.
Щелкните клавишу Reports, чтобы получить дополнительную информацию по выбранному тесту.
Заключение (Tutorial Summary)
Вы закончили знакомство с Учебником по тестеру систем. Пытаясь представить этот учебник, как можно в более сжатой форме, мы не смогли осветить все возможности МетаСтоковского тестера торговых систем. Однако, сейчас Вы должны как можно более хорошо изучить процесс создания торговых систем. Остатки этой главы представляют детальную информацию по тестированию систем. Если вам необходимо тестировать фьючерсы и опционы (commodies) смотрите специальные инструкции в "Testing Futures and Commodities".
Диалог "Тестер систем" (System Tester Dialog)
Диалог "System Tester" представляет список всех Ваших торговых систем. Вы можете создать до 1000 тестов систем. Выбранный тест системы может редактироваться, копироваться. удаляться и тестироваться. Несколько тестов систем также можно выбрать для проведения сравнения . Тесты систем за именем которых следует "R" имеют в наличии тесты выполненные в самое последнее время.
New. Вызывает диалог "System Editor", в котором можно специфицировать имя и правила для нового теста системы. См. Creating a System Test для более подробной информации по созданию новых тестов.
Edit. Вызывает диалог "System Editor", в котором можно редактировать выбранный тест системы.
Copy. Используется для того. чтобы сделать копию выбранного теста системы. В результате выбора этой опции Вы попадаете в диалог "System Editor", где можете редактировать скопированный тест системы. См. "Copying and Deleting System Tests" для более подробной информации по копированию тестов.
Delete. Используется для удаления выбранных тестов систем. См. "Copying and Deleting System Tests" для более подробной информации по удалению тестов.
Print. Используется для печати выбранных тестов систем. См. "Printing System Tests" для более подробной информации по печати тестов.
Test. Используется, чтобы запустить процесс тестирования выбранного теста. Заметим, что эта кнопка является неактивной если Вы выбрали несколько тестов не поставив при этом флажок в поле "Compare". Эта кнопка также является неактивной, если нет открытых графиков. См. "Testing Systems" для более подробной информации по тестированию.
Reports. Эта кнопка показывает суммарный отчет (или сравнительный отчет , если в поле "Compare" стоит флажок) для выбранного теста системы. Эта кнопка является неактивной, если после имени теста не стоит значок "R" (идентифицирует наличие отчета). . См. "Viewing the Reports".
Options. Эта кнопка показывает диалог "System Testing Options", в котором Вы можете управлять различными опциями тестирования и отчетов.
Compare. Щелкните по этому полю (вставьте флажок), если Вы хотите сравнить несколько тестов систем. Если в поле "Compare" стоит флажок, кнопка "Test" меняет название на "Compare".
Создание теста системы (Creating a System Test)
Каждая торговая система содержит четыре правила торговли. Правила торговли определяют, когда должны быть длинные/коротки позиции открыты/закрыты. Торговая система также может иметь оптимизационные переменные и стопы.
Чтобы создать новую систему , щелкните по клавише "New" в диалоге "System Tester". МетаСток может запомнить до 1000 систем. После того как Вы выберите указанную выше кнопку появится диалог "System Editor".
Диалог "Редактор системы" (The System Editor
Dialog)
Диалог "System Editor" предлагает вам ввести имя системы, ее краткое описание и определить четыре торговых правила. В торговых правилах используется синтаксис формул подобный синтаксису для разработки пользовательских индикаторов (см. Creating Your Own Indicators). Этот синтаксис очень похож на синтаксис используемый для ввода формул в (развернутые страницы - spreadsheets). Если Вы недостаточно знакомы с разработкой пользовательских индикаторов, Вам необходимо прочитать раздел справочник формул ( Formula Tutorial).
Помните, что торговые система может находится только в одном из трех состояний: длинной или короткой позиции или с закрытыми позициями.
После выхода из "редактора" Вы можете специфицировать опции касающиеся управления деньгами (какие позиции открывать, комиссионные и т.п.) в диалоге System Testing Options.
Вы используете четыре радио-кнопки, чтобы выбрать правило, а затем его отредактировать.
Enter Long. (Вход в длинную позицию) Это правило указывает, когда система должна открыть длинную позицию. Длинную позицию можно открыть только, если система находится в короткой позиции или без открытых позиций. Если система находится в длинной позиции, это правило игнорируется.
Close Long. (Выход из длинной позиции) Это правило указывает, когда система должна закрыть длинную позицию. Если система находится в короткой позиции или "вне рынка", это правило игнорируется.
Enter Short. (Вход в короткую позицию) Это правило указывает, когда система должна открыть короткую позицию. Короткую позицию можно открыть только, если система находится в длинной позиции или без открытых позиций. Если система находится в короткой позиции, это правило игнорируется.
Close Short. (Выход из короткой позиции) Это правило указывает, когда система должна закрыть короткую позицию. Если система находится в длинной позиции или "вне рынка", это правило игнорируется.
Синтаксис торговых правил (Trading Rule
Syntax)
Торговые правила вводятся с использованием синтаксиса подобного таковому у пользовательских индикаторов (см. Formula Tutorial). Этот синтаксис очень похож на синтаксис используемый для ввода формул.
Торговые правила всегда возвращают значение "истинна" или "ложь". Если правило возвращает значение "истинна", то соответствующая торговая операция выполняется (покупка, продажа и т.п.). Если возвращается "ложь", никаких действий не производится.
Следующий пример иллюстрирует торговое правило:
Enter Long: cross(CLOSE, mov(CLOSE,12,Simple))
Согласно этому правилу система должна открыть длинную позицию когда цена закрытия пересечет снизу вверх 12-дневную скользящую среднюю этой цены.
Подобно этому можно написать другое правило: открыть длинную позицию, если MACD больше 0. ("macd()" - является функцией, см. MACD).
Enter Long: macd() > 0
Все пользовательские функции для индикаторов (подобно macd()) могут использоваться в качестве торговых правил. Специфические пользовательские индикаторы могут делать ссылки на формулы типа fml() как показано ниже:
Enter Short: fml("My Formula") > 0
Вы можете комбинировать несколько функций в торговом правиле используя операторы AND и OR как показано ниже. См. (Using "And" and "Or" Operators).
Enter Long: macd() > 0 AND CLOSE > mov(CLOSE,12,S)
Приведенное выше правило требует, чтобы MACD было больше 0, и чтобы цена закрытия была больше ее 12-дневной скользящей средней.
Следующее правило использует оператор "OR", чтобы генерировать торговую операцию, к когда MACD падает ниже 0, или когда цена закрытия падает ниже ее скользящей средней.
Close Long: macd() < 0 OR CLOSE < mov(CLOSE,12,S)
В торговом правиле может присутствовать несколько операторов AND, OR.
Наилучший путь для контроля поведения нескольких операторов AND и OR в торговых правилах - использование скобок, как показано ниже:
Enter Long: (macd() > 0 AND C > 100) OR H-L>5
Это торговое правило генерирует торговую операцию, если выполняются следующие условия:
MACD больше 0 и цена закрытия больше100 (т.е. выполнены оба условия) или когда, разница максимальной и минимальной цен больше 5.
Вы можете щелкнуть по клавише "Functions" (см. Pasting Functions Into Formulas), когда редактируете торговые правила (эта кнопка активна, когда редактируется правило, но не имя, или описание). Появится диалог "Paste Functions" , содержащий список имеющихся функций. Двойной щелчок по имени функции вставит ее в торговое правило на место текущей позиции курсора.
Торговое правило может оставаться пустым. Однако, пустое торговое правило никогда не генерирует торговых операций. Торговые правила имеют доступ только к ценам ценных бумаг (максимальная, минимальная, закрытия и т.д.) и пользовательским "индикаторным" функциям. Торговые правила не могут ссылаться сами на себя (например, на число дней от последней торговой операции). Однако, различные стопы выполняют эти функции.
Специальная переменная, называемая переменной "Р" может быть использована для ссылок на необходимые цены или индикаторы. (См. "P" Data Array Identifier для более подробной информации. См. Using the Alert() Function)
Функция Alert используется в соединении с другими функциями, чтобы возвратить значение "истинна" для определенного числа периодов. Функция возвращает значение "истинна" за определенное число периодов, даже если была генерирована другая торговая операция.
Следующий пример иллюстрирует использование функции Alert.
Enter Long: RSI(14) < 30 AND alert(VOLUME > 500,3)
При вводе предыдущей формулы, как правила для входа в длинную позицию система должна открыть таковую если RSI меньше 30 и объем был больше 500 в какой либо из трех предыдущих торговых дней. Условие "VOLUME > 500" возвращает значение "истинна" за все три временных периода, даже если в какой либо из этих трех дней было снижение объема ниже 500.
Использование стопов (Entering Stops)
В дополнении к торговым правилам каждая торговая система может иметь до пяти стопов. Стопы используются для того, чтобы закрыть длинную и/или короткую позицию на основании данных о прибыли/убытках во время данной торговой операции. Например, стоп максимального убытка "Maximum Loss" закроет позицию, если убытки будут больше специфицированной величины.
Когда вызывается стоп, позиция закрывается независимо от текущего статуса вашего торгового правила.
Вы можете специфицировать параметры при которых вызываются стопы, а также позиции, которые они могут закрыть (длинная и/или короткая).
Стопы автоматически учитывают комиссионные за открытие и закрытие позиции. Например, стоп Максимального убытка (Maximum Loss) знает величину Ваших комиссионных за закрытие позиции и следит за тем, чтобы при ее закрытии не была превышена величина максимально возможного убытка даже после уплаты комиссионных.
Установка стопов производится после щелчка по кнопке "Stops" в диалоге "System Editor dialog".
Рентабельный стоп (Breakeven)
Этот стоп закрывает открытую позицию, как только возникает угроза убытков по отношению к денежному балансу существовавшему на момент открытия позиции.
Стоп располагается на цене, где позиция может быть закрыта с сохранением текущего денежного баланса (т.е. баланса равного сумме денег при открытии позиции)
Чтобы избежать активации этого стопа каждый раз при открытии позиции (т.к. величина денежного баланса из-за комиссионных при открытие позиции уменьшается), возможность активации этого стопа "включается" только когда повышается цена акций и позиция становиться прибыльной или же величина прибыли повышается выше уровня (floor level) специфицированного пользователем.
Совет: Если "floor level" установить на 0, то рентабельный стоп может активироваться после точки, где позиция может быть закрыта без потерь.
Инактивация (Inactivity)
Данный стоп закрывает открытую позицию, если на рынке не происходит минимального положительного изменения цены в течении определенного времени. (Положительное изменение цены это ее движение вверх при длинной позиции, и ее движение вниз при короткой позиции).
Напечатайте Минимальное изменение цены (Minimum Change) и длительность периода (Periods). Метод (Method), при помощи которого рассчитывается Минимальное изменение цены, может быть специфицирован как процентный (Percentage) или в абсолютных единицах (Points).
Например, если Вы определили 1% как минимальное изменение цены в течении 20 торговых дней, МетаСток автоматически закроет Вашу длинную (короткую) позицию, если цена акций не вырастет (снизится) как минимум на 1% в течении 20-дневного "окна".
Этот стоп анализирует, только изменение цены, но не прибыли, и игнорирует комиссионные.
Максимальный убыток (Maximum loss)
Этот стоп закрывает длинную позицию, если величина убытков превышает Максимально установленное значение. (Maximum Loss)
Например, если Вы установили "Maximum Loss" - 5%, позиция будет закрыта, если убыток превысит 5% от Вашей текущей прибыли(включая комиссионные).
Внимание! Если Вы установите значение "Maximum Loss" , которое будет меньше или равно величине комиссионных за вход в позицию, то каждая торговая операция будет прерываться немедленно после открытия позиции, т.к. все операции будут убыточными уже в момент входа в позицию)
Плановая прибыль (Profit target)
Этот стоп закрывает позицию, если достигнут уровень запланированной прибыли.
Например: если Вы запланировали 10% прибыли, то открытые позиции будут закрыты при ее 10-процентном увеличении с учетом комиссионных.
Подтягивание (Trailing)
Этот стоп закрывает позицию, когда происходит потеря определенного количества (специфицированного ранее Риска прибыли - Profit Risk ) от текущей прибыли. Т.е. каждый раз, когда позиционная прибыль достигает нового максимума, то этот стоп подтягивается на уровень, определенный в Profit Risk относительно этого нового максимума. Величина возможной потери специфицируется в поле "Profit Risk" при помощи процентного метода или абсолютных значений.
МетаСток предоставляет Вам возможность определить число периодов в течении которых стоп будет игнорироваться. Например, если Вы специфицируете "4" , то этот стоп будет иметь временной лаг в 4 периода. Это означает, что четыре последних дня (прибыльных или убыточных) будут игнорироваться для расчета текущего уровня стопа. Это фильтрует колебания цены (вверх или вниз), которые появляются в последние четыре дня.
Предназначение этого стопа служит в фиксации прибыли, но не ограничении потерь. Т.к. он только уменьшает величину прибыли, которая может быть потеряна. Убытки лимитирует стоп максимальной потери (Maximum loss stop).
Поскольку подтягивающийся стоп определяется уровнем прибыли, а не уровнем цены, то ненужно и специального рассмотрения этого стопа для коротких позиций. Например, если 5% специфицированно для Риска прибыли с периодом 0, а Ваша текущая позиция имеет прибыль $100.00. Тогда стоп будет располагаться на цене, при которой Ваша прибыль могла бы снизится до $95.00 или меньше.
Копирование и удаление тестов систем (Copying and Deleting System Tests)
Копию выбранного теста системы можно сделать при помощи кнопки "Copy" диалога "System Tester dialog". Это полезно в тех случаях, когда синтаксис планируемого нового теста системы похож на синтаксис уже созданного теста.
Например, если система "А" похожа на запланированную новую систему "В", необходимо в диалоге "System Tester dialog" выделить имя системы "А" и щелкнуть по кнопке "Copy" , затем в появившемся окне "System Editor dialog" отредактировать имя системы, внести необходимые изменения в формулу и нажать клавишу OK.
Удаление тестов систем производиться при помощи кнопки "Delete" в диалоге "System Tester dialog".
Укажите, будете ли Вы удалять тест (тесты) системы в целом или только отчеты по тесту системы. Если Вы выбираете первое, то отчеты все равно удаляются вместе с тестом.
Печать тестов систем (Printing System Tests )
Вы можете напечатать названия тестов систем и/или их формулы при помощи диалога "Print dialog". Чтобы вывести этот диалог, щелкните по кнопке "Print" в диалоге "System Tester dialog".
Print What. (Что печатать) Отметьте, будете ли Вы печатать только имена тестов или имена и формулы вместе для отмеченных заранее тестов.
Copies. (Копии) Введите количество необходимых копий.
Print Range. (Диапазон печати) Отметьте, будете ли Вы печатать только выбранные тесты или все тесты в целом.
| |||||||||
|