Советники: Мастер MQL5 - Торговые сигналы свечных паттернов 3 Black Crows/3 White Soldiers + Stochastic

 

Мастер MQL5 - Торговые сигналы свечных паттернов 3 Black Crows/3 White Soldiers + Stochastic:

С появлением Мастера MQL5 появилась возможность автоматической генерации кода советника на базе классов торговых сигналов, сопровождения позиций и управления капиталом. Помимо классов торговых сигналов из Стандартной библиотеки, вы можете создавать и тестировать свои собственные торговые системы, для этого достаточно написать модуль торговых сигналов.

В книге "Стратегии лучших трейдеров мира" описаны индикаторы и торговые стратегии для технического анализа с использованием программного пакета MetaStock. Наряду с традиционными, в ней рассмотрены торговые сигналы, основанные на совместном использовании разворотных свечных моделей с подтверждением от осцилляторов Stochastic, CCI, MFI и RSI.

Использование "разворотных" свечных моделей совместно с сигналами осцилляторов позволяет сократить количество ложных сигналов и повысить эффективность торговой системы.

В данной работе мы рассмотрим результаты использования моделей 3 Black Crows (три черные вороны) и 3 White Soldiers (3 белых солдата) в комбинации с сигналами индикатора Stochastic.

Свечной паттерн "3 Black Crows"  Свечной паттерн "3 White Soldiers"

Автор: MetaQuotes Software Corp.

Результаты тестирования советника, построенного на базе генератора торговых сигналов "3 Black Crows/3 White Soldiers + Stochastic"

 
Есть ли у вас версия этого индикатора для MT4?
 

- Результаты голосования основного модуля также используются при усреднении "голосов". В нашем случае мы имеем: основной модуль + 1 модуль торговых сигналов, поэтому нам необходимо учитывать этот факт при установке пороговых значений. В связи с этим пороговые значения ThresholdOpen и ThresholdClose должны быть установлены как 40=(0+80)/2 и 20=(0+40)/2. -


это приводит к ошибке,

ThresholdOpen и ThresholdClose должны быть установлены как 80=(0+80)/1 и 40=(0+40)/1.


 
Доброго! Подскажите пожалуйста. У меня есть расчетное время разворота рынка if(TimeCurrent()== blok_1_time_1_1). Как мне использовать Ваши 3 коня и 3 ворона в мою функцию?. Я посмотрел Вашу реализацию и не смог применить к себе. Хотел вот так :.." ...if(3БЕЛЫХ && (rvi[0]>rvi[count-1]))....Заранее Благодарю
//+------------------------------------------------------------------+
//| Search trading signals                                           |
//+------------------------------------------------------------------+
bool SearchTradingSignals(void)
  {
   double rvi[];
   ArraySetAsSeries(rvi,true);
   int start_pos=m_bar_current,count=(InpRVIKinkLength<3)?3:InpRVIKinkLength;
   if(!iGetArray(handle_iRVI,InpRVILines,start_pos,count,rvi))
      return(false);

   int size_need_position=ArraySize(SPosition);
//--- trend UP
 if(m_prev_bars==m_last_deal_in)  return(true);ArrayResize(SPosition,size_need_position+1);SPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
  //---------------------------------- FishingLake_1-----------------------------------------------
if(TimeCurrent()== blok_1_time_1_1) { if(rvi[0]>rvi[count-1]) 
 { int bar=-1;for(int i=1; i<count-1; i++) {if(rvi[i]<rvi[0] && rvi[i]<rvi[count-1]) bar=i;else {  bar=-1; break;}}if(bar==-1) return(true);}if(m_prev_bars==m_last_deal_in)  return(true);ArrayResize(SPosition,size_need_position+1);SPosition[size_need_position].pos_type=POSITION_TYPE_BUY;}
//--- trend DOWN
 //---------------------------------- FishingLake_1-----------------------------------------------
if(TimeCurrent()== blok_1_time_1_1) { if(rvi[0]<rvi[count-1])
 { int bar=-1; for(int i=1; i<count-1; i++) {if(rvi[i]>rvi[0] && rvi[i]>rvi[count-1]) bar=i;else{ bar=-1;  break; }} if(bar==-1)return(true);}if(m_prev_bars==m_last_deal_in)  return(true);ArrayResize(SPosition,size_need_position+1);SPosition[size_need_position].pos_type=POSITION_TYPE_SELL;}
   
//---
   return(true);