AIS3 Trading Robot Template Номер выпуска: 30001 Дата выпуска: 2009.03.26 Руководство пользователя Содержание 1. Введение 2. Установка 3. Управление 4. Свойства 5. Заключение Приложение 1 Приложение 2 1. Введение 1.1. AIS3 Trading Robot Template представляет собой MQL4 программу для терминала MetaTrader 4. 1.2. Основные свойства: 1.2.1. 100% готовность для внедрения торговой стратегии; 1.2.2. автоматическое управление рисками; 1.2.3. возможность изменения настроек без переинициализации; 1.2.4. функция мониторинга. 1.3. Правильная работа AIS3 Trading Robot Template достигается при соблюдении следующих условий: 1.3.1. в одном терминале допускается работа только одного экземпляра AIS3 Trading Robot Template; 1.3.2. в терминале должны отсутствовать программы, способные удалять чужие глобальные переменные; 1.3.3. на рабочем графике должны отсутствовать индикаторы, способные удалять чужие графические объекты. 1.4. AIS3 Trading Robot Template использован при разработке торгового робота AIS2 Trading Robot. 2. Установка 2.1. AIS3 Trading Robot Template это: 2.1.1. "AIS3TR.MQ4" - файл с MQL4 кодом; 2.1.2. "AIS3TR.EX4" - исполняемый файл. 2.2. Скачайте файл "AIS3TR.MQ4". 2.3. Найдите папку терминала MetaTrader 4, далее называемую "%MT4%". 2.4. В большинстве случаев терминал MetaTrader 4 находится в папке "C:/Program Files/MetaTrader 4". 2.5. Переместите файл "AIS3TR.MQ4" в папку "%MT4%/experts". 2.6. Запустите терминал MetaTrader 4, далее называемый "MetaTrader". 2.7. Нажмите для запуска MetaEditor. 2.8. В MetaEditor нажмите для вызова окна "Открыть". 2.9. Откройте файл "AIS3TR.MQ4" в папке "%MT4%/experts". 2.10. Проверьте в строке 7 номер модификации. 2.11. Проверьте в строке 8 дату выпуска. 2.12. Нажмите для компиляции кода. 2.13. Нажмите для возврата в MetaTrader. 2.14. В MetaTrader нажмите для вызова окна "Настройки". 2.15. На вкладке "Советника" окна "Настройки": 2.15.1. поставьте галочку "Включить советники"="+"; 2.15.2. "Отключить советники при смене счета" оставьте без изменений; 2.15.3. "Отключить советники при смене счета" оставьте без изменений; 2.15.4. поставьте галочку "Разрешить советнику торговать"="+"; 2.15.5. снимите галочку с "Ручное подтверждение"; 2.15.6. остальные настройки оставьте без изменений. 2.16. Нажмите кнопку [OK] окна "Настройки". 2.17. Нажмите для вызова окна "Навигатор". 2.18. Перейдите на вкладку "Общие" окна "Навигатор". 2.19. Откройте список "Советники". 2.20. Найдите "AIS3TR". 2.21. "AIS3TR" - это сокращенное имя исполняемого файла "AIS3TR.EX4". 2.22. Наложите ярлык "AIS3TR" на график "EURUSD". 2.23. Появится окно "AIS3TR" с вкладками "Общие" и "Входные параметры". 2.24. На вкладке "Общие" окна "AIS3TR": 2.24.1. в группе "Общие": 2.24.1.1. выберите "позиции"="Long & Short", 2.24.1.1. остальные настройки оставьте без изменений; 2.24.2. в группе "Автоматическая торговля": 2.24.2.1. поставьте галочку "Разрешить советнику торговать"="+", 2.24.2.2. снимите галочку с "Ручное подтверждение"; 2.24.3. в группе "Безопасность" оставьте все без изменений. 2.25. На вкладке "Входные параметры" окна "AIS3TR": 2.25.1. проверьте, что значение переменной "aes.Symbol" совпадает с символом графика; 2.25.2. проверьте значения других переменных. 2.26. Нажмите кнопку [OK] окна "AIS3TR". 2.27. В правом верхнем углу экрана появится улыбающийся значок "AIS3TR". 2.28. AIS3 Trading Robot Template работает. 2.29. Установка завершена. 3. Управление 3.1. Нажмите для вызова окна "Глобальные переменные". 3.2. В окне появятся 15 элементов управления: 3.2.1. "AIS30001.Setup.1.1.AccountReserve" управляет размером резерва депозита; 3.2.2. "AIS30001.Setup.1.2.OrderReserve" управляет размером резерва на сделку; 3.2.3. "AIS30001.Setup.2.1.Trading" разрешает и запрещает автоматическую торговлю: 3.2.3.1. значение "1" разрешает автоматическую торговлю, 3.2.3.2. значение "0" запрещает автоматическую торговлю; 3.2.4. "AIS30001.Setup.2.2.Timeframe.1" управляет параметром торговой стратегии "Timeframe.1"; 3.2.5. "AIS30001.Setup.2.3.Timeframe.2" управляет параметром торговой стратегии "Timeframe.2"; 3.2.6. "AIS30001.Setup.2.4.Parameter.1" управляет параметром торговой стратегии "Parameter.1"; 3.2.7. "AIS30001.Setup.2.5.Parameter.2" управляет параметром торговой стратегии "Parameter.2; 3.2.8. "AIS30001.Setup.2.6.Parameter.3" управляет параметром торговой стратегии "Parameter.3"; 3.2.9. "AIS30001.Setup.3.1.Monitor" разрешает и запрещает Функцию мониторинга; 3.2.7.1. значение "1" разрешает Функцию мониторинга, 3.2.7.2. значение "0" запрещает Функцию мониторинга; 3.2.10. "AIS30001.Setup.3.2.FontSize" управляет размером шрифта панели мониторинга; 3.2.11. "AIS30001.Setup.3.3.FontColor" управляет цветом шрифта панели мониторинга; 3.2.12. "AIS30001.Setup.3.4.LineSpace" управляет межстрочным интервалом панели мониторинга; 3.2.13. "AIS30001.Setup.3.5.PositionX" управляет положением панели мониторинга по горизонтали; 3.2.14. "AIS30001.Setup.3.6.PositionY" управляет положением панели мониторинга по вертикали. 3.2.15. "AIS30001.Setup.4.1.OrderSelect" управляет выбором ордера для отображения в панели мониторинга: 3.2.15.1. значение "0" устанавливает выбор по "magic" номеру "30001", 3.2.15.2. другие значения устанавливают выбор по номеру в списке открытых ордеров. 4. Свойства 4.1. Автоматическая торговля: 4.1.1. автоматическая торговля ведется только по одному заданному торговому символу; 4.1.2. рабочий торговый символ задается на вкладке "Входные параметры" окна "AIS3TR"; 4.1.3. AIS3 Trading Robot Template работает только с одним ордером; 4.1.4. опознавательный номер ордера совпадает с номером модификации AIS3 Trading Robot Template; 4.1.5. наличие на счете других ордеров с другими опознавательными номерами допускается. 4.2. Автоматическое управление рисками: 4.2.1. автоматическое управление рисками защищает капитал инвестора от возможных потерь; 4.2.2. настройка управления рисками заключается в определении значений набора двух следующих переменных: 4.2.2.1. "aed.AccountReserve" - размер резерва депозита, строка 36 файла "AIS3TR.MQ4"; 4.2.2.1. "aed.OrderReserve" - размер резерва на сделку, строка 37 файла "AIS3TR.MQ4"; 4.2.3. изменение настроек управления рисками производится тремя способами: 4.2.3.1. на вкладке "Входные параметры" окна "AIS3TR" при первом запуске AIS3 Trading Robot Template, 4.2.3.2. на той же вкладке при нажатии с последующей переинициализацией, 4.2.3.3. посредством элементов управления из окна "Глобальные переменные" без переинициализации; 4.2.4. переменная "aed.AccountReserve" означает размер резерва депозита на возможные потери; 4.2.5. переменная "aed.AccountReserve" определяет предел снижения депозита "Relative drawdon"; 4.2.6. резерв депозита служит защитой капитала инвестора от рыночных рисков; 4.2.7. переменная "aed.OrderReserve" означает размер резерва на возможные потери, выделяемого на каждую сделку; 4.2.8. переменная "aed.OrderReserve" ограничивает размер принимаемых рыночных рисков на сделку; 4.2.9. резерв на сделку служит защитой резерва депозита от рыночных рисков; 4.2.10. назначение и порядок выбора размеров вышеуказанных резервов более подробно раскрывается в Приложении 1; 4.2.11. стандартные настройки управления рисками: 4.2.11.1. резерв депозита 20%, 4.2.11.2. резерв на сделку 4%. 4.3. Управление настройками торговой стратегии: 4.3.1. настройке и управлению подлежат 5 параметров: 4.3.1.1. "aеi.Timeframe.1" - размерность основных таймфреймов, 4.3.1.1. "aеi.Timeframe.2" - размерность вспомогательных таймфреймов, 4.3.1.1. "aed.Parameter.1" - параметр номер 1, 4.3.1.1. "aed.Parameter.2" - параметр номер 2, 4.3.1.1. "aed.Parameter.3" - параметр номер 3; 4.3.2. управление настройками торговой стратегии производится тремя способами: 4.3.2.1. на вкладке "Входные параметры" окна "AIS3TR" при первом запуске AIS3 Trading Robot Template, 4.3.2.2. на той же вкладке при нажатии с последующей переинициализацией, 4.3.2.3. посредством элементов управления из окна "Глобальные переменные" без переинициализации; 4.3.3. значения "aеi.Timeframe.1" и "aеi.Timeframe.2" определяют размерности рабочих таймфреймов: 4.3.3.1. 1, 4.3.3.2. 5, 4.3.3.3. 15, 4.3.3.4. 30, 4.3.3.5. 60, 4.3.3.6. 240, 4.3.3.7. 1440, 4.3.3.8. 10080, 4.3.3.9. 43200; 4.3.4. описание внедрения торговой стратегии приведено в Приложении 2. 4.4. Функция мониторинга: 4.4.1. функция мониторинга обеспечивает отображение показателей работы AIS3 Trading Robot Template; 4.4.2. панель мониторинга состоит из следующих частей: 4.4.2.1. заголовок с номером модификации AIS3 Trading Robot Template; 4.4.2.2. строка сообщений AIS3 Trading Robot Template в строке с заголовком; 4.4.2.3. 5 кластеров данных: 4.4.2.3.1. кластер "Client-Server", 4.4.2.3.2. кластер "Balance", 4.4.2.3.3. кластер "Open Position", 4.4.2.3.4. кластер "Leverage/Contract"; 4.4.2.3.5. резервный, 4.4.3. данные кластера "Client-Server": 4.4.3.1. "Client Time": 4.4.3.1.1. локальное время AIS3 Trading Robot Template, 4.4.3.1.2. продолжительность работы AIS3 Trading Robot Template после последней инициализации, 4.4.3.1.3. количество открытых ордеров за период работы в формате "Buy+Sell=Total", 4.4.3.1.4. количество трейлинг-стопов за период работы; 4.4.3.2. "Client Name" - имя владельца счета; 4.4.3.3. "Server Name" - название сервера, на котором открыт счет; 4.4.3.4. "Server Time": 4.4.3.4.1. время сервера, 4.4.3.4.2. длительность ожидания последнего прихода котировок, 4.4.3.4.3. количество запусков главной программы AIS3 Trading Robot Template, 4.4.3.4.4. количество попыток отправки ордера, 4.4.3.4.5. количество попыток трейлинга; 4.4.4. данные кластера "Balance": 4.4.4.1. "Capital": 4.4.4.1.1. величина капитала в валюте депозита, 4.4.4.1.2. величина капитала в процентах от пиковой величины средств на счете, 4.4.4.1.3. чистый прирост капитала за промежуток времени после последней инициализации, 4.4.4.1.4. относительный прирост капитала за промежуток времени после последней инициализации; 4.4.4.2. "Reserve" - величина резерва депозита: 4.4.4.2.1. в валюте депозита, 4.4.4.2.2. в процентах от пикового значения резерва депозита; 4.4.4.3. "Peak Equity" - пиковая величина средств на счете: 4.4.4.3.1. в валюте депозита, 4.4.4.3.2. всегда 100%, 4.4.4.3.3. интервал времени после последнего изменения пиковой величины средств на счете; 4.4.4.4. "Drawdown" - текущее снижение средств на счете от пиковой величины средств на счете: 4.4.4.4.1. в валюте депозита, 4.4.4.4.2. в процентах от пиковой величины средств на счете; 4.4.4.5. "Account Equity" - текущее значение суммы средств на счете: 4.4.4.5.1. в валюте депозита, 4.4.4.5.2. в процентах от пиковой величины средств на счете, 4.4.4.5.3. чистый прирост средств на счете за промежуток времени после последней инициализации, 4.4.4.5.4. относительный прирост средств на счете за промежуток времени после последней инициализации; 4.4.4.6. "Free margin" - сведения о состоянии свободных средств: 4.4.4.6.1. текущее значение свободных от залога средств, 4.4.4.6.2. текущий уровень залога, 4.4.4.6.3. уровень "Stop Out" в денежных единицах, 4.4.4.6.4. уровень "Stop Out" в относительных единицах; 4.4.5. данные кластера "Open Position": 4.4.5.1. "Order" - данные об открытой позиции: 4.4.5.1.1. опознавательный номер ордера "magic number", 4.4.5.1.2. номер тикета, 4.4.5.1.3. тип ордера, 4.4.5.1.4. размер позиции в лотах, 4.4.5.1.5. стандартный размер лота, 4.4.5.1.6. размер залога в пунктах, 4.4.5.1.7 цена одного пункта котировки; 4.4.5.2. "Profit": 4.4.5.2.1. прибыль в валюте депозита, 4.4.5.2.2. прибыль в пунктах, 4.4.5.2.3. интервал времени после открытия ордера, 4.4.5.2.4. цена открытия ордера; 4.4.5.3. "Target": 4.4.5.3.1. дистанция от цены открытия до цены TakeProfit в валюте депозита, 4.4.5.3.2. дистанция от цены открытия до цены TakeProfit в пунктах, 4.4.5.3.3. цена "Take Profit"; 4.4.5.4. "VAR": 4.4.5.4.1. дистанция от цены открытия до цены StopLoss в валюте депозита, 4.4.5.4.2. дистанция от цены открытия до цены StopLoss в пунктах, 4.4.5.4.3. цена "Stop Loss"; 4.4.5.5. "Limit" - текущая величина резерва на сделку: 4.4.5.5.1. в валюте депозита, 4.4.5.5.2. в процентах от пиковой величины средств на счете; 4.4.6. данные кластерa "Leverage/Contract": 4.4.6.1. первая строка "Leverage": 4.4.6.1.1. размер кредитного плеча, 4.4.6.1.2. размер залога для стандартого контракта размером 1 лот, 4.4.6.1.3. размер залога в пунктах, 4.4.6.1.4. цена одного пункта для стандартого контракта размером 1 лот; 4.4.6.2. вторая строка "Contract": 4.4.6.2.1. стандартный размер лота, 4.4.6.2.2. минимальный размер контракта в лотах, 4.4.6.2.3. шак размера контракта в лотах, 4.4.6.2.4. максимальный размер контракта в лотах; 4.4.7. резервный кластер предназначен для наполнения показателями встраиваемой торговой стратегии. 5. Заключение 5.1. Всегда проверяйте, что Вы используете новейшую модификацию AIS3 Trading Robot Template. 5.2. Новейшие модификации находятся по ссылке http://codebase.mql4.com/5447. Приложение 1. Пример переговоров с инвестором 1. Управляющий. Имеются две системы А1, А2. Вот их характеристики, вот демо-отчеты, вот отчеты реалов. 2. Инвестор. Ознакомился. Выбираю А1. 3. Управляющий. Выберите: 1) размер резерва депозита; 2) размер резерва на сделку. 4. Инвестор. Поясните. 5. Управляющий. 5.1. Размеры резервов измеряются в процентах от размера депозита. 5.2. Пусть Вы открываете депозит на $100000. 5.3. Пусть Вы устанавливаете резерв депозита в размере 20%. 5.4. Следовательно, Ваш капитал равен $80000, резерв депозита $20000. 5.5. Пусть открыта торговая позиция. 5.6. Пусть депозит вырос до $110000. 5.7. Тогда Ваш капитал равен $88000, резерв депозита $22000. 5.8. Пусть депозит снизился до $105000. 5.9. Тогда Ваш капитал равен $88000, резерв депозита $17000. 5.10. Пусть депозит вырос до $200000. 5.11. Тогда Ваш капитал равен $160000, резерв депозита $40000. 5.12. Пусть далее депозит только снижался. 5.13. При сумме депозита $180000 Ваш капитал равен $160000, резерв депозита $20000. 5.14. При сумме депозита $170000 Ваш капитал равен $160000, резерв депозита $10000. 5.15. При сумме депозита $160000 Ваш капитал равен $160000, резерв депозита исчерпан, торговля остановлена. 5.16. При остановке торговли по Вашему приказу резерв депозита восстанавливается. 5.17. Сумма депозита при остановке становится Вашим капиталом. 5.18. Пусть торговля остановлена при сумме депозита $170000, тогда Ваш капитал равен $170000. 5.19. Таким образом, резерв депозита защищает Ваш капитал от возможных потерь. 5.20. Все наши системы управляют резервами автоматически. 6. Инвестор. Понятно. 7. Управляющий. 7.1. Резерв сделки защищает резерв депозита по вышеуказанной схеме. 7.2. От размера резерва на сделку зависит ожидаемая продолжительность работы системы. 7.3. Пусть Вы устанавливаете резерв на сделку 10% и резерв депозита в размере 20%. 7.4. Тогда система А1 может выдержать последовательность примерно 2 убыточных сделок подряд. 7.5. Из отчетов видно, что для системы А1 более длинные последовательности возникают примерно 4 раза в год. 7.6. Пусть Вы устанавливаете резерв на сделку 5% и резерв депозита в размере 20%. 7.7. Тогда система А1 может выдержать последовательность примерно 4 убыточных сделок подряд. 7.8. Из отчетов видно, что для системы А1 более длинные последовательности возникают примерно 1 раз в год. 7.9. От размера резерва сделки также зависят размеры сделок и, следовательно, суммы ожидаемых доходов от них. 7.10. Порядок расчета размера сделки можно посмотреть здесь в строках 192-216. 8. Инвестор. Понятно. Я устанавливаю резерв депозита 20% и резерв на сделку 4%. 9. Управляющий. При данном размере резерва на сделку для системы А1 требуется депозит в размере от $50000. 10. Инвестор. Сервер *******, логин *******, пароль *******, сумма $100000, с другими условиями договора согласен. 11. Управляющий. Мастер-пароль будет изменен, Ваш инвест-пароль А1234. Приложение 2. Внедрение торговой стратегии 1. AIS3 Trading Robot Template содержит 4 точки вставки кода торговой стратегии: 1.1. строки 165-166 предназначены для вставки определений входных данных торговой стратегии; 1.2. строки 394-395 предназначены для вставки вычислений входных данных торговой стратегии; 1.3. строка 1186 функции "afr.TrailingStrategy ()" предназначена для замены кодом логики трейлинг-стопа; 1.4. строки 1193-1196 функции "afr.TradingStrategy ()" предназначены для замены кодом логики принятия торговых решений. 2. Попытка модификации ордера производится при изменении функцией "afr.TrailingStrategy ()" значения "avd.Stop". 3. Условия попытки отправки ордера: 3.1. прозведено присвоение "avi.Command = OP_BUY" либо "avi.Command = OP_SELL"; 3.2. присвоены корректные значения следующим переменным: 3.2.1. "avd.Price" - цена открытия ордера, 3.2.2. "avd.Stop" - уровень стоп-лосс, 3.2.3. "avd.Take" - уровень тейк-профит. 4. Пример внедрения торговой стратегии: 4.1. замените строки 165-166 следующим кодом: " //< 4.7. Trading Strategy Data 15 >```````````````````````````````````````````````````````````````````````````//< > //< > int avi.Period.1 ; //< > int avi.Period.2 ; //< > //< > double avd.Low.1 ; //< > double avd.High.1 ; //< > double avd.Close.1 ; //< > //< > double avd.Low.2 ; //< > double avd.High.2 ; //< > double avd.Close.2 ; //< > //< > double avd.Average.1 ; //< > //< > double avd.Range.1 ; //< > double avd.Range.2 ; //< > //< > double avd.QuoteTake ; //< > double avd.QuoteStop ; //< > double avd.QuoteTrail ; //< > //< > double avd.TrailStep ; //< > //< > //```````````````````````````````````````````````````````````````````````````//< > "; 4.2. замените строки 394-395 следующим кодом: " //< 7.4.2. Trading Strategy Data 15 > //< > avi.Period.1 = aei.Timeframe.1 ; //< > avi.Period.2 = aei.Timeframe.2 ; //< > //< > avd.Low.1 = iLow ( aes.Symbol , avi.Period.1 , 1 ) ; //< > avd.High.1 = iHigh ( aes.Symbol , avi.Period.1 , 1 ) ; //< > avd.Close.1 = iClose ( aes.Symbol , avi.Period.1 , 1 ) ; //< > //< > avd.Low.2 = iLow ( aes.Symbol , avi.Period.2 , 1 ) ; //< > avd.High.2 = iHigh ( aes.Symbol , avi.Period.2 , 1 ) ; //< > avd.Close.2 = iClose ( aes.Symbol , avi.Period.2 , 1 ) ; //< > //< > avd.Average.1 = ( avd.High.1 + avd.Low.1 ) / 2 ; //< > //< > avd.Range.1 = avd.High.1 - avd.Low.1 ; //< > avd.Range.2 = avd.High.2 - avd.Low.2 ; //< > //< > avd.QuoteTake = avd.Range.1 * aed.Parameter.1 ; //< > avd.QuoteStop = avd.Range.1 * aed.Parameter.2 ; //< > avd.QuoteTrail = avd.Range.2 * aed.Parameter.3 ; //< > //< > avd.TrailStep = avd.QuoteSpread * acd.TrailStepping ; //< > // //< > "; 4.3. замените строку 1186 следующим кодом: " //< Buy Orders Trailing Rules > //< > if ( OrderType () == OP_BUY ) //< > if ( OrderProfit () > 0 ) //< > if ( NormalizeDouble ( avd.QuoteTrail - avd.QuoteStops , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( avd.QuoteTrail - avd.QuoteFreeze , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( OrderTakeProfit () - avd.QuoteBid - avd.QuoteStops //< > , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( avd.QuoteBid - OrderStopLoss () - avd.TrailStep - avd.QuoteTrail //< > , avi.Digits ) > 0 ) //< > avd.Stop = NormalizeDouble ( avd.QuoteBid - avd.QuoteTrail , avi.Digits ) ; //< > // //< > //< > //< Sell Orders Trailing Rules > //< > if ( OrderType () == OP_SELL ) //< > if ( OrderProfit () > 0 ) //< > if ( NormalizeDouble ( avd.QuoteTrail - avd.QuoteStops , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( avd.QuoteTrail - avd.QuoteFreeze , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( avd.QuoteAsk - OrderTakeProfit () - avd.QuoteStops //< > , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( OrderStopLoss () - avd.QuoteAsk - avd.TrailStep - avd.QuoteTrail //< > , avi.Digits ) > 0 ) //< > avd.Stop = NormalizeDouble ( avd.QuoteAsk + avd.QuoteTrail , avi.Digits ) ; //< > // //< > "; 4.4. замените строки 1193-1196 следующим кодом: " //< Buy Rules 2 > //< > if ( NormalizeDouble ( avd.Close.1 - avd.Average.1 , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( avd.QuoteAsk - ( avd.High.1 + avd.QuoteSpread ) , avi.Digits ) > 0 ) //< > // //< > //< > //< Trading Strategy Interface Set for Buy 8 > //< > { avd.Price = NormalizeDouble ( avd.QuoteAsk , avi.Digits ) ; //< > avd.Stop = NormalizeDouble ( avd.High.1 + avd.QuoteSpread - avd.QuoteStop , avi.Digits ) ; //< > avd.Take = NormalizeDouble ( avd.QuoteAsk + avd.QuoteTake , avi.Digits ) ; //< > //< > if ( NormalizeDouble ( //< > ( avd.Take - avd.Price ) - avd.QuoteStops , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( //< > ( avd.Price - avd.QuoteSpread - avd.Stop ) - avd.QuoteStops , avi.Digits ) > 0 ) //< > avi.Command = OP_BUY ; } //< > // //< > //< > //< Sell Rules 2 > //< > if ( NormalizeDouble ( avd.Close.1 - avd.Average.1 , avi.Digits ) < 0 ) //< > if ( NormalizeDouble ( avd.QuoteBid - avd.Low.1 , avi.Digits ) < 0 ) //< > // //< > //< > //< Trading Strategy Interface Set for Sell 8 > //< > { avd.Price = NormalizeDouble ( avd.QuoteBid , avi.Digits ) ; //< > avd.Stop = NormalizeDouble ( avd.Low.1 + avd.QuoteStop , avi.Digits ) ; //< > avd.Take = NormalizeDouble ( avd.QuoteBid - avd.QuoteTake , avi.Digits ) ; //< > //< > if ( NormalizeDouble ( //< > ( avd.Price - avd.Take ) - avd.QuoteStops , avi.Digits ) > 0 ) //< > if ( NormalizeDouble ( //< > ( avd.Stop - avd.Price - avd.QuoteSpread ) - avd.QuoteStops , avi.Digits ) > 0 ) //< > avi.Command = OP_SELL ; } //< > // //< > "; 4.5. произведите компиляцию кода; 4.6. получится торговый робот с торговой логикой от AIS2 Trading Robot.