Начинающему рободелу (Амиброкер).
Первое что сделаете определитесь с программой ТА, на сайте меха есть соответствующая тема, где есть и опросник и мнения форумчан к программам ТА, в первую очередь ами облегчит тестирование и оптимизацию ваших систем, а при желании позволит автоматизировать торговлю, какую именно программу вы выберете, зависит от вас, если ами, то интерфейс будет только английский, правда проблемы в этом нет, все интуитивно, мне не знающему языка это проблему составляло с пол года, а сейчас благодаря Олегу проблемы как мне кажется вообще нет.
На сегодняшний день ами позволяет напрямую получать котировки из квика, плюс есть возможность загружать исторические данные с сайта финама. Программа мало весит и легко позволяет переносить себя с компа на комп, сохраняя все настройки, созданные базы бумаг и конечно написанные системы и индикаторы. Реализована обратная связь через текстовый файл, есть не которые тонкости например торговый тайм должен совпадать с таймом созданной базы, но об этом можно почитать у создателей роботов. Главное что необходимо понимать рободелу, это как формируется массив цен в программе и как он интерпретируется программой, ами не человек и воспринимает только четко описанные правила, ну об этом немного ниже.
Будем считать что у вас есть установочник лицензионной ами ( http://www.amibroker.com ). Как установить, создать базы и т.д. берете у Олега, великого повелителя цифр, ( http://amisite.ru/begin/beg_ind.htm ). Здесь же есть русифицированный хелп, на форуме сайта кстати тоже можно почерпнуть много полезного советую почитать и зарегистрироваться, не все темы видны гостям.
Для создания автоматизированной торговли, необходимо следовать следующему алгоритму действий, написание системы, тестирование, оптимизация, перенос системы в тело робота с внесением необходимых изменений, зависит от выбранного робота.
Теперь о главном из-за чего статья писалась, не у всех МТСников есть понимание алгоритма обработки массива цен ами. Системы пишутся не с позиции вашего понимания, а с позиции понимания ами, того как она воспринимает и обрабатывает массив цен, а именно, прошлые бары представлены стабильным массивом HLOC, текущий массив (бар) представлен стабильным массивом O, и нестабильными С, который может принимать любое значение цены соответствующее текущей цене рынка, и остается 2 массива более интересных, массива L который может принимать значение не выше O, и может изменяться только в направлении снижения, причем выше достигнутого значения в текущий момент времени стать не может и массив H к нему применимо все как и к L, но наоборот. На написанном выше хочу особенно заострить внимание, большинство косяков систем с которыми ко мне обращаются именно в непонимании массивов, а это косяки, как в описании условий систем, так и в определении цены сделок для теста. При использовании в системах индикаторов, прежде всего необходимо уточнить формулу их расчета и на базе какого из массивов они строятся, после чего зная как обрабатывается массив вы сможете предполагать как все это ами воспримет. Очень часто пишут о том что ушли заявки в квик, а в ами таких нет, почему так происходит? Тестирование на истории и реальная работа системы, которую вы вставите в робота не одно и тоже, при тестировании все массивы статичны, т.к. база сформирована, при работе робота, вы будете подключаться к реалтайм котировкам, и массив на текущем баре будет вести себя иначе. Возьмем простой пример пробой средней, как мы знаем массив С на текущем баре может принимать любые значения, а значить с его изменением будет изменяться и значение средней, а теперь вспомним особенность работы ами с массивами на текущем баре. Берем пробой вверх, С достигает значения при котором она пробивает среднюю, ами считает что условие соблюдено, после чего производит откат вниз условие перестает соблюдаться, так вот ами не запоминает свое состояние в течении бара, он его определяет в каждый момент времени, не помня что произошло 1 сек назад, а значить построив системы на базе С вы получили бы сигнал на вход в позу, о котором сама ами нечего не помнила бы при изменении С, а значит и сигнала на выход из позы никогда бы не дал. Зная особенности массивов систему пробоя можно строить беря H и среднюю от С с прошлого бара, можно брать значение с прошлого бара средней на H, а еще зная особенность построения массивов можно брать среднюю от текущего H, потому что меньше он стать не может, в тоже время мы можем рассчитать значение при котором H станет выше чем средняя от него же без смещения, для этого достаточно знать формулу расчета средней. Поймите не ами будет подстраиваться под вас, а вы под его возможности. Поэтому учитывайте их пожалуйста.
Следующая проблема по фильтры, в хелпе внимательно почитайте, что какая функция делает, не надо вставлять 2 - 3 фильтра выполняющие одну и туже работу если сигналы не фильтруются, разбирайтесь с условиями, косяк там.
Еще проблема это расчет цены для тестера …..Price, если сигналы мы формируем условиями, то цену мы определяем массивами (числом) не путайте, и не забывайте про массив O, в момент открытия свечи и H и L и C равны O, а значить если говорим про пробой то BuyPrice = max(o,y); y- уровень, а не просто BuyPrice = y; Если речь идет о пробое двух линий то BuyPrice = max(o,max(y,z)); функцию IIF() используйте когда она действительна нужна, чем больше расчетов тем выше вероятность ошибиться, поэтому все необходимо упрощать в рамках представленных функций ами.
Ну и наконец робот, на выбор сейчас 2 один создан Мехом и работает в виде индикатора, соответственно ами должен быть открыт и робот Олега в виде сканера, можно свернуть и забыть выбирать вам. Оба робота с открытым кодом, имеют и плюсы и минусы, о чем можно почитать у самих авторов.
Автор статьи: Commenced.