[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 811

 
obla4ko:

Дорогие "попутчики" и капитаны! Вопрос:как сделать, чтобы В ПРОГРАММЕ, а не простым перетаскиванием(!) - Два разных индикатора показывались в одном отдельном окне как на моем

рисунке - тут я сначала открыла ROC, а потом перетащила из навигатора" Болинджера". Когда в Болинджере прописываю indicator_separate_window - открывается в отдельном окне, но другом!?

КАК ПРОПИСАТЬ НУЖНОЕ "ОКОШКО"? :))

Не знаю, поможет ли... Но я для своих целей использую поиск окна индикатора A/D так:

WinID=WindowFind("A/D");               // Номер окна AD

Может быть, если прописать номер окна, который вернула данная функция как номер окна, в который нужно вывести следующий индикатор, то всё и получится?

Честно - не пробовал; так... идейка появилась - вам и пробовать... :)

 
artmedia70:

Не знаю, поможет ли... Но я для своих целей использую поиск окна индикатора A/D так:

Может быть, если прописать номер окна, который вернула данная функция как номер окна, в который нужно вывести следующий индикатор, то всё и получится?

Честно - не пробовал; так... идейка появилась - вам и пробовать... :)


СПАСИБО ЗА ОПЕРАТИВНЫЙ И С "ИСКОРКОЙ" ОТВЕТ! :))

Пропишу-попробую-скажу как получилось!

 
obla4ko:

СПАСИБО ЗА ОПЕРАТИВНЫЙ И С "ИСКОРКОЙ" ОТВЕТ! :))

Пропишу-попробую-скажу как получилось!

Так ведь не за что же пока... :)
 
Techno:
покажи как ты используешь функцию ilow
iLow(NULL, PERIOD_D1, 1);
как бы советник получил значение и работает себе - допустим результаты отличаются от кол-ва тиков, но тогда на каком ТаймФрэйме оптимизировать и на каком использовать?
 

Всем привет. Такой вопрос:

total = OrdersTotal();
THVOpenedPos  = 0;
StohOpenedPos = 0;
THVOpenedPos = OrdersCountTHV ();
StohOpenedPos = OrdersCountStoh ();
Comment (total); // здесь всегда 0, даже если есть открытые позиции!
int OrdersCountTHV()
{
total = OrdersTotal();
if (total >0)
   {
      for (int i = 0; i < total; i++)
      {
         if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true) 
         {
            if (OrderMagicNumber() == THVMagic)
               if (OrderSymbol()   == Symbol())  
                  {
                  THVOpenedPos++;
                     
                  }
         }
      }
   }
return (THVOpenedPos);
}

OrdersCountStoh (); аналогичен.

Почему total всегда 0?

 
MarkTrade:

Почему total всегда 0?


 обычно подсчет ордеров делается так:

int Myorders(){
      int cnt;
      total_order = OrdersTotal();
      int my_total_order = 0;
      for(cnt = total_order - 1; cnt >= 0; cnt--) {
         OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)  my_total_order++;
      }
return(my_total_order);
}
 
IgorM:


значит у Вас нет открытых ордеров, обычно подсчет ордеров делается так:

в том то и дело что есть... в тестере, в режиме визуализации прогоняю и после открытия позиции коммент не меняется :(

а подсчет ордеров дает правильные результаты...

 
MarkTrade:

в том то и дело что есть... в тестере, в режиме визуализации прогоняю и после открытия позиции коммент не меняется :(

а подсчет ордеров дает правильные результаты...


у Вас total = OrdersTotal(); видимо обьявлен в глобальных переменных (в самом верху ) и возможно Вы его где-то изменяете, попробуйте добавить

Comment (total," / ",OrdersTotal()); // здесь всегда 0, даже если есть открытые позиции! 
 

тоже самое...

 
artmedia70:
Так ведь не за что же пока... :)

УВЫ! Рано радовалась.. не берет его данная ф-ия - в упор не видит, хотя и активно перетаскивается мышью, наверное JavaScript нужна.. интересно, в MQL можно "вкрапливать" JavaScript?

Либо отдельный индюк писать как бы "ROC+BAND" в одном флаконе.. Вы, случайно, не знаете как сравнивать показания ROC и МА, или Болинджера- в каких единицах? Скажем, нужно прописать "если ROC пересекает МА снизу вверх - покупать... " - есть какие либо индексы приведения показаний одного индикатора к другому?