Отличный советник в бэктесте! - страница 133
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотел опубликовать свой бэктест от 2005 года.
Результаты... разные!
*EDIT*
Не мини, начал с 10к вместо 1к (все еще собираюсь провести форвард-тест).
Я действительно скептически отношусь к бэктестам, я видел такие огромные результаты с очень маленькими изменениями.
Как будто вы можете разработать бэктест для определенной пары и периода времени, но добавьте один месяц и все будет наоборот.
Очень странно, Обновил данные через функцию загрузки и создал новый отчет.
*редактирование* , хотел упомянуть, что это было с билдом 200
Привет, друзья...
Вот и еженедельный сравнительный отчет (бэктест против DEMO счета);
Привет
Здравствуйте!
Я тестировал бесплатную версию CT, найденную в MIG, с приемлемыми результатами для T15m, но в 8.00, 13 и 20 GMT наблюдаются повторяющиеся потери. Я попытался вставить часть отключения торговых часов
extern string TimeTradeHoursDisabled="08,13,20"; // Пример "00,01,02,03,04,05" GMT
extern int GMT=1; // Для North Finance GMT = 3, Alpari GMT = 1, IBFX GMT = -1 и т.д.
extern int MagicNumber=123000; // Магическое число -- меняется для каждой торгуемой пары.
// ----
int NoTradeHours1=25; // Время не торговать
int NoTradeHours2=25; // Время не торговать
int NoTradeHours3=25; // Время не торговать
int NoTradeHours4=25; // Время не торговать
int NoTradeHours5=25; // Время не торговать
int NoTradeHours6=25; // Время не торговать
Я также изменил конец, добавив
//+------------------------------------------------------------------+
//| функция запуска эксперта |
//+------------------------------------------------------------------+
int start()
{
GetMarketInfo();
CyberiaLots();
CalculateSpread();
FindSuitablePeriod();
CyberiaDecision();
VerbiageAndTimeCheck();
Trade();
SaveStat();
return(0);
}
int VerbiageAndTimeCheck() {
string comment_line="", comment_time="", comment_ver="";
string sp = "------------------------------\n";
comment_ver=StringConcatenate(SystemName," v. ",version,"\n");
if (StringLen(TimeTradeHoursDisabled) > 1) {
NoTradeHours1 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,0,2));
}
if (StringLen(TimeTradeHoursDisabled) > 4) {
NoTradeHours2 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,3,2));
}
if (StringLen(TimeTradeHoursDisabled) > 7) {
NoTradeHours3 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,6,2));
}
if (StringLen(TimeTradeHoursDisabled) > 10) {
NoTradeHours4 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,9,2));
}
if (StringLen(TimeTradeHoursDisabled) > 13) {
NoTradeHours5 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,12,2));
}
if (StringLen(TimeTradeHoursDisabled) > 16) {
NoTradeHours6 = StrToInteger(StringSubstr(TimeTradeHoursDisabled,15,2));
}
int h=TimeHour(CurTime());
int hadj=TimeHour(CurTime())-GMT;
if (((hadj) == NoTradeHours1) || ((hadj) == NoTradeHours2) || ((hadj) == NoTradeHours3) || ((hadj) == NoTradeHours4) ||
((hadj) == NoTradeHours5) || ((hadj) == NoTradeHours6)) {
BlockSell = true;
BlockBuy = true;
comment_time=StringConcatenate("Неудачный торговый час: ", hadj, " GMT");
} else {
BlockSell = false;
BlockBuy = false;
comment_time=StringConcatenate("Хороший торговый час: ", hadj, " GMT");
}
comment_line = comment_ver + sp + comment_time;
if (IsTesting()==false)
Comment(comment_line);
}
Но это не работает
Кто-нибудь знает, как решить эту проблему?
Я приложил CT, который я скачал, и попробовал вперед в MIG с хорошими результатами, за исключением )8,13,20 GMT
Может ли кто-либо выложить последнюю версию используемого CT
Спасибо
Пако
Нашел несколько идеальных настроек с помощью CT. В коде риска есть несколько вараиблей, которые настроены неправильно. Идея была навеяна более поздними версиями с использованием таблицы рисков, экспортированной в excel, но на самом деле не требуется находить абсолютные значения, только относительные!!! Абсолютные значения будут меняться от рыночных условий, но относительные значения для риска открытия или закрытия сделок - это то, что нам нужно.
Сейчас у меня есть 3 простых внешних переменных, которые могут быть легко изменены на основе очень старой версии 1.85f, на мой взгляд, более поздние версии ухудшили ситуацию.
Я использую NorthFinance для тестирования и демонстрации из-за их почти всегда фиксированных спредов в 2 пункта. (В других компаниях, таких как IB и FDD, если спред будет широким, вы можете потерять в буквальном смысле 60% годовой прибыли!!!
extern double closemultiplier = 1.5; Это значение изменяет профиль риска при закрытии ордеров, риск закрытия всегда должен быть меньше, чем открытия. Это значение меньше, чем при открытии, но больше, чем при построении по умолчанию. Другими словами, мы боимся войти в рынок, но боимся потерять наши достижения:) Иногда это выглядит пустой тратой времени, когда рынок проходит еще 50 пунктов, но мои исследования показали, что вы должны быть чрезвычайно осторожны, чтобы это сработало.
extern double openmultiplier = 1.7; Это значение изменяет профиль риска для открытия сделок. Оно больше, чем закрытие, так что, другими словами, мы ищем только "безопасные" входы. Значение 1.0 будет представлять все остальные построения, и я увеличил вероятность и уменьшил риск. Компромисс - меньше сделок. Слишком высокое значение может привести к нескольким дням без сделок, но фактор прибыли резко возрастает.
extern double StopBias =1.1; Это значение увеличивает относительное позиционирование для автоматического стоп-лосса. Поскольку стоп-лосс должен зависеть от волатильности рынка, НЕ используйте фиксированные жесткие стопы. Стоп на 20, возможно, был хорош в августе, но точно не сейчас, когда ATR на евро превышает 100. Поэтому, по возможности, стопы должны зависеть от текущих рыночных условий. Автоматический стоп-лосс использует последние несколько баров и рассчитывает ATR плюс спред. Это означает, что стопы находятся за пределами шумового конверта, а это именно то место, где мы хотим, чтобы они находились. Оптимизатор GA обнаружил, что небольшое увеличение здесь по сравнению со стандартным значением 1 предотвращает срабатывание стопов и получение действительно раздражающих убытков всего на 2-3 пункта, поскольку проверяются границы шумовой оболочки.
Я использую CCI только как фильтр, и ничего больше, чем больше вы вводите, тем хуже становится, потому что без чего-то запаздывающего мы не можем определить исторический след, на котором можно работать. Забудьте об использовании часовых или новостных временных фильтров и трейлинг-стопов, основная часть движка для CT уже есть, просто не совсем настроена. Многие прибыльные сделки происходят во время новостей. Старайтесь использовать относительные решения и % от чего-то, а не абсолютные значения.
Мой риск на лоты составляет 0.4, а максимальный лот изменен на 99. Не ограничивайте лот 10, какой смысл ограничивать прибыль, когда большинство брокеров разрешают 100 лотов на авто?
Я оставляю вас, умные ребята, подумать об этом и посмотреть, что вы придумаете:)
1 января по сегодняшний день.
Бары в тесте 49504
Смоделировано 1246996 тиков
Качество моделирования 90.00%
Начальный депозит 10000.00
Итого чистая прибыль 97985.55
Валовая прибыль 224608.37
Валовый убыток -126622.82
Коэффициент прибыли 1,77
Ожидаемая прибыль 176.23
Абсолютная просадка 953,60
Максимальная просадка 18422,75 (17,57%)
Относительная просадка 32,86% (5034,65), что вполне прилично, учитывая огромный выигрыш.
Всего сделок 556
Короткие позиции (выигранные %) 256 (89,45%)
Длинные позиции (% выигрыша) 300 (94,00%)
Прибыльные сделки (% от общего числа) 511 (91,91%) очень приятный показатель успешности более 90%.
Убыточные сделки (% от общего числа) 45 (8,09%) Не часто проигрывает.
Крупнейший
прибыльная сделка 3894.00
убыточная сделка -11830.00
Средний
прибыльная сделка 439.55
убыточная сделка -2813.84
Максимум
выигрыши подряд (прибыль в деньгах) 74 (19719.35)
последовательные проигрыши (убытки в деньгах) 3 (-2841.40)
Максимальный
последовательная прибыль (количество выигрышей) 33358,89 (33)
последовательный проигрыш (количество проигрышей) -11830.00 (1)
Среднее
последовательные выигрыши 13
последовательные проигрыши 1
Я закрываю свой счет в IBFX сегодня после того, как наблюдал, как они колебали eurusd до спреда в 6 пунктов. Я открою счет в FXDD, следуя примеру Davidsx. Я надеюсь, что этот советник станет полезным у брокера, который не будет так сильно колебать спреды.
Поздравляю вас с Рождеством. Мой новый счет открыт и пополнен @ fxdd. У меня сейчас идет CT с максимальным лотом=0.01, и я надеюсь увидеть 75% выигрыш, который получает davidsx. Это было бы здорово. Меня также воодушевило, что у fxdd нет ограничений по времени на позиции. Некоторые стратегии, которые я видел, лучше всего используют позиции, которые открыты всего минуту или меньше.
Извините, друзья, я перепутал провода.
Я разместил свое последнее обновление CT здесь...
https://www.mql5.com/en/forum/trading_systems
Есть ли у FXDD микросчет на демо? Я не знал об этом.
Извините, друзья, я перепутал провода. ....
Я разместил здесь свое последнее обновление CT...
https://www.mql5.com/en/forum/trading_systemsПриятно знать, что у нас есть еще одна версия...
Я собираюсь протестировать ее сейчас и сравнить результаты с v1.93b...
Кстати, 1.93b на демо-счете FXDD показала результаты, очень похожие на результаты бэктестов... Разница заключалась в меньшем количестве сделок и немного меньшей прибыли, что совсем не беспокоит, учитывая, что это НОРМАЛЬНО для CT иметь посредственные результаты в конце года (ноябрь и декабрь);
Если 1.95 не покажет лучших результатов, чем 1.93b, я, конечно же, начну с последней версии на реальном счете FXDD к 2007 году, учитывая, что она была достаточно хороша для меня.
Счастливого Рождества всем!!!
и с Новым Годом, если я не напишу к тому времени!!!