как поставить коды для осциляторов

 
Есть конкретный вопрос - смотрите , когда я выставляю Стохастик в советнике и задаю его параметры , он конечно срабатывает при пересичений линий , но проблема в том что я не знаю как сделать так чтобы он покупал только в зоне перепроданности ( 20 ) , и продавал в зоне перекупленности ( 80 ) ... Владимир помогите пожалуйста - где и как мне нужно выставить данные для этой функции ... Буду вам благодарен !!!
 
financion.comission:
Есть конкретный вопрос - смотрите , когда я выставляю Стохастик в советнике и задаю его параметры , он конечно срабатывает при пересичений линий , но проблема в том что я не знаю как сделать так чтобы он покупал только в зоне перепроданности ( 20 ) , и продавал в зоне перекупленности ( 80 ) ... Владимир помогите пожалуйста - где и как мне нужно выставить данные для этой функции ... Буду вам благодарен !!!

Пример кода: RSI intrazone trading Simple.

RSI intrazone trading Simple
RSI intrazone trading Simple
  • www.mql5.com
Торговля только внутри зон индикатора iRSI (Relative Strength Index, RSI)
 
Если rsi  текущего/предыдущего бара равен больше 80, то продавать. Аналогично покупать 
 
Vladimir Karputov:

Пример кода: RSI intrazone trading Simple.

скажите , а эти параметры можно задать в советнике "" сгенерировать "" , или нужно писать в ввиде кодов в советнике  "" шаблон ""

спасибо заранее ...! 

 
financion.comission:

скажите , а эти параметры можно задать в советнике "" сгенерировать "" , или нужно писать в ввиде кодов в советнике  "" шаблон ""

спасибо заранее ...! 

Это готовый советник. Нет никаких "сгенерировать" и "шаблон".

Непосредственно блок который отвечает за формирование торгового сигнала - это функция SearchTradingSignals.

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

//+------------------------------------------------------------------+
//| Search trading signals                                           |
//+------------------------------------------------------------------+
bool SearchTradingSignals(void)
  {
   if(m_prev_bars==m_last_deal_in) // on one bar - only one deal
      return(true);
   double rsi[];
   ArraySetAsSeries(rsi,true);
   int start_pos=0,count=3;
   if(!iGetArray(handle_iRSI,0,start_pos,count,rsi))
      return(false);
   int size_need_position=ArraySize(SPosition);
//--- BUY Signal
   if(rsi[m_bar_current]>Inp_RSI_Level_Up)
     {
      if(!InpReverse)
        {
         ArrayResize(SPosition,size_need_position+1);
         SPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
         if(InpPrintLog)
            Print(__FILE__," ",__FUNCTION__,", OK: ","Signal BUY");
         return(true);
        }
      else
        {
         ArrayResize(SPosition,size_need_position+1);
         SPosition[size_need_position].pos_type=POSITION_TYPE_SELL;
         if(InpPrintLog)
            Print(__FILE__," ",__FUNCTION__,", OK: ","Signal SELL");
         return(true);
        }
     }
//--- SELL Signal
   if(rsi[m_bar_current]<Inp_RSI_Level_Down)
     {
      if(!InpReverse)
        {
         ArrayResize(SPosition,size_need_position+1);
         SPosition[size_need_position].pos_type=POSITION_TYPE_SELL;
         if(InpPrintLog)
            Print(__FILE__," ",__FUNCTION__,", OK: ","Signal SELL");
         return(true);
        }
      else
        {
         ArrayResize(SPosition,size_need_position+1);
         SPosition[size_need_position].pos_type=POSITION_TYPE_BUY;
         if(InpPrintLog)
            Print(__FILE__," ",__FUNCTION__,", OK: ","Signal BUY");
         return(true);
        }
     }
//---
   return(true);
  }
 
financion.comission:
Есть конкретный вопрос - смотрите , когда я выставляю Стохастик в советнике и задаю его параметры , он конечно срабатывает при пересичений линий , но проблема в том что я не знаю как сделать так чтобы он покупал только в зоне перепроданности ( 20 ) , и продавал в зоне перекупленности ( 80 ) ... Владимир помогите пожалуйста - где и как мне нужно выставить данные для этой функции ... Буду вам благодарен !!!

Вот из терминала эксперт - с которым можно экспериментировать. 

тут можно индикатор менять 

//+------------------------------------------------------------------+
//| Initialization of the indicators                                 |
//+------------------------------------------------------------------+
bool CSampleExpert::InitIndicators(void)
  {
//--- create MACD indicator
   if(m_handle_macd==INVALID_HANDLE)
      if((m_handle_macd=iStochastic(NULL,0,5,3,3,MODE_SMA,STO_LOWHIGH))==INVALID_HANDLE)
        {
         printf("Error creating MACD indicator");
         return(false);
        }
//--- succeed
   return(true);
  }
//+------------------------------------------------------------------+

вот можно так со стохастик 

//--- check for long position (BUY) possibility
   if(m_macd_current<20)
      if(m_macd_current>m_signal_current && m_macd_previous<m_signal_previous)
         if(MathAbs(m_macd_current)>(m_macd_open_level))
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//--- check for short position (SELL) possibility
   if(m_macd_current>80)
      if(m_macd_current<m_signal_current && m_macd_previous>m_signal_previous)
         if(m_macd_current>(m_macd_open_level))

а вот можно испытать его в тестере 

Файлы:
0001.mq5  23 kb
 

господа спасибо что отвечаете я это очень ценю ... но к сожалению ничего не работает ... как думаете почему ? я вам вышлю заодно и коды с моего - скажете что там нужно подправить чтобы был диапазон нужный ... 

***

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • 2021.04.21
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
SanAlex:

Вот из терминала эксперт - с которым можно экспериментировать. 

тут можно индикатор менять 

вот можно так со стохастик 

а вот можно испытать его в тестере 

господа спасибо что отвечаете я это очень ценю ... но к сожалению ничего не работает ... как думаете почему ? я вам вышлю заодно и коды с моего - скажете что там нужно подправить чтобы был диапазон нужный

***

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • 2021.04.21
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
financion.comission:

господа спасибо что отвечаете я это очень ценю ... но к сожалению ничего не работает ... как думаете почему ? я вам вышлю заодно и коды с моего - скажете что там нужно подправить чтобы был диапазон нужный ... 

***

Пожалуйста код вставляйте при помощи кнопки  Code (нажимаете кнопку, затем в появившееся окно вставляете свой код) или прикрепляйте код при помощи кнопки  Прикрепить файл.

 
Vladimir Karputov:

Пожалуйста код вставляйте при помощи кнопки   (нажали кнопку, в появившееся окно вставили код) или прикрепляйте код при помощи кнопки  .

спасибо что отвечаете .. владимир я поставил как вы сказали и у меня выдало 54 ошибки и 8 предупреждений с ваших кодов ... это печально ... что будем делать ? ? 

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

***

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • 2021.04.21
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
нам нужно просто настроить диапазон !!! 
Причина обращения: