Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
В Маркете более 400 индикаторов. Попробуй любой из них!
MetaQuotes Software Corp.
Модератор
181005
MetaQuotes Software Corp. 2008.02.08 12:08 

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

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

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

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

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

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

Author: Giampiero Raschetti

Левитин Сергей В.
5160
Левитин Сергей В. 2008.02.08 13:26  
//+------------------------------------------------------------------+ 
//| 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);  
}
Не очень понял к чему в условии    if( !(Hour() >= FromHourTrade && Hour() <= ToHourTrade && Minute()<= 3) )   минуты,  и как быть например с интервалом часов 22 - 5... Жаль, что атор не выложил исходники, может было бы понятнее...
Giampiero Raschetti
63
Giampiero Raschetti 2008.02.08 15:37  
There is a check at the beginning that sounds like this:
   if(ToHourTrade < FromHourTrade)
      return(0);
And the 3 minutes tollerance is in accordance with the 15M time frame.
Владимир
1402
Владимир 2008.02.09 03:01  

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


Возможно перевод не точен, но судя по коду входной параметр TradeHoldingPeriod приводит нашу убыточную позу к закрытию по истечению времени:
               if(UseTimeBasedStopLoss && TimeHour(TimeCurrent() - OrderOpenTime()) >= TradeHoldingPeriod && OrderProfit() < 0 )
                 {
                   OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position!!
                   return(0);
                 }
MQL4 Comments
16319
MQL4 Comments 2008.02.10 20:24  

Оптимизировал советник, для EURUSD, NZDUSD, USDJPY, прогнал через истоию при помощи визуализации и был шокирован результатами.

Я много видел советников, ломал голову над своими, но как по мне, это самый уникальный советник, без нейросетей.

Протестирую на демо, выложу результаты. Если результаты будут такие же как и на тесте, выложу свои оптимизированные значения.

Ihor Herasko
9019
Ihor Herasko 2008.02.10 22:48  
Надо бы некоторые мелочи подправить, как например, закрытие позиции Sell по цене Bid:
if(OrderType() == OP_BUY) 
 {
   // check profit and set trailing stops
              
   if(UseTimeBasedStopLoss && TimeHour(TimeCurrent() - OrderOpenTime()) >= TradeHoldingPeriod && OrderProfit() < 0 )
    {
      OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position!!
      return(0);
     }
  }
else // PROCESS SELL ORDER
 {
   // check profit and set trailing stops
 
   if(UseTimeBasedStopLoss && TimeHour(TimeCurrent() - OrderOpenTime()) >= TradeHoldingPeriod && OrderProfit() < 0 )
     {
       OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position!!
       return(0);
      }
  }
Rosh
93
Rosh 2008.02.11 08:56  
Scriptong:
Надо бы некоторые мелочи подправить, как например, закрытие позиции Sell по цене Bid:


Спасибо за замечание. Поправлено.
MQL4 Comments
16319
MQL4 Comments 2008.02.11 09:50  

Что-то я немного запутался, подскажите плиз.

Нужно к графику подключать индикаторы или нет?

Просто я чего спрашиваю:

Оптимизировал для USDJPY. Вход в рынок в 9-00, а советних не открыл ни одного ордера.

Вот меня и терзают смутные сомнения, может я что-то не так сделал.

Alexandr Galitskij
26
Alexandr Galitskij 2008.02.11 22:57  

 

Этот график я получил за 2007г просто добавив в советник возможность выставления процентного лота. Старт с 10000. Лично я в шоке.

double LotSize()
{
    double one_lot,min_lot,step_lot;
    double value;
    one_lot=MarketInfo(Symbol(),MODE_MARGINREQUIRED);    // залог на 1 лот
    min_lot=MarketInfo(Symbol(),MODE_MINLOT);            // минимальный размер лота
    step_lot=MarketInfo(Symbol(),MODE_LOTSTEP);          // шаг изменения лота
 
    value=(AccountFreeMargin()/100*Procent)/one_lot;
    value=NormalizeDouble((value-min_lot)/step_lot,0);   // нормализация лота
    value=min_lot+value*step_lot;
 
    return (value);
}

Вызов функции производить в месте использования lots.

extern int Procent=5; // процент ставки от свободного депо
Это вставить в начале вместо объявления lots.
Alexandr Galitskij
26
Alexandr Galitskij 2008.02.11 22:58  
Chipito:

Что-то я немного запутался, подскажите плиз. Нужно к графику подключать индикаторы или нет? Просто я чего спрашиваю: Оптимизировал для USDJPY.  Вход в рынок в 9-00, а советних не открыл ни одного ордера.Вот меня и терзают смутные сомнения, может я что-то не так сделал.


Нет, подключать ничего не надо. Просто открывает он не каждый день.
Елена
866
Елена 2008.02.12 12:43  
Можно выложить работающий вариант этого советника?
/ /1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий