
Название стратегии: tmaEA
Год выпуска: 2016
Сайт продажи: tradelikeaderMitay.ru :)) :)) :))
Валютные пары: по сути любые, но сов точился под фунтауди
Таймфрейм: любые, сов использует три ТФ одновременно, все настраиваемо
Время торговли: любое, есть таймменеджер
Описание:
Итак, представляю вам своё детище.
Основа торгов - всем известный нам индикатор ТМА. Суть торговли заключается в отскоке от верхней/нижней линии индикатора и закрытие ордера при касании средней линии. Это вкратце. Если все-таки произошел пробой, то начинает строиться сетка на отбой по определенным правилам, заданным в параметрах советника. При этом сетки строятся параллельно и не зависят друг от друга, то есть код строит сеть в обе стороны(если есть условия понятное дело).
Весомым плюсом кода(да и моей гордостью 8-> является то, что код крайне оптимизирован под тестер мт4 и не использует ни один iCustom(), то есть любой другой сов который будет работать с ТМА через кастом будет работать в 20-30 раз медленнее чем мой код)))
К тому же сам код написан так, что его можно использовать в виде конструктора как для пипсовочной/скальпинговой, как для среднесрока, так и для долгосрочных ТС.
Описание ключевых настроек и логики совы:
kPr = 1.0 - это процент профита в зависимости от размера депо, расчитанный на взятие минимального профита по одному ордеру. То есть при касании средней линии ТМА ордер должен иметь профит выше или равный kPr % от депо. То же самое касается всех сеток, если сетка состоит из 4 ордеров, и kPr равен 1, то вся сеть закроется выше средней линии ТМА при достижении профита в 4% с учетом комиссий и свопов.
EnableExpert_1 = false - экспериментальный режим работы совы, суть его: когда построены сетки в обе стороны с количеством ордеров в каждой сетке большье 3х(то есть уже 6 ордеров) то предполагается что общий профит сейчас в огромном минусе, сетки по отдельности при этом не закрываются а ждут когда минус достигнет хотя бы "-100$" и тогда сетки схлопнутся всей кучей. По сути режим написан чисто для экспериментов, он не нужен по сути(должен быть выставлен в false).
enableby = false - еще один экспериментальный режим, чуть проста: закрывать сетку в БУ когда количество ордеров в ней достигает числа ByTime
ByTime = 3 - читай выше
UseTime = true - таймменеджер, тут я думаю все понятно.
TimeToOpen = 120 - один из самых важных параметров совы. это ограничитель по открываемым ордерам в сетках, для каждой стороны свой таймер, суть его заключается в следующем, следующее колено(при наличии условий) не откроется пока не пройдет TimeToOpen минут с момента открытия предыдущего колена.
How % to Trade = 1 - это коэффициент % от депозита на стартЛот самого первого оредра в сетке.
SumPr = 10 - тоже экспермиентальная хрень(% от текущего депо), влияет на весь депозит сразу, если профит по всем сеткам будет достигать этого значения все сетки будут закрываться принудительно(по крайней мере так должно работать).
Остальные параметры думаю не нуждаются в пояснении, так как связаны с настройками именно ТМА

Минимальный депо: любой в зависимости от настроек How % to Trade и kPr
Рекомендуемый депо: так как используеются нестандартный лотЭксп то чем больше тем лучше(расчет и оптимизация коэффициентов был рассчитан на точный депо свыше 10к), как минималка 1-2к.
Правила стратегии:
Общее правило для всех ТМА: касанием верхней/нижней линии ТМА считается самое первое касание, при этом хай/лоу предыдущих 4х баров не должно касаться линии текущего ТМА.
Сетка строится с нестандартными коэффициентами мартина.
вот они
if(curOrd == 0) VolFinal = NormalizeDouble(what * AccountBalance()/100000,2);
if(curOrd == 1) VolFinal = NormalizeDouble(2*what * AccountBalance()/100000,2);
if(curOrd == 2) VolFinal = NormalizeDouble(2.5*what * AccountBalance()/100000,2);
if(curOrd> 2) VolFinal = NormalizeDouble(2.7*what * AccountBalance()/100000,2);
if(curOrd > 8) VolFinal=NormalizeDouble(6*what*AccountBalance()/100000,2);
с четвертого по седьмое колено стека открывается по правилам второго ТМА.
при этом если есть совпадение по правилу третьего ТМА - то так же будет открыто колено.
более глубокий смысл входа ниже под спойлером, основная функция на бай:
void ToBuy()
{
if(!IsNew(0)) return;
if (UseTime && !CheckTimeSessions(Symbol()) && cBuy==0) return;
// Buy first
if(BidTF1_low[1] && Low[2]>TF1_low[2] && Low[3]>TF1_low[3] && Low[4]>TF1_low[4])
{
if(OpOrd(0)) if(!IsTesting()) Alert("Buy ",(string)(cBuy+1));
return;
}
//
if(BidTF2_low[0] && cBuy=3 &&
iLow(NULL,TF2,1)>TF2_low[1] &&
iLow(NULL,TF2,2)>TF2_low[2] &&
iLow(NULL,TF2,3)>TF2_low[3] &&
iLow(NULL,TF2,4)>TF2_low[4]
)
{
if(OpOrd(0)) if(!IsTesting())Alert("Buy ",(string)(cBuy+1));
return;
}
if(BidTF3_low[0] &&
iLow(NULL,TF3,1)>TF3_low[1] &&
iLow(NULL,TF3,2)>TF3_low[2] &&
iLow(NULL,TF3,3)>TF3_low[3] &&
iLow(NULL,TF3,4)>TF3_low[4]
)
{
if(OpOrd(0))if(!IsTesting()) Alert("Buy ",(string)(cBuy+1));
return;
}
}
Суть логики по сути такая: пипсуем по правилам первого ТМА, подхватываем и разруливаем затяжной тренд вторым ТМА, если происходит огромный всплеск волатильности то разруливаем так же правилом третьего ТМА.
То есть, вы можете использовать как один таймфрейм с разными ATRMultiplier а можете юзать разные ТФ причем каждый ТМА со своими уникальными параметрами. Это конструктор, напоминаю.
Правила закрытия сетки:
1. если цена улетела за среднюю линию второго или третьего ТМА И профит всей сети составляет kPr*(количестов ордеров в сети)/(баланс депо) происходит закрытие сетки
2. если количество ордеров в сети больше или равно 4 и профит всей сети больше kPr*(количестов ордеров в сети)/(баланс депо)
ИЛИ количество ордеров в сети уже больше 10 и профит всей сети больше нуля - закрытие всей сетки
первое правило основное, на котором код зарабатывает, второе правило по сути разруливающее, спасение депозита в БУ при хреновых раскладах.
Скриншоты:
set LowRisk

set MiddleRisk

set HighRisk

set MaxRisk

Сама сова и оптимизированный сет в приложении.
Прикручивать другие индикаторы к советнику не хочу и не буду. Можете не просить. По поводу внезапных ошибок, сов использует историю за 50-70 баров в прошлом, поэтому перед запуском убедитесь что у вас есть история за прошлый период в количестве минимум 70 баров назад(то есть если основной ТФ D1 то у вас дополнительно должна быть история как минимум за 70 дней до старта).
Для чего выложил: так как сова - это конструктор, просьба ко всем заинтересованным делиться сетами и сборками, в будущем буду дополнять этот стартпост сборками и сетами разделяя их на пары, ТФ, % прибыли в год(соответственно агрессивный стиль, классический среднесрок, и долгосрок с минимальными рисками).
Несколько слов о тестировании:
сова не проходит тест фунтауди(и йеной и так далее) за 2013й год, так как в ноябре был спокойный тихий безоткат на овер 8 фигур, откат после которого никак не смог разрулить код. увы и ах...
старая версия 4.04 пока что перенесена в этот пост
История обновлений:
4.07
- Полностью переписан ММ
- При ошибке недостаточности средств или некорректном расчете лотов сов перестает работать
4.06
- Исправлена ошибка таймменеджера в плане вычисления минут конца/начала торгов
- Добавлена возможность выключения торговли в конце декабря по середину января
- Добавлена функция принудительного закрытия ордеров при минусе, большим чем StopOut в % от депо
- Добавлена функция включения/выключения прописывания комментария к ордеру. он формируется из "навание совы/версия + магикномер"
- Поправлен экспериментальный режим БУ, был маленький косяк
- Исправлена ошибка при которой сов "не видел" котировки. Теперь можно использовать ТФ ниже, чем текущий
- Добавлен экспериментальный режим БУ
- Сверху слева добавлена информация о:
+ текущий профит
+ процент от депо этого профита
+ последнее время открытия бай/селл
+ максимальная относительная просадка за все время
+ дата этой максимальной просадки
4.04
- Исправлена дикая ошибка при закрытии сетки ордеров
- Добавлен фильтр спреда MaxSpread
- Добавлена функция прекращения торгов после разруливания последеней
сетки Enable Stop Trade After CloseGrid
- Добавлена функция включения/выключения алерта при открытии ордера
- Причесан внешний вид списка настроек
4.03
- Релиз
Сова распространяется абсолютно бесплатно и
не содержит никаких подводных камней (аля таймера или
рефер-ссылки и остальной лабуды), но если кто-то захочет
отблагодарить, я против не буду ;)
webmoney:
Z615518435904
E099302282404
R793760161125
остальные реквизиты только в личку:
NETELLER/Skrill/qiwi/хуЯндекс
Мониторинг в Роботесте
(используется сет optima_1_MiddleRisk.set от разработчика)

Мониторинг Seeker (v4.04)
(11 пар + золото, оптимизированные сеты под 4.04 Seeker'a в прикреплении)

tma_4.06_GBPAUD_presets.zip
tmaEA_v4.04_presets_Seeker.zip
tmaEA_v4.07.ex4





