English 中文 Español Deutsch 日本語 Português
Использование платформы MetaTrader 4 для выявления благоприятных временных окон (паттернов времени)

Использование платформы MetaTrader 4 для выявления благоприятных временных окон (паттернов времени)

MetaTrader 4Торговые системы | 8 февраля 2008, 12:08
3 324 34
Giampiero Raschetti
Giampiero Raschetti

Введение

Чтение интервью, опубликованных на сайте Чемпионата Automated Trading Championship, обнаруживает много интересной информации, скрытой в рассуждениях.

В интервью Уильяма Ботрайта (Wackena) (https://championship.mql5.com) меня заинтересовала идея анализа времени для выявления одного единственного часа в сутки для совершения одной единственной сделки при свинговой торговле.

Поэтому я начал собирать информацию об исследованиях анализа времени для определения благоприятных точек входа в рынок. Более того, я решил реализовать систему, которая могла бы подтвердить эффективность подобной методики.

В конце статьи приводится код советника. В нем отсутствует стратегия выхода, однако он приведен здесь только как пример временных паттернов, которые можно получить, анализируя данные и проводя статистические исследования с помощью MetaTrader 4.


Поиск литературы

Для начала я занялся поиском подтверждения данной идеи в научной литературе и нашел очень интересный раздел, посвященный этой теме, в книге Перри Дж. Кауфмана "Торговые системы и методы", поистине являющейся энциклопедией технического анализа. В разделе 15 рассказывается о распознавании паттернов, одними из первых рассматриваются время суток и торговые привычки.

В этом разделе он упоминанет книгу "Заочные уроки по фондовому рынку" ("Stock Market Correspondence Lessons") Фрэнка Туббса, в которой автор описывает шесть основных паттернов фондового рынка, основанных на торговых часах США. В правиле 4 говорится: "если рынок быков продлится до 14:00, скорее всего он останется таковым до закрытия, а так же и на следующий день".

А 14:00 по GMT-5 совпадает с 20:00 по GMT+1 - время, когда советник участника Wackena открывает сделки. Это первое интересно подтверждение эффективности данной методики. Этот раздел книги Кауфмана также содержит много другой интересной информации, касающейся данного вопроса.


Реализация базового советника

В советнике, который будет определять направление движения цен в определенное время, важны только сигналы, дающие точную информацию о направлении тренда. А контртрендовые методы и системы "прорывов" дла этого не подходят.

В этой статье был представлен базовый советник. Сейчас я предлагаю вашему вниманию схему работы данного советника.

где:

  • Analyzer вызывает распознавателей сигналов и предоставляет информацию о силе тренда на данный момент.
  • TrailingStopEngine динамически вычисляет уровни Take Profit и трейлинг стоп на основе индикатора среднего истинного диапазона (ATR) или другого индикатора волатильности.
  • CurrentOpenOrders возвращает количество открытых ордеров.
  • LoopThroughOrders просматривает все ордера и при необходимости устанавливает новые трейлинг стопы или уровни Take Profit.
  • BlockFilterTrading выявляет наличие специальных условий, при которых мы не хотим открывать сделки.
  • MoneyManagement возвращает размер лота как функцию от заданного уровня риска.
  • PlaceOrder при возможности открывает позиции в направлении, указанном блоком Analyzer.


Работа эксперта и оптимизация результатов

Я работал с платформой MetaTrader 4 на Apple MacBookPro с использованием виртуальной машины, работающего достаточно быстро и надежно.

Проводилось тестирование на истории по валютной паре EURUSD за период с 1 января 2007 г. по 29 декабря 2007 г. на 15 минутном таймфрейме. Результаты были вполне удовлетворительные.

Основные параметры работы взяты из первой оптимизации. Вы можете попробовать совмещать различные параметры.

Что касается параметров Take Profit и Stop Loss, установленных при тестировании, здесь нас не интересовала максимизация баланса или использование других параметров оптимизации, доступных в платформе MetaTrader 4. Что нам нужно, это максимальное количество прибыльных сделок для подтверждения стратегии входа.

Любые оптимизации других параметров будут проведены на следующих этапах.

Ниже представлен код модуля Analyzer. При тестировании вы можете добавить в него любой другой распознаватель сигналов.

Для выбора правильного направления нам необходима одинаковая информация от двух сигналов.

//+------------------------------------------------------------------+ 
//| Price Direction Analyzer 
//+------------------------------------------------------------------+ 
int Analyzer()  
{ 
 int  signalCount=0; 
 signalCount += EntrySignal1(); 
 signalCount += EntrySignal2(); 
 return(signalCount); 
} 
 
//+------------------------------------------------------------------+ 
//| ENTRY SIGNALS BLOCK MODULES 
//+------------------------------------------------------------------+ 
int EntrySignal1() 
{ // Long term SMA trend detect 
 int i,Signal; 
 
 int LongTrend=0; 
 for(i=0;i<3;i++) 
 { 
   if (iMA(Symbol(),PERIOD_H4,S1_MA_FAST,0,MODE_LWMA,PRICE_TYPICAL,i) > iMA(Symbol(),PERIOD_H4,S1_MA_FAST,0,
   MODE_LWMA,PRICE_TYPICAL,i+1)) 
     LongTrend++; 
   else 
     LongTrend--; 
 }     
 if( LongTrend < 0) 
   Signal=-1; 
 else 
   Signal=1;  
 return(Signal);  
} 
 
int EntrySignal2() 
{ // Daily MACD 
   int Signal; 
 
   if (iMACD(NULL,PERIOD_D1,S2_OSMAFast,S2_OSMASlow,S2_OSMASignal,PRICE_WEIGHTED,MODE_MAIN,0) > 
       iMACD(NULL,PERIOD_D1,S2_OSMAFast,S2_OSMASlow,S2_OSMASignal,PRICE_WEIGHTED,MODE_MAIN,1) ) 
     Signal=1; 
   else 
     Signal=-1; 
   return (Signal); 
}

Торговый час согласован с блоком фильтрации торговли, реализация которого приведена ниже.

Такая структура допускает использование дополнительных фильтров в ходе работы.

//+------------------------------------------------------------------+ 
//| FILTER BLOCK MODULES 
//+------------------------------------------------------------------+ 
bool BlockTradingFilter1() 
{
 bool BlockTrade=false;  //trade by default 
 if (UseHourTrade) 
 { 
   if( !(Hour() >= FromHourTrade && Hour() <= ToHourTrade && Minute()<= 3) ) 
     { 
      //  Comment("Non-Trading Hours!"); 
      BlockTrade=true; 
     } 
  } 
 return (BlockTrade);  
}

Фактически нам нужно большое количество маленьких прибыльных сделок без учета состояния общего баланса.

Вот основные параметры оптимизации:

Для анализа временных периодов, приносящих наилучшие результаты, установите значение параметра FromHourTrades от 0 до 23 с шагом в 1 час и установите галочку оптимизации в параметрах тестирования на истории перед началом процесса.

Вот результаты оптимизации:

Отчетливо видно, что есть периоды, когда торговля с использованием техники выявления тренда может быть очень опасной, в то время как в другие часы выбор терндевого направления может приносить неплохую прибыль. Это период с 19:00 до 22:00 (GMT +1) в Восточной временной зоне, когда рынок уже "переварил" все новости.

В данном случае на имеющихся исторических данных пиковое время в процессе оптимизации совпало с 21:00 (GMT +1).

Такие результаты должны считаться действительным для рынка Форекс на 2007 год. Однако по мнению Фрэнка Туббса, благодаря торговым привычкам такие показатели должны быть действительны и в будущем.

Ниже приведены подробные результаты оптимизации:



Вы можете подумать, что результаты зависят так же и от сигналов, выбранных для определения направления движения цен. Могу уверить вас, в данной стратегии, имеющей в своей основе показатель времени, использование различных сигналов приводит к достаточно схожи результатам. Разумеется, вы можете тестировать с использованием других сигналов. Буду рад, если вы поделитесь со мной полученными результатами.

Вот результаты тестирования на истории в 21:00 (GMT+1).

Итак, из 160 сделок 154 оказались прибыльными (96.86%).

Данная информация подтверждает слова участника Wackena, приведенные в его интервью.


Добавление уровня Stop Loss на основе временного подхода

Судя по количеству сделок за один год при тестировании на истории, можно предположить, что есть возможность улучшить результаты торговли путем добавления уровня Stop Loss на основе показателя времени для закрытия ордеров, которые после 23 часового пребывания на рынке являются убыточными.

Для этого необходимо лишь установить флажок на параметре UseTimeBasedStopLoss и выбрать параметры оптимизации.

Ниже представлена таблица с результатами измененной стратегии:

Данная стратегия выхода показывает что долгая свинговая торговля на слабом рынке может защитить вас от добавления нежелательных оредров в неудачные моменты, когда надо проявить терпение и дождаться выхода рынка из неблагоприятных для вас условий.


Заключение

Стратегия анализа временных паттернов с учетом торговых привычек предполагает дальнейшее исследование с добавлением адекватной стратегии мани-менеджмента к данному советнику и, конечно же, эффективного механизма трелинг стопа. Однако это уже тема новой статьи.

Код советника, прикрепленный к статье, может быть использован для дальнейших исследований паттернов и валютных пар для анализа других торговых привычек и стереотипов поведения на основе показателя времени. Буду признателен, если вы поделитесь своими результатами.


Список используемой литературы

New Trading Systems and Methods, by Perry J. Kaufman

https://championship.mql5.com

The Encyclopedia of Trading Strategies, by Jeffrey Owen Katz,Donna L. McCormick

Forex conquered, by J.L.Person

Trading with the odds, by Cynthia A.Kase

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная статья: https://www.mql5.com/en/articles/1508

Прикрепленные файлы |
Sauron.mq4 (7.64 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (34)
Елена
Елена | 29 февр. 2008 в 11:23
 
По результатам тестирования, данный советник больше всего подходит к йеновым парам. Возможно, что это связано с привязкой йены к фондовым рынкам, которые работают с известной и неизменной периодичностью. Самые "популярные" сигналы приходят в 5.00,10.00 и в 22.00 (GMT). Как раз, собственно.
Rider
Rider | 5 авг. 2008 в 12:17
Helen:
Можно выложить работающий вариант этого советника?

100$ мадемуазель и без вопросов :))))))..... пардон, мадам, личное....

Вопрос, собственно такой. Кто-нибудь этого эксперта юзал, скажем так, парам по 10-ти, да по 2-3 ТФ с соответствующей оптимизацией?

А то заявления, типа, "на одну пару поставил и полный драйв, а на шесть - полный слив", как минимум недоумение вызывают.........

Вся фишка здесь даже и не в подборе трендовиков: подбор времени работы финансовых институтов: допустим : осень-осень. весна-весна и т.д. и т.п. - это глобально, а если еще и по дням недели, да по сесессиям грубо приблизительно посчитать :).... мы же "старые русские" редко собственные привычки меняем, в отличие от "молодых и старых русских"...... извините, мадам, снова не удержался :)))

Rider
Rider | 5 авг. 2008 в 12:27
вчера его на фунт в "нулевом" варианте поставил - так полный драйв сегодня ..... целых 12 пп прибыли
Rider
Rider | 5 авг. 2008 в 12:38

Ладно, все шуточки........  откуда вот это взялось, нет, если ноу-хау или секркт фирмы, так и скажаите - дело интимное:

"Вот результаты оптимизации:



Отчетливо видно, что есть периоды, когда торговля с использованием техники выявления тренда может быть очень опасной, в то время как в другие часы выбор терндевого направления может приносить неплохую прибыль. Это период с 19:00 до 22:00 (GMT +1) в Восточной временной зоне, когда рынок уже "переварил" все новости.
В данном случае на имеющихся исторических данных пиковое время в процессе оптимизации совпало с 21:00 (GMT +1).
Такие результаты должны считаться действительным для рынка Форекс на 2007 год. Однако по мнению Фрэнка Туббса, благодаря торговым привычкам такие показатели должны быть действительны и в будущем.
Ниже приведены подробные результаты оптимизации:"

Больше всего картиночка интересует (которая так и не вставилась почему-то)?

Как и откуда взялась? илии не догоняю...... Helen? не отыгрывайся :))))

[Удален] | 9 февр. 2009 в 02:02
Giampiero Raschetti / Massive potential idea for trade strategy
Комфортная пипсовка Комфортная пипсовка
В статье описан метод создания инструмента для комфортной пипсовки. Однако данный подход к открытию сделок может быть применим при любой торговле.
Предсказание финансовых временных рядов Предсказание финансовых временных рядов
Предсказание финансовых временных рядов - необходимый элемент любой инвестиционной деятельности. Сама идея инвестиций - вложения денег сейчас с целью получения дохода в будущем - основывается на идее прогнозирования будущего. Соответственно, предсказание финансовых временных рядов лежит в основе деятельности всей индустрии инвестиций - всех бирж и небиржевых систем торговли ценными бумагами.
Индикатор трендовых линий с учетом подхода Т.Демарка Индикатор трендовых линий с учетом подхода Т.Демарка
Индикатор показывает линии тренда отражая самые последние события на рынке. Индикатор построен по рекомендациям и с учетом подхода Томаса Демарка к техническому анализу. Индикатор отображает не только последнее направление тренда, но и предпоследнее противоположное направление тренда.
Новый взгляд на эквиобъемные графики Новый взгляд на эквиобъемные графики
В статье рассматривается метод построения графиков, при котором каждый бар состоит из одинакового количества тиков.