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

 

в документации есть пример "Приведение данных типа простых структур"

При компиляции получаем warning. Я не люблю копить и тащить за собой тучу сообщений о потенциальных ошибках.

Вопрос: как этого избежать?

struct str1
  {
   double  d;
  };
//---
struct str2
  {
   long    l;
  };

void OnStart()
  {
   str1 s1;
   str2 s2;
   s1.d=MathArcsin(2.0);
   s2=s1;          // Warning: implicit struct cast
  }
 
micle:

в документации есть пример "Приведение данных типа простых структур"

При компиляции получаем warning. Я не люблю копить и тащить за собой тучу сообщений о потенциальных ошибках.

Вопрос: как этого избежать?

Снимаю вопрос. Надо сделать вот так.

s2=(str2)s1;
 

При попытке публикации картинки из МТ4 в журнале появляется сообщение Images: failed send request (login.mql5.com:443 failed).

С чем это может быть связано ? Причем, до недавнего времени все работало, а теперь не могу опубликовать скриншоты


 
Здравствуйте!я только начала изучать рынок,и хочу узнать а можно ли устанавливать сигналы,индикаторы,если не установлен вообще метатрейдер?
 
vialet:
Здравствуйте!я только начала изучать рынок,и хочу узнать а можно ли устанавливать сигналы,индикаторы,если не установлен вообще метатрейдер?
Начните с документации и  ваши вопросы отпадут.
 
vialet:
Здравствуйте!я только начала изучать рынок,и хочу узнать а можно ли устанавливать сигналы,индикаторы,если не установлен вообще метатрейдер?
Существуют разные платформы для торговли на форексе/биржах. МетаТрейдер версии 4 или 5 наиболее популярны. Если далее говорим об этой платформе, то разного рода сигналы/индикаторы/советники работают под этой платформой, так что невозможно задействовать сигналы/индикаторы/советники если не установлен МТ.
 

Пробую сколотить генератор торгового сигнала на основе пользовательского индикатора.

Возникли следующие вопросы:

1. В строке после  CiCustom можно указать любое название, к примеру обозначил его, как  "m_ind;"

2. Правильна ли эта строка?

double             Custom(int index)                   { return(m_ind.ParamDouble(index));}

Если правильно понимаю здесь получаю значение самого индикатора?

3.Не могу понять, как программа получает значение индикатора. То есть, если по аналогии с MQL4, то нужно указать имя индикатора и программа найдет его по имени. Тогда куда необходимо  вписать его имя в классе?  

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

#include <Expert\ExpertSignal.mqh>
//+------------------------------------------------------------------+
//| Класс CSampleSignal.                                             |
//| Назначение: Класс генератора торговых сигналов.                  |
//|             Является производным от класса CExpertSignal.        |
//+------------------------------------------------------------------+
class CSampleSignal : public CExpertSignal
  {
protected:
   CiCustom           m_ind;              // объект для доступа к значениям ind
   CiOpen             m_open;            // объект для доступа к ценам открытия баров
   CiClose            m_close;           // объект для доступа к ценам закрытия баров
  //--- настраиваемые параметры
   int      q;  // q - период, по которому вычисляется индикатор
   double             m_stop_loss;       // уровень установки ордера "stop loss" относительно цены открытия
   double             m_take_profit;     // уровень установки ордера "take profit" относительно цены открытия
public:
              CSampleSignal();
   //--- методы установки параметров настройки
   void               Q(int value)                 { q=value;   }
   void               StopLoss(double value)       { m_stop_loss=value;   }
   void               TakeProfit(double value)     { m_take_profit=value; }
   //--- метод проверки параметров настройки
   virtual bool       ValidationSettings();
   
   virtual bool       InitIndicators(CIndicators* indicators);

protected:
   //--- метод инициализации объектов
   bool               Initind(CIndicators* indicators);
   bool               InitOpen(CIndicators* indicators);
   bool               InitClose(CIndicators* indicators);
   //--- методы доступа к данным объектов
   double             Custom(int index)                   { return(m_ind.ParamDouble(index));}
   double             Open(int index)                     { return(m_open.GetData(index));  }
   double             Close(int index)                    { return(m_close.GetData(index)); }
  };
 
forexman77:

Пробую сколотить генератор торгового сигнала на основе пользовательского индикатора.

Возникли следующие вопросы:

1. В строке после  CiCustom можно указать любое название, к примеру обозначил его, как  "m_ind;"

2. Правильна ли эта строка?

Если правильно понимаю здесь получаю значение самого индикатора?

3.Не могу понять, как программа получает значение индикатора. То есть, если по аналогии с MQL4, то нужно указать имя индикатора и программа найдет его по имени. Тогда куда необходимо  вписать его имя в классе?  

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

1. Правильно. 

2. Непонятно. А на основе какого генератора Вы пишите сигнал? Просто гораздо удобнее изменить готовый генератор, чем писать его с нуля.

3. Опять таки не понятно. Нужно понять с какого именно индикатора будет получаться сигнал. 

 

Если не трудно, или вставляйте или прикрепляйте код целиком - вместе с шапкой.

Про генератор торговых сигналов пользовательского индикатора:  

Генератор торговых сигналов пользовательского индикатора
Генератор торговых сигналов пользовательского индикатора
  • 2013.07.19
  • Karputov Vladimir
  • www.mql5.com
Как сделать генератор торговых сигналов основанный на пользовательском индикаторе. Как создать пользовательский индикатор. Как получить доступ к данным пользовательского индикатора. Зачем нужна конструкция IS_PATTERN_USAGE(0) и model 0.
 
barabashkakvn:

1. Правильно. 

2. Непонятно. А на основе какого генератора Вы пишите сигнал? Просто гораздо удобнее изменить готовый генератор, чем писать его с нуля.

3. Опять таки не понятно. Нужно понять с какого именно индикатора будет получаться сигнал. 

 

Если не трудно, или вставляйте или прикрепляйте код целиком - вместе с шапкой.

Про генератор торговых сигналов пользовательского индикатора:  

Добрый день!

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

Индикатор "Blau_Ergodic" взял отсюда https://www.mql5.com/ru/articles/190 

Статью Вашу читал, индикатор на основе MACD. А мне нужен полностью пользовательский индикатор, поэтому не совсем понял, как применить в моем случае.

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

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

Индикаторы и торговые системы Уильяма Блау на MQL5. Часть 1: Индикаторы
Индикаторы и торговые системы Уильяма Блау на MQL5. Часть 1: Индикаторы
  • 2011.04.22
  • Andrey N. Bolkonsky
  • www.mql5.com
В статье представлено описание разработанных на MQL5 индикаторов по книге Уильяма Блау (William Blau) "Моментум, направленность и расхождение". Подход Уильяма Блау позволяет достаточно точно и с минимальным запаздыванием аппроксимировать колебания ценовой кривой, выделять тенденцию ценового движения и поворотные точки и устранять ценовой шум. При этом мы можем также получать сигналы о перекупленности/перепроданности рынка, сигналы об окончании тренда и о развороте ценового движения.
 
forexman77:

Добрый день!

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

Индикатор "Blau_Ergodic" взял отсюда https://www.mql5.com/ru/articles/190 

Статью Вашу читал, индикатор на основе MACD. А мне нужен полностью пользовательский индикатор, поэтому не совсем понял, как применить в моем случае.

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

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

Здравствуйте. 

1. Индикатор  "Blau_Ergodic" не могу использовать, так как в конце статьи нет архива. Сейчас нужен включаемый файл " WilliamBlau.mqh". Скиньте, пожалуйста этот файл (лучше через сообщение в профиле).

2. Все индикаторы в папке ...MQL5\Indicators\Examples\ - это пользовательские индикаторы, т.е. такие индикаторы, код которых Вы можете править.

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