Как начать работу с MQL5 - страница 41

 
Vladimir Karputov #:

Пример создания индикатора на основе iATR. Часть 5.

Код: xSuperTrend.mq5

До этого момента мы выполняли подготовительные операции. Теперь пришло время написать логику индикатора.

Чтобы избежать лишних вычислений, мы всегда работаем в переменной'prev_calculated'


Помните, что в индикаторе уже есть все массивы по текущему символу (ope, high, low, close и другие) - они передаются через OnCalculate.


Сохраните номер версии 1.005


Конец.

Здравствуйте, спасибо за вашу работу, но после того, как я это сделал, у меня массив вышел за пределы диапазона для atrbuffer
 
Vladimir Karputov OnTradeTransaction).

  • Мы ловим транзакцию 'TRADE_TRANSACTION_DEAL_ADD' (добавление сделки в историю).
  • Мы пытаемся найти сделку (которая породила эту транзакцию) в истории торговли
  • Если тип сделки - BUY или SELL ('DEAL_TYPE_BUY' || 'DEAL_TYPE_SELL')
  • Если эта сделка является сделкой выхода с рынка ('DEAL_ENTRY_OUT')
  • Если эта сделка произошла в результате тейк-профита ('DEAL_REASON_TP')
  • Мы получаем в истории торговли все сделки, относящиеся к данной позиции, и выводим небольшую информацию по каждой сделке


'm_deal' - необъявленный идентификатор. Не работает.

 
Vladimir Karputov #:
m_deal.InfoInteger(DEAL_REASON,deal_reason)
m_deal.InfoInteger(DEAL_REASON,deal_reason)

возвращает булевое значение, поэтому ваше сравнение некорректно.

 
HenZen #:

'm_deal' - необъявленный идентификатор. Не работает.

игнорировать.

 
Уважаемый господин Карпутов,

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

У меня вопрос. Считаете ли вы эти две функции достаточными для подсчета отложенных ордеров и открытых позиций по магии и символу?

Спасибо за ваше время и терпение. Надеюсь, у вас все хорошо и жизнь вас радует.

//+------------------------------------------------------------------+
//|Count pending orders on this symbol and magic                     |
//+------------------------------------------------------------------+
int CountOrdersBySymbolAndMagic( string symbol,int magic)
  {
   int Orders   =  0;
   if (OrdersTotal()>0)
      for(int i=OrdersTotal()-1; i>=0; i--) 
      { 
         string   order_symbol; 
         long     order_magic; 
         if(m_order.SelectByIndex(i))
           { 
            order_symbol  =OrderGetString(ORDER_SYMBOL); 
            order_magic   =OrderGetInteger(ORDER_MAGIC); 
            if(order_symbol==symbol && order_magic==magic))
             {
             Orders++;
             }
           } 
       }
    return(Orders);
  }
//+------------------------------------------------------------------+
//| count positions on this symbol and magic                         |
//+------------------------------------------------------------------+
int CountPositionsByMagicAndSymbol( string symbol,int magic)
  {
   int positions = 0;
   if (PositionsTotal() > 0)
      for(int i=PositionsTotal()-1; i>=0; i--)
      {
         string position_symbol=PositionGetString(POSITION_SYMBOL); 
         ulong  position_magic=PositionGetInteger(POSITION_MAGIC); 
         if(m_position.SelectByIndex(i))
            { 
              position_symbol=PositionGetString(POSITION_SYMBOL); 
              position_magic=PositionGetInteger(POSITION_MAGIC); 
             if(position_symbol==symbol && position_magic==magic))
             {
              positions++;
             }
            }
      }
//---
   return(positions);
  }
 

Узнайте, зачем и как создавать свою алгоритмическую торговую систему

Основная цель этой статьи - помочь новичкам научиться разрабатывать свою алгоритмическую торговую систему на языке MQL5, изучив некоторые основы языка MQL5 для создания простой торговой системы, которая будет закодирована шаг за шагом в этой статье после объяснения некоторых основ MQL5. Мы будем кодировать их с помощью скриптов, а затем представим результат после выполнения кода. Для лучшего понимания я советую вам самостоятельно применить и закодировать то, что вы здесь прочитаете, так как это поможет вам глубже понять концепции упомянутых кодов. И учтите, что все созданные коды, программы и торговые стратегии в этой статье предназначены только для образовательных целей, а не для чего-либо еще. Также обратите внимание, что для написания кодов мы будем использовать язык MQL5.
Learn Why and How to Design Your Algorithmic Trading System
Learn Why and How to Design Your Algorithmic Trading System
  • www.mql5.com
This article shows the basics of MQL for beginners to design their Algorithmic trading system (Expert Advisor) through designing a simple algorithmic trading system after mentioning some basics of MQL5
 
Elie G #:
Уважаемый господин Карпутов,

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

У меня вопрос. Считаете ли вы эти две функции достаточными для подсчета отложенных ордеров и открытых позиций по магии и символу?

Спасибо за ваше время и терпение. Надеюсь, у вас все хорошо и жизнь вас радует.

Вероятность получить ответ от человека, к которому обратились, сильно близка к нулю.

 

Узнайте, как работать с датой и временем в MQL5

Ни от кого на финансовом рынке не скрывается, насколько важно время и как оно может влиять на торговые решения и результаты. Язык MQL5 (MetaQuotes Language 5) предлагает удивительное решение для эффективной работы с датой и временем, и именно этому мы научимся в этой статье, потому что мы увидим, как мы можем работать с этой важной темой через множество приложений, которые могут быть закодированы как часть нашей торговой системы после понимания наиболее важных аспектов этой темы в языке программирования MQL5.
Learn how to deal with date and time in MQL5
Learn how to deal with date and time in MQL5
  • www.mql5.com
A new article about a new important topic which is dealing with date and time. As traders or programmers of trading tools, it is very crucial to understand how to deal with these two aspects date and time very well and effectively. So, I will share some important information about how we can deal with date and time to create effective trading tools smoothly and simply without any complicity as much as I can.
 

Расширенные переменные и типы данных в MQL5

MQL5 - это язык программирования MetaTrader 5, который считается самой популярной торговой платформой. Он очень богат инструментами и концепциями, которые могут быть использованы для создания любой торговой системы, от простой до сложной. Наша задача как разработчиков - понять, как использовать эти инструменты и концепции для достижения цели разработки.

В этой статье мы упомянем и погрузимся глубже, чтобы узнать больше о переменных и типах данных в MQL5 и о том, как они могут быть полезны при создании или построении торгового программного обеспечения на MQL5. Мы узнаем больше о некоторых продвинутых концепциях переменных и типов данных ...
Advanced Variables and Data Types in MQL5
Advanced Variables and Data Types in MQL5
  • www.mql5.com
Variables and data types are very important topics not only in MQL5 programming but also in any programming language. MQL5 variables and data types can be categorized as simple and advanced ones. In this article, we will identify and learn about advanced ones because we already mentioned simple ones in a previous article.
 
Введение в MQL5 (часть 1): Руководство для начинающих по алгоритмическому трейдингу

Введение в MQL5 (часть 1): Руководство для начинающих по алгоритмической торговле

Без предварительного опыта программирования изучение языка MQL5 может быть сложным, но не невозможным. Для понимания MQL5, специализированного языка, созданного для алгоритмической торговли, необходимо обладать знаниями как в области программирования, так и в области финансовых рынков.

В этой статье мы рассмотрим следующие темы:

  • Введение в программирование
  • Типы программ на MQL5
  • IDE MetaEditor
  • Основы языка MQL5