Инструкция
1
Для начала сформируйте стратегию создания советника – например, на основе линии Moving Average. Устанавливайте позицию на покупку с некоторыми значениями Take Profit и Stop Loss, если цена инструмента поднимается выше линии Moving Average.
2
Функцию StopLoss и TakeProfit установите в 250 пунктов. Робот не должен открывать новых позиций, пока есть какая-то открытая торговая позиция. На основе данной стратегии начинайте создание советника.
3
Откройте редактор MetaEditor и запустите мастер создания советников. Выберите в меню мастера опцию «Советник», нажмите «Далее» и пропишите основные параметры, которыми должен быть наделен советник. Если вы занимаетесь созданием торгового робота впервые, оставьте окошко с параметрами незаполненным и нажмите «Готово».
4
Теперь вам нужно написать код на языке MQL, который и является основным элементом создания робота. В редакторе кода запрограммируйте заготовленную стратегию. Пропустите блоки int init () и int deinit ().
5
Сразу переходите к заданию алгоритма советника в блоке int star (). С помощью торговой функции OrderSelect () советник должен проверять, нет ли у вас уже имеющихся открытых позиций в терминале. Если советник обнаружит в терминале открытые позиции, он будет ждать, пока сделки не закроются.
6
Соответственно, вам нужно ввести следующий код:
if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==False)
{ }
В фигурные скобки впишите условия для покупки и продажи.
7
Так как в качестве сигнала для совершения торговой сделки вы назначили линию Moving Average, введите в код блок функции, влияющей на открытие сделки для нисходящего тренда. Эта функция должна зеркально отображать предыдущую функцию, которая влияет на открытие тренда, если значения текущей цены превышают линию Moving Average. Скомпилируйте торгового робота и протестируйте его на нескольких видах валюты.
8
Теперь вам осталось ввести параметры настроек робота. После строки #property link http://... введите следующие параметры:
extern double LotTrend = 0,1; /* количество лотов для открытия позиции*/
extern int TP=250; /* количество пунктов по закрытию TakeProfit*/
extern int SL=250; /* количество пунктов по закрытию StopLoss*/
9
В коде с параметрами произведите замену, чтобы советник мог работать прямо из торгового терминала. Протестируйте советника с помощью функции терминала «Тестер стратегий».