1. Индикаторы. 1.1. В настройках советника задаются параметры используемых индикаторов (см. Общие настройки). 1.2. При составлении проекта для проверки работоспособности алгоритма абсолютно не важен используемый индикатор. Для простоты: быстрая EMA над медленной EMA– покупка, быстрая EMA под медленной EMA– продажа. 1.3. Блок сигналов индикаторов оформляется через логические переменные, которые будут возвращать условия индикатора (индикаторов) истинными или ложными для дальнейшего их использования при открытии или закрытии сделок. Пример: if (FastUp==true) или if (FastDown==true). 2. Открытие/закрытие первых (одиночных) сделок. 2.1. Первая (одиночная) сделка открывается с начальным размером лота (см. Общие настройки) без тейкпрофита и стоплосса в зависимости от соответствующего сигнала индикатора. 2.2. Одновременно может быть открыта только одна первая (одиночная) сделка. 2.3. При достижении первой (одиночной) сделкой установленного размера прибыли (см. Общие настройки) выставляется трейлинг-стоп с настраиваемыми параметрами (см. Общие настройки). 2.4. Трейлинг-стоп должен быть отключаемым (см. Общие настройки). 2.5. Первая (одиночная) сделка закрывается при условии: а) если трейлинг-стоп отключен: - при достижении установленного размера прибыли; б) если трейлинг-стоп выставлен: - при противоположном сигнале индикатора; - по трейлинг-стопу. 2.7. Если первая (одиночная) сделка закрыта по трейлинг-стопу или при достижении установленного размера прибыли, и сигнал индикатора позволяет открывать сделку в направлении только, что закрытой сделки, тогда открывается новая первая (одиночная) сделка по тем же правилам. 2.8. Если первая (одиночная) сделка не достигла установленного уровня прибыли, и, соответственно, не был выставлен трейлинг-стоп, но уже поступил сигнал индикатора на открытие сделки в противоположном направлении, тогда данная сделка не закрывается и переходит из одиночной сделки в серию сделок (см. Серия сделок). 3. Серия сделок. 3.1. Если первая (одиночная) сделка не была закрыта при поступлении сигнала индикатора на открытие сделки в противоположном направлении, она не закрывается и становится первой сделкой в серии сделок. 3.2. Лот каждой следующей сделки в серии сделок увеличивается на размер начального лота. 3.3. Все последующие сделки в серии сделок заключаются по сигналам индикатора на открытие первых (одиночных) сделок. 3.4. Количество серий сделок ограничено (см. Общие настройки). 3.5. Количество сделок в серии ограничено (см. Общие настройки). 3.6. Наличие серии сделок не отменяет правил для открытия первых (одиночных) сделок, однако при достижении максимального количества серий сделок (см. Общие настройки) первые (одиночные) сделки не открываются. 3.7. Все сделки в серии сделок закрываются одновременно при условиях: - сумма прибыли всех сделок в серии сделок достигла установленного размера прибыли для серии сделок (см. Общие настройки). - достигнуто максимальное количество сделок в серии (см. Общие настройки). 4. Учет ордеров. 4.1. Учет открытых ордеров ведется по магическим номерам. 4.2. Советник должен находить и подхватывать свои сделки при перезагрузке терминала или обрыве связи. 4.3. При установке советников на разные инструменты их магические номера не должны пересекаться. Пример: Советник должен иметь запас магических номеров исходя из максимально возможного количества сделок Так, 3 серии по 10 сделок – 30 номеров, т.е. каждая первая (одиночная) сделка может иметь номера 1, 11 или 21, а все последующие сделки в серии 2,3,4… до 10. P.S. Создание и написание алгоритма учета ордеров ложится на Ваши плечи, потому что именно с этим у меня проблема. 5. Общие настройки. 5.1. Параметры используемых индикаторов. 5.2. Начальный размер лота: - может быть фиксированным. Всегда одно значение. - может изменяться в зависимости от размера депозита. Депозит/n = k, тогда начальный лот равен 0.01*k, при этом в настройках указывается значение n. 5.3. Размер прибыли для первой (одиночной) сделки устанавливается в единицах валюты. Пример: 0.3 USD. Перевод пунктов цены в валюту, исходя из размера начального лота, спреда и т.д. оставляю исполнителю. 5.4 Размер прибыли для первой (одиночной) сделки: - может быть фиксированным. Всегда одно значение. - может изменяться в зависимости от размера депозита. Депозит/n = k, тогда размер прибыли равен с*k, при этом в настройках указывается значение n и с. 5.5. Размер прибыли для серии сделок устанавливается в единицах валюты. Пример: 0.5 USD. Перевод пунктов цены в валюту, исходя из размера начального лота, спреда и т.д. оставляю исполнителю. 5.6 Размер прибыли для серии сделок: - может быть фиксированным. Всегда одно значение. - может изменяться в зависимости от размера депозита. Депозит/n = k, тогда размер прибыли равен с*k, при этом в настройках указывается значение n и с. 5.7. Если размер начального лота фиксированный, то размеры прибыли для первой (одиночной) сделки и серии сделок также фиксированные. 5.8. Максимальное количество серий сделок. 5.9. Максимальное количество сделок в серии. 6. Иное 6.1. При возникновении любых ошибок об этом должна делаться запись в журнале. 6.2. Таймфрейм любой. 6.3. Инструмент любой.