Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 779

 
volyal:

В том варианте после первого сигнала alerton == false значит по второй дате сигнала не будет.

Так, не сигналит и стрелку не ставит. Тики были в указанном  промежутке

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

for(int i=limit; i>=0; i--) 
        {
        datetime t = TimeCurrent();
         if( (t >= Input1 && t < Input1 +60)  || ( t >= Input2 && t < Input2+60 ) || ( t >= Input3 && t < Input3+60) )
           {
            BufferUP[i]=low[i]-10*Point;//

            Alert("__",TimeCurrent());
           }
        }

наоборот нужно

datetime t = TimeCurrent();
if( (t >= Input1 && t < Input1 +60)  || ( t >= Input2 && t < Input2+60 ) || ( t >= Input3 && t < Input3+60) )
  {
  Alert("__",TimeCurrent());
  for(int i=limit; i>=0; i--) 
   {
    BufferUP[i]=low[i]-10*Point;//
   }
 }

почему не сигналит? даже предположить не могу, условия четкие должен работать

 
Igor Makanu:

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

наоборот нужно

почему не сигналит? даже предположить не могу, условия четкие должен работать

Спасибо, так сигналит, но стрелки ставит на каждом баре в истории. хочу чтобы ставил только  те даты, которые в переменных , например 23 февраля и 5 марта в 23:55

input datetime Input1=D'23.02.2019 23:55';
input datetime Input2=D'05.03.2019 23:55';

Извините что сразу не сказал.

 
volyal:

Спасибо, так сигналит, но стрелки ставит на каждом баре в истории. хочу чтобы ставил только  те даты, которые в переменных , например 23 февраля и 5 марта в 23:55

Извините что сразу не сказал.

даты нужно искать с помощью iBarShift() - она вернет номер бара где Вы хотите ставить стрелку

 
Igor Makanu:

даты нужно искать с помощью iBarShift() - она вернет номер бара где Вы хотите ставить стрелку

Спасибо
 
Alexey Viktorov:
Спасибо за комплимент, но ты слишком грубо льстишь. Я пятый класс закончил в одна тысяча девятьсот шестьдесят шестом году. Ты уже родился???

В шестьдесят шестом мы таких самоуверенных в туалете тузили. 

Не место здесь себя пиарить, да и не то ты считаешь своим достоинством. Лучше бы знания продемонстрировал. А то ты всё больше бла-бла-бла...

 

Добрый день! Есть линия, мне нужно ее заставить двигаться за новой(рассчитанной ценой)

Нужно чтобы когда  переменная sred получала новую цену, Горизонтальная линия двигался за ней.

//--- расчет максимального значения закрытия\открытия  цены на кол-во выбранных последовательных барах(max)

   int high_in=iHighest(NULL,0,MODE_OPEN,max);
   int high_in2= iHighest(NULL,0,MODE_CLOSE,max);
   bigs=Open[high_in];
   big2=Close[high_in2];
   if (big2>=bigs) big_g=big2;
   else big_g=bigs;
   
//--- расчет минимального значения закрытия\открытия  цены на кол-во выбранных последовательных барах(min)
   
   int small_in= iLowest(NULL,0,MODE_OPEN,min);
   int small_in2= iLowest(NULL,0,MODE_CLOSE,min);
   small=Open[small_in];
   small2=Close[small_in2];
   if (small<=small2) small_g=small;//Проверка если цена открытия меньше цены закрытия, то действие будет выполняться по открытию.
   else small_g=small2;// или если нет то по закрытию
  
  sred=(big_g-small_g)/2+small_g;
  
  ObjectCreate("HLine",OBJ_HLINE,0,0,sred);
 
anatoliy.r:

Добрый день! Есть линия, мне нужно ее заставить двигаться за новой(рассчитанной ценой)

Нужно чтобы когда  переменная sred получала новую цену, Горизонтальная линия двигался за ней.

Ознакомьтесь с функцией

ObjectMove

Изменяет координаты указанной точки привязки объекта.

bool  ObjectMove(
   long      chart_id,        // идентификатор графика
   string    name,            // имя объекта
   int       point_index,     // номер привязки
   datetime  time,            // время
   double    price            // цена
   );

 
Aleksey Vyazmikin:

Ознакомьтесь с функцией

ObjectMove

Изменяет координаты указанной точки привязки объекта.

bool  ObjectMove(
   long      chart_id,        // идентификатор графика
   string    name,            // имя объекта
   int       point_index,     // номер привязки
   datetime  time,            // время
   double    price            // цена
   );

Вот я ....... Так просто оказывается, получилось! Спасибо!!!)
 
Taras Slobodyanik:

индикатор показывает табличку пар/периодов - нажали на ячейку - показывает нужный тф/символ, с нужными узорами (и сканирует всё сразу, все узоры в одном индикаторе, в одном окне)
вы всё равно не смотрите сразу все 10-14 графиков

Непонятно. Мультииндикатор (ми) только переключает окна, так в терминале и так с этим нет проблем. Если считает, то по загрузке процессора 1ми=14 не ми. К тому же свалить всю графику с 14 ТФ одно окно ... это как? Плюс на каждом чате свой индикатор, который тоже считает и рисует? Загрузка 1 ми+14не ми=28 не ми. Не проще ли правильно организовать звук?

14 графиков я, конечно же сразу не смотрю, но сразу слышу.):

 
Aleksey Vyazmikin:

Это уже вопрос когнитивных особенностей отдельно взятого человека :)

Может Вам надо диджеем работать на дискотеке, а не у компьютера просиживать :)

Однако не понимаю, с Ваших слов приходится долго ждать, мелодии короткие по продолжительности, но при этом сразу приходит много сигналов - может многие из них дублирующие?

Или Вы просто один сигнал описываете группой звуковых файлов Символ+период+событие, но при этом они не столь часты?

Да, группой звуковых сигналов, иначе получается много звуковых файлов (см.#7763). А частота, то густо, то пусто. Основной анализ идет при открытии баров. Дублирующих, конечно же, нет.

И в общем то не мелодии а сообщения. Мелодии не информативны, птички были в начале, когда сигналы можно было на пальцах перечесть.):

Причина обращения: