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

 
Andrei Sokolov #:

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

Если где-то даже косвенно писали заказчику предложение оплаты вне заказа на сервисе фриланс, то это и есть причина блокировки. Иначе - решайте через сервисдеск.

 
Artyom Trishkin #:

Если где-то даже косвенно писали заказчику предложение оплаты вне заказа на сервисе фриланс, то это и есть причина блокировки. Иначе - решайте через сервисдеск.

Я таким не занимаюсь. Заказ на сервисе был полностью выполнен и принят.  На момент закрытия ex и mq файлы были переданы (через телеграм) и вопросов у заказчика не было, им оставлен отзыв с оценкой 5. После закрытия работы он обратился за доработкой, где понадобилось добавление новой логики. Я быстро сделал и передал ему .ex файл и предложил оплатить, он отказал, на что я отказался передать .mq файл. После он снова обратился за доработкой, я спросил будет ли работа оплачена, он начал истерить и мы не договорились. После сам сервис в чате заказа запросил исходный файл. Я не стал расписывать ситуацию тк на тот момент очень устал от этой темы и прикрепил mq файл с доработкой которая не была оплачена. После обнаружил что нет возможности брать заказы.


 

Коллеги подскажите как оптимально сделать SMA для индикатора по свечам спреда по ценам открытия можно сам делаю - пока не могу сделать... рисует горизонт на уровне 0 и всё...) сам правлю, можно через функцию.

У кого то может уже опыта больше и глаз набит на эти вещи - вроде ок делаю и статьи читаю как SMA делать... статьи читаю.... учу как МА делать и эту тоже  и эту

//+------------------------------------------------------------------+
//| Calculate SMA function                                           |
//+------------------------------------------------------------------+
void CalculateSMA(double &priceBuffer[], double &maBuffer[], int maPeriod, int rates_total, int prev_calculated)
{
   int start;
   
   if(prev_calculated == 0)
   {
      ArrayInitialize(maBuffer, EMPTY_VALUE);
      start = maPeriod;
   }
   else
   {
      start = prev_calculated - 1;
   }
   
   for(int i = start; i < rates_total && !IsStopped(); i++)
   {
      double sum = 0.0;
      int count = 0;
      
      for(int j = 0; j < maPeriod && (i-j) >= 0; j++)
      {
         sum += priceBuffer[i-j];
         count++;
      }
      
      if(count > 0)
      {
         maBuffer[i] = NormalizeDouble(sum / count, _Digits);
      }
      else
      {
         maBuffer[i] = EMPTY_VALUE;
      }
   }
}

индикатор во вложении.

должен отображать кривую в подокне  золотистым цветом


Скользящая средняя на MQL5 с нуля: Просто и доступно
Скользящая средняя на MQL5 с нуля: Просто и доступно
  • 2024.11.18
  • www.mql5.com
На простых примерах разберём принципы расчётов скользящих средних, узнаем о способах оптимизации расчётов индикаторов и, соответственно — скользящих средних.
Файлы:
 
Roman Shiredchenko #:

Коллеги подскажите как оптимально сделать SMA для индикатора по свечам спреда по ценам открытия можно сам делаю - пока не могу сделать... рисует горизонт на уровне 0 и всё...) сам правлю, можно через функцию.

У кого то может уже опыта больше и глаз набит на эти вещи - вроде ок делаю и статьи читаю как SMA делать... статьи читаю.... учу как МА делать и эту тоже  и эту

индикатор во вложении.

должен отображать кривую в подокне  золотистым цветом


Дык есть же в терминале стандартная МА. Зачем нужны пляски с бубном?

Есть и 

iMAOnArray

Возвращает значение технического индикатора Moving Average, рассчитанного на данных, хранящихся в массиве.

 
Roman Shiredchenko #:

Коллеги подскажите как оптимально сделать SMA для индикатора по свечам спреда по ценам открытия можно сам делаю - пока не могу сделать... рисует горизонт на уровне 0 и всё...) сам правлю, можно через функцию.

У кого то может уже опыта больше и глаз набит на эти вещи - 


Мой глаз говорит что если нули там где не не должно быть нулей то нужно использовать отладчик для выявления причины.

Буду рада подсказать если при использовании отладчика будут неразрешимые вопросы.

 
Vitaly Murlenko #:

Дык есть же в терминале стандартная МА. Зачем нужны пляски с бубном?

Есть и 

iMAOnArray

Возвращает значение технического индикатора Moving Average, рассчитанного на данных, хранящихся в массиве.

МА - там на предыдущее зн-ие индикатора... я просто буфером отдельным хотел.... для исп-ия потом в роботе...

Как мне потом стандартную МА с индикатора по свечам с цен открытия в роботе считывать? 


iMAOnArray  -да - смотрел - но почему то никак он ее не подсвечивает 

почему она не подсвечена? 

 
Andrei Sokolov #:

Мой глаз говорит что если нули там где не не должно быть нулей то нужно использовать отладчик для выявления причины.

Буду рад подсказать если при использовании отладчика будут неразрешимые вопросы.

ок
 
Roman Shiredchenko #:
ок
В spread 13 inv.mq4 смотри логику.сам переписываю его на петёрку.У тебя он есть.Тут хрень тебе всякую советуют
 
Arch #:
В spread 13 inv.mq4 смотри логику.сам переписываю его на петёрку.У тебя он есть.Тут хрень тебе всякую советуют
А..
. Ок. Гляну.... 
 

Новый компилятор выдаёт предупреждение на такой код

CPoint tmp=p[0];
struct CPoint' initialized from type type 'CPoint' using assignment operator, this behavior is deprecated and will be removed in future
struct CPoint' инициализирован из типа 'CPoint' с помощью оператора присваивания, это поведение устарело и будет удалено в будущем.

то есть на глобале объявлена структура

struct CPoint
  {
   int               x;             
   int               y;              
  };

Теперь обычную структуру нужно копировать как-то по-другому.

Вопрос как?

Поэлементно?

Или есть какой то более красивый способ, а то ведь в структурах бывает и поболее чем два элемента.