Скачать MetaTrader 5

Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 822

User_mt5
256
User_mt5  
fxsaber:

Разработчики могут написать СБ, в которой с индикаторами можно без потери эффективности работать в MQL4-стиле. Т.е. все кеши и хендлы спрятаны в СБ.

Извините, я не понял. Здесь слово Разработчики - это те, кто создал МТ или я грешный прикладник? И СБ - это..?

User_mt5
256
User_mt5  
Vladimir Karputov:

1. В таком случае вероятно лучше неиспользуемый хендл убивать и создавать новый (главное - контроль, чтобы не нашлёпать в OnTick() миллион хендлов :) ).

2. Создаёте копию встроенного индикатора, но с другим названием (например добавить в название "depth of history") и вводите новый параметр: InpDepthHistory. То есть нужно написать новые пользовательские индикаторы. 

1. Да. Пока у меня получился 3-мерный массив одних хэндлов. Но теперь, видимо, я всё это перестрою.

2. Да. Благо, есть практически все коды техн. индикаторов. А уж свои и подавно.

Спасибо.

fxsaber
10834
fxsaber  
User_mt5:

Извините, я не понял. Здесь слово Разработчики - это те, кто создал МТ или я грешный прикладник? И СБ - это..?

MetaQuotes при желании может создать такую Стандартную Библиотеку. Большой вопрос, а нужна ли она?

User_mt5
256
User_mt5  
Alexey Viktorov:

Как я понял, вы хотите как в mql4 получать только 1 значение с помощью iCustom() но не учитываете что в mql4 тоже пересчитывался индикатор на всю глубину истории при первом обращении. Точно так-же пересчитывается и при смене хотя-бы одного параметра.

Отсюда вывод: Не надо заморачиваться. Если "устаревший" индикатор больше не нужен, его можно просто удалить и получить хендл индикатора с другими параметрами.

Хотеть-то я, может быть, и хочу. Но теперь уже и не хочу. Вы правы. Если устаревший индикатор не нужен, то давить их, гадов, как тараканов:)

Хорошее решение - ограничить глубину технических клонов. Это сэкономит ресурсы и время. Так что, теперь так и сделаю.

Спасибо.

User_mt5
256
User_mt5  
fxsaber:

MetaQuotes при желании может создать такую Стандартную Библиотеку. Большой вопрос, а нужна ли она?

Это для грядущих поколений. Я посмотрел некоторые примеры из библиотеки. Тысячи строк некомментированного кода. Не знаю кто как, а я так не умею. Так что, спасибо за идею, но просто в моём случае это неприемлемо.
fxsaber
10834
fxsaber  
User_mt5:
Это для грядущих поколений. Я посмотрел некоторые примеры из библиотеки. Тысячи строк некомментированного кода. Не знаю кто как, а я так не умею. Так что, спасибо за идею, но просто в моём случае это неприемлемо.

Вот это работает уже сейчас в MT5

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2018.01.09 10:20

Для адептов MQL4 есть древний способ работы с ТФ в MQL5 в привычном стиле

Возможно, кому-то пригодится MQL4-подход и в работе с историей тиков

if (Tick[0].bid > Tick[100].bid) // сравниваем текущий и исторический тики
  Print("Hello World!");

if (High[0] > Close[100]) // https://www.mql5.com/ru/forum/42122/page24#comment_2904023
  Print("Hello World!");

Технически ничто не мешает подобное же ОДИН РАЗ сделать и с индикаторами (без потерь в эффективности) и поместить решение в СБ.

User_mt5
256
User_mt5  
fxsaber:

Вот это работает уже сейчас в MT5

Технически ничто не мешает подобное же ОДИН РАЗ сделать и с индикаторами (без потерь в эффективности) и поместить решение в СБ.

Может быть Вы и правы.

Но у меня иной взгляд. Думаю, что в библиотеках этих много полезного. Но эти полезности никогда не получат массового распространения. Причин тому две.

1. Обычный человек не в состоянии подробно изучать содержание библиотек, имея ввиду "авось что пригодится". Нет у обычного человека для этого ни времени, ни сил. Если бы эти библиотеки были обложены множеством активно употребляемых приложений, то некоторые программисты поинтересовались бы .

2. Пока пользователь будет изучать пятёрочные библиотеки, выйдет обновлённая и исправленная шестёрка:) Думаете нет? Ещё как. Причём построенная не просто на новой концепции, а на новой парадигме (это когда все предыдущие коды, - библиотеки, прикладные программы, - всё в корзину, как было всякий раз). А по логике так и должно быть. Кому нужны эти задомнаперёдные, "такисторическисложившиеся" массивы? Кому нужен этот эксперт, "исторически привязанный" к окну, причём тут окно? Кому вообще нужен mql, у которого нет преемственности?

Одним словом, если здесь подвизается профи, то пишет он всё преспокойно на Си, а МТ использует только как транзит: оттуда котировки, туда торговые приказы. И код его унаследуется в веках .. хоть вы десятку выпустите..
--
А мне, по малости нужд, вполне достаточно многомерных массивов и периодических консультаций здесь на форуме. Мне б понять что нужно делать, а как - я разберусь, это мелочи.
Вам спасибо, что дочитали эту галиматью :)

kvvvarvara22
9
kvvvarvara22  

Дамы и господа! Вопрос: Почему индикатор   ( iCCI ) после установленных в свойствах закрепленного минимума и максимума выходит за рамки окна, то-есть верхнею и нижнею границы. СПАСИБО!

User_mt5
256
User_mt5  

Подскажите, пожалуйста, где взять полноценный исходник индикатора Moving Average?
Казалось бы, чего проще. Но нет, в стандартном примере Custom Moving Average.mq5 представлен усечённый код (нет того, что в тех. индикаторе называется "Применить к:").

Alexey Viktorov
20742
Alexey Viktorov  
User_mt5:

Подскажите, пожалуйста, где взять полноценный исходник индикатора Moving Average?
Казалось бы, чего проще. Но нет, в стандартном примере Custom Moving Average.mq5 представлен усечённый код (нет того, что в тех. индикаторе называется "Применить к:").

(Троллинг не приветствуется - удалено Artyom Trishkin)

Тута ищи

Вот начало

//+------------------------------------------------------------------+
//|                                               MovingAverages.mqh |
//|                   Copyright 2009-2017, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009-2017, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
//+------------------------------------------------------------------+
//| Simple Moving Average                                            |
//+------------------------------------------------------------------+
double SimpleMA(const int position,const int period,const double &price[])
  {
//---
   double result=0.0;
//--- check position
   if(position>=period-1 && period>0)
     {
      //--- calculate value
      for(int i=0;i<period;i++) result+=price[position-i];
      result/=period;
     }
//---
   return(result);
  }