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

 
gross >>:

Здравствуйте, решил занятся изучением MQL4, начал работать с массивами, возник вопрос: при выводе элемента Time[] выходит такое вот значение 1264149780, вместо вида 2006.11.01 14:35 к примеру, или возможно 1264149780 это координата?

почитайте https://docs.mql4.com/ru/convert/TimeToStr

1264149780 это количество секунд, прошедшее с 01.01.1970

 
alsu писал(а) >>

ищите еще логические ошибки.

SRC - это так:

Нашел логическую ошибку все совпадает.
Теперь скриптик выглядит так, может кому будет интересно:
int start()
  {
int Period_CCI=18;
int Period_MA=9;
double MApoCCI;
double ind_CCI,ind_CCI_2;
double Sum_CCI;
for (int k=0;k<5;k++)
  {
      for (int i=1+k;i<Period_MA+1;i++)
       {
         ind_CCI= iCCI(Symbol(),0,Period_CCI,PRICE_TYPICAL,i);
         Sum_CCI=Sum_CCI+ind_CCI;
       }
     MApoCCI=Sum_CCI/Period_MA;
     int n=k+1;
     ind_CCI_2= iCCI(Symbol(),0,Period_CCI,PRICE_TYPICAL,n);
     Alert("MA по СиСиАй "+k+" = "+MApoCCI);
     Alert("СиСиАй "+k+" = "+ind_CCI_2);
     Sum_CCI=0;
}
//----
   return(0);
  }
 
Vekker писал(а) >>

Так нужен скрипт или индикатор?

Как пример индикатора

Файлы:
 
Vinin писал(а) >>

Так нужен скрипт или индикатор?

Как пример индикатора

Этот скрипт будет потом в советнике - как скрипт он был написан для проверки работоспособности этого кусочка и правильности выдаваемых им цифр для посдедующей их обработки.

За приложенный индикатор спасибо -можно пояснить - он о чем?

 
Vekker писал(а) >>

Этот скрипт будет потом в советнике - как скрипт он был написан для проверки работоспособности этого кусочка и правильности выдаваемых им цифр для посдедующей их обработки.

За приложенный индикатор спасибо -можно пояснить - он о чем?

// Строим WPR

for (i=limit;i>0;i--) WPR[i]=iWPR(NULL,0,WPR.Period,i);

// Первое сглаживание
for (i=limit;i>0;i--) EMA1[i]=iMAOnArray(WPR,0,EMA.1.Period,0,MODE_EMA,i);

// Второе сглаживание
for (i=limit;i>0;i--) EMA2[i]=iMAOnArray(EMA1,0,EMA.2.Period,0,MODE_EMA,i);

Надо делать индикатор, который можно потом использовать в советнике.

Так лучше и быстрее будет

 

Подскажите, пожалуйста, в чем тут загвоздка? Даю два куска кода, которые закрывают все сделки одного направления:

for(ii=0;ii<OrdersTotal();ii++)
      {
        OrderSelect(ii,SELECT_BY_POS,MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if(closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if(closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

и второй:

for(ii=OrdersTotal();ii>0;ii--)
      {
        OrderSelect(ii,SELECT_BY_POS,MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if(closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if(closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

Вроде бы все тоже самое, только второй должен закрывать сделки, начиная с последней, а первый - начиная с первой.

Так вот, первый работает правильно, все сделки закрываются, а вот второй закрывает только самую последнюю сделку, а остальные - нет. Почему?

 
Azimuth >>:

Подскажите, пожалуйста, в чем тут загвоздка? Даю два куска кода, которые закрывают все сделки одного направления:

и второй:

Вроде бы все тоже самое, только второй должен закрывать сделки, начиная с последней, а первый - начиная с первой.

Так вот, первый работает правильно, все сделки закрываются, а вот второй закрывает только самую последнюю сделку, а остальные - нет. Почему?

Странное использование return, условия и вложенность if можно сократить.

if ((OrderType()==OP_BUY) && (closelong==1))


А при обратном отсчете может OrdersTotal на единичку грохать.


 
Подскажите как заставить работать зигзаг в тестере. Запускаю скрипт ищущий точки разворота, а он выдаёт результаты с окна котировок реальных, это не первый индикатор который так делает. Как с этим бороться.
 
Andrei-1 писал(а) >>
Подскажите как заставить работать зигзаг в тестере. Запускаю скрипт ищущий точки разворота, а он выдаёт результаты с окна котировок реальных, это не первый индикатор который так делает. Как с этим бороться.

Зигзаг накинутый на график в режиме визуализации заглядывает в будущее.

Могу дать зигзаг, который в будущее не заглядывает

 
Будем пробовать.
Причина обращения: