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

 
Sergey Likho:

На маркете платные продукты шифруются. Тут все понятно. 

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


Бесплатные, какие откуда и куда ?

P.S. Продукты называть не надо конечно. Просто откуда продукты взяты ?

 
Sergey Likho:

На маркете платные продукты шифруются. Тут все понятно. 

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

И правильно сделано. Я бы так же сделал хотя бы по двум причинам:

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

- Чтобы копии бесплатных продуктов не распространялись по всему интернету (в том числе и платно некоторыми предприимчивыми товарищами, да ещё и не тратя ресурсы, например, на работу модераторов и переводчиков в маркете), и пользователи шли за скачиванием бесплатных продуктов только на сайт (в маркет) компании, а не расходились по всему интернету. Это и реклама (компании и её услуг в целом, в том числе других, уже платных продуктов) и статистика и много чего ещё можно перечислить.

 
Ребята. Помогите кто разбирается. Эта функция определяет минимальное и максимальное значения свечи за какой либо период.
   for(i=pos; i<rates_total && !IsStopped(); i++)
     {
      double dmin=1000000.0;
      double dmax=-1000000.0;
      for(k=i-InpKPeriod+1; k<=i; k++)
        {
         if(dmin>low[k])
            dmin=low[k];
         if(dmax<high[k])
            dmax=high[k];
        }
      ExtLowesBuffer[i]=dmin;
      ExtHighesBuffer[i]=dmax;
     }
Можно как то изменить и чтобы вычислял минимльное и максимальное значения МА за этот период? Например iMA(NULL,60,24,0,1,0,0)
 
Rustam Bikbulatov:
Ребята. Помогите кто разбирается. Эта функция определяет минимальное и максимальное значения свечи за какой либо период.Можно как то изменить и чтобы вычислял минимльное и максимальное значения МА за этот период? Например iMA(NULL,60,24,0,1,0,0)

Вместо low[k] и high[k] используйте iMA(), в которой последним параметром должно быть k

 
Artyom Trishkin:

Вместо low[k] и high[k] используйте iMA(), в которой последним параметром должно быть k


Уже пробовал и несколько раз) индикатр показывает совсем не то что надо.  думал еще кто что знает

 
Rustam Bikbulatov:

Уже пробовал и несколько раз) индикатр показывает совсем не то что надо.  думал еще кто что знает

Вы не показываете что вы пробовали...

 
Artyom Trishkin:

Вы не показываете что вы пробовали...

Так?
   for(i=pos; i<rates_total && !IsStopped(); i++)
     {
      double dmin=1000000.0;
      double dmax=-1000000.0;
      for(k=i-InpKPeriod+1; k<=i; k++)
        {
         if(dmin>iMA(NULL,1,60,0,1,0,k))
            dmin=iMA(NULL,1,60,0,1,0,k);
         if(dmax<iMA(NULL,1,60,0,1,0,k))
            dmax=iMA(NULL,1,60,0,1,0,k);
        }
      ExtLowesBuffer[i]=dmin;
      ExtHighesBuffer[i]=dmax;
     }
 
Rustam Bikbulatov:
Так?

А так?

for(i=pos; i<rates_total && !IsStopped(); i++)
     {
      double dmin=DBL_MAX, dmax=0;
      for(k=i-InpKPeriod+1; k<=i; k++)
        {
         double ima=iMA(Symbol(),PERIOD_CURRENT,60,0,MODE_EMA,PRICE_CLOSE,k);
         if(ima<dmin) dmin=ima;
         if(dmax>ima) dmax=ima;
        }
      ExtLowesBuffer[i]=dmin;
      ExtHighesBuffer[i]=dmax;
     }
 
Artyom Trishkin:

А так?


так не пробовал)

 
Artyom Trishkin:

А так?


все равно не то на индикаторе((( спасибо все равно. буду дальше разбираться(

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