Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 533

 
abeiks:

Как можно определить что графический объект с определенным именем уже находится на графике?


ObjectFind(0,"EXPERT STOPED !!!");
 
evillive:

ObjectFind(0,"EXPERT STOPED !!!");

ObjectFind то что надо, спасибо!
 
Подскажите пожалуйста как вернуть старый навигатор в metaeditor?? В старом внизу были вкладки файлы-словарь-поиск, я всегда держал поиск и что так искал что нужно(например забыл как использовать функцию, я писал ее там или часть ее и мне выводилось все что попадается с этой функцией), в новом же нет таких вкладок, и постоянно отсылает на сайты mql4|mql5.ru, а это крайне неудобно для меня.
 
Skydiver:
Подскажите пожалуйста как вернуть старый навигатор в metaeditor?? В старом внизу были вкладки файлы-словарь-поиск, я всегда держал поиск и что так искал что нужно(например забыл как использовать функцию, я писал ее там или часть ее и мне выводилось все что попадается с этой функцией), в новом же нет таких вкладок, и постоянно отсылает на сайты mql4|mql5.ru, а это крайне неудобно для меня.

Как это поиска нет???

 
evillive:

Всё это легко реализуют на заказ в отделе Работа. А если по кодобазе пошарить, то можно найти что-то похожее и собрать самому себе что нужно, правда там частенько доработка напильником нужна.

Нашел что то похожее, только в индикаторах, а отслеживание пересечений тп и сл не нашел пока.
 
AlexeyVik:

Как это поиска нет???



А как раньше прямо в метаэдиторе было нельзя? (извините картинку не могу вставить интернет плохой) Там в навигаторе поиск был, и после выбираем нужную функцию или еще чтото, и открывалась снизу (или где еще от настроек) панель инструментарий, в ней вкладка-справка.
 
Skydiver:

А как раньше прямо в метаэдиторе было нельзя? (извините картинку не могу вставить интернет плохой) Там в навигаторе поиск был, и после выбираем нужную функцию или еще чтото, и открывалась снизу (или где еще от настроек) панель инструментарий, в ней вкладка-справка.

Это хорошо, что интернет плохой. Зачем мне эта картинка? У меня хорошая память, да и ещё есть старый компилятор на компе, могу посмотреть. Ты ведь говорил что нет вкладки "Поиск"

Просто сделай как раньше, наступи на название функции или другого зарезервированного слова и нажми волшебную клавишку F1.

 

Как сделать чтобы цикл прошел один раз когда открывается новая позиция?

   if(OpenOrders>1 )
   for(cnt=0;cnt<OpenOrders;cnt++)   // scan all orders and positions. ..
   {
     OrderSelect(cnt, SELECT_BY_POS);
          if ( (OrderType() == OP_BUY || OrderType() == OP_SELL))
          {     
          if(cnt == OpenOrders-1 )                      
                  FirstOpenTime = OrderOpenTime() ;
                  
                          if(cnt == OpenOrders-2)                       
                  SecondOpenTime = OrderOpenTime() ;
          }

   }
 

Задался целью сделать индикатор. Суть следующая, если мувинг растет по отношению к предыдущему значению, получаем разницу между этими значениями и прибавляем к разнице при последующем росте и так далее. На определенном отрезке (в данном случае пять дней). Если проще допустим, в течении пяти дней было три дня в которых скользящая росла, на один, три и четыре пункта, значит текущее значение индикатора 8 пунктов. Но, фигня получается все суммируется по нарастающей.

Как сделать, так чтобы сбрасывать старые значения не брать их в расчет?

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime
//--- input parameters
extern int       Period_MA_1=21;
//--- buffers
double ExtMapBuffer1[];
extern int p=5;
double val[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),                      
    limit;
    double
    MA_1_t;
   if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars;
   ArrayInitialize(val,0);
   ArrayResize(val,p);
   for(int i=0;i<limit;i++)
   {
      for(int k=p;k>=0;k--)
        {
        double indicator_minus,indicator_plus;
        val[k]=iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,i+k) - iMA(NULL,0,21,0,MODE_EMA,PRICE_CLOSE,i+(k+1));
        if (val[k] > 0){indicator_plus=indicator_plus+val[k];}
        }
        ExtMapBuffer1[i]=indicator_plus;
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
Forexman77:

Задался целью сделать индикатор. Суть следующая, если мувинг растет по отношению к предыдущему значению, получаем разницу между этими значениями и прибавляем к разнице при последующем росте и так далее. На определенном отрезке (в данном случае пять дней). Если проще допустим, в течении пяти дней было три дня в которых скользящая росла, на один, три и четыре пункта, значит текущее значение индикатора 8 пунктов. Но, фигня получается все суммируется по нарастающей.

Как сделать, так чтобы сбрасывать старые значения не брать их в расчет?


Может это поможет.