Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересуют возможности MetaTrader 5? Загляни и узнай!
Михаил
77
Михаил 2013.03.25 13:42 
MA1_0=iMA(NULL,0, MA1_Period, MA1_Shift,MAMethod(MA1_Method), MAPrice(MA1_Price), 0);    // Текущее    значение 1-й МА
   MA1_1=iMA(NULL,0, MA1_Period, MA1_Shift,MAMethod(MA1_Method), MAPrice(MA1_Price), 1);    // Предыдущее значение 1-й МА
   MA2_0=iMA(NULL,0, MA2_Period, MA2_Shift,MAMethod(MA2_Method), MAPrice(MA2_Price), 0);    // Текущее    значение 2-й МА
   MA2_1=iMA(NULL,0, MA2_Period, MA2_Shift,MAMethod(MA2_Method), MAPrice(MA2_Price), 1);    // Предыдущее значение 2-й МА

        if(IntersectFlag == false)
        {   
             if(CrossPositionOpen() == 1) //Ф-ция, проверяющая пересечение МА. Пересекло снизу вверх
               {
               IntersectFlag = true;
               Price = Bid; //Запоминаем цену
               ABars = Bars; //Запоминаем кол-во свечей
               }
          //---- buy conditions
             if(CrossPositionOpen() == 2) //Ф-ция, проверяющая пересечение МА. Пересекло сверху вниз
               {
               IntersectFlag = true;
               Price = Bid; //Запоминаем цену
               ABars = Bars; //Запоминаем кол-во свечей
               }          
         }
               
               
        if(IntersectFlag == true)
        {
               if(CrossPositionClose() == 1) //Ф-ция, проверяющая пересечение МА. Пересекло снизу вверх
               {
               IntersectFlag = false;
               for(i=0; i<Bars-ABars; i++)
                  {
                  if(Low[i] >  MA && High[i] >  MA) //Как проверить мувинг аверэйдж???
                     {
                     
                     break;
                     }
                  }
               }
          //---- buy conditions
             if(CrossPositionClose() == 2) //Ф-ция, проверяющая пересечение МА. Пересекло сверху вниз
               {
               IntersectFlag = false;
               for(i=0; i<Bars-ABars; i++)
                  {
                  if(Low[i] <  MA && High[i] >  MA) //Как проверить мувинг аверэйдж????
                     {
                     
                     break;
                     }
                  }
               }    
         }
Дано ТЗ. Классика : длинная и короткая машка. Условие : короткая пересекает длинную, затем пересекает ее снова, в период между пересечениями, если Н свечей находилось выше (или ниже, смотря как пересекает), то через К кол-во пунктов мы входим в рынок. Подскажите пожалуйста, каким образом проверить, что цена была выше/ниже машки в период между пересечениями. 
Igor Kim
2764
Igor Kim 2013.03.25 16:50  

Я бы сделал по другому:

  1. Все действия выполняем справа налево , от нулевого (текущего) бара и вглубь истории.
  2. Ищем номер бара первого пересечения машек.
  3. Ищем номер бара второго пересечения машек.
  4. Между барами проверяем машки, свечи и что там ещё нужно.
  5. Если нашли, что хотели, то ставим ордер через нужное количество пунктов, предварительно проверив, что его (ордера) нет.
ktest0
631
ktest0 2013.03.25 17:10  

Все просто... 

Если хай свечи находится выше машки или лоу ниже. 

Михаил
77
Михаил 2013.03.26 08:59  

KimIV, тоже интересное решение, попробую! Когда начинал, неоднократно пользовался вашими функциями, спасибо вам =) 

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

               for(i=0; i<Bars-ABars; i++) //Начинаем проходить свечи от 0 к первому пересечению ?
                  {
                  if(Low[i] >  MA? && High[i] >  MA?) //Как проверить мувинг аверэйдж???
                     {
                     
                     break;
                     }
Igor Kim
2764
Igor Kim 2013.03.26 09:38  
Stingerrr:

но как именно мне правильно взять определенное значение машки в тот момент, чтобы проверить в этом месте ?

Здесь смотрите параметр shift - это номер бара.
Михаил
77
Михаил 2013.03.26 11:50  
Получилось, спасибо!
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий