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

 
barabashkakvn:

 Индикатор MQL5 теперь считает правильно и экономно.

Ура!! Получилось. Спасибо! Как можно заменить  переменную "price[i]"  на максимум? Если правильно понимаю она запрашивает текущую цену.

Нужно что-то подобное из MQL4 аналог iHigh, чтобы увидеть экстремальные выбросы за линию.

 
1218152019:
Подскажите пожалуйста как привязать торговые сигналы робота к реальному торговому счету на платформе uTrader TP ,проблема в том что при оформлении подписки в окне логин выскакивает комментарий,что логин торгового счета может быть только цифровой.а у меня логин это название моего почтового ящика.Как в этом случае привязать робота к своему реальному торговому счету?Заранее спасибо за ответ!

Никак.

Как подписаться на Торговые Сигналы
Как подписаться на Торговые Сигналы
  • 2012.10.09
  • MetaQuotes Software Corp.
  • www.mql5.com
Новая версия сервиса «Сигналы» на MQL5.com теперь интегрирована с торговой платформой MetaTrader 5 и позволяет трейдерам подключаться к любому сигналу, выставленному продавцом. Это означает, что вы выбираете заинтересовавшего вас поставщика торговых сигналов, подписываетесь на него – и все его сделки с этого момента повторяются на вашем счете.
 
forexman77:

Ура!! Получилось. Спасибо! Как можно заменить  переменную "price[i]"  на максимум? Если правильно понимаю она запрашивает текущую цену.

Нужно что-то подобное из MQL4 аналог iHigh, чтобы увидеть экстремальные выбросы за линию.

Когда прикрепляете индикатор к графику пощелкайте по вкладкам - там найдете выпадающий список с различными вариантами цен на которых будет расчитываться индикатор (Open, Close....)
 
barabashkakvn:
Когда прикрепляете индикатор к графику пощелкайте по вкладкам - там найдете выпадающий список с различными вариантами цен на которых будет расчитываться индикатор (Open, Close....)

В функции калькулят поставил вместо прежнего:

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
  {
и заменил price[i] на high[i]. Вроде получилось. Считает!
 
forexman77:

В функции калькулят поставил вместо прежнего:

и заменил price[i] на high[i]. Вроде получилось. Считает!
В таком случае Вы будете жестко в коде индикатора привязаны к High. Хотя тоже  правильно. Удачи!
 
barabashkakvn:
В таком случае Вы будете жестко в коде индикатора привязаны к High. Хотя тоже  правильно. Удачи!
Спасибо еще раз! Сам бы никода не смог разобраться) MQL5 гораздо более сложный язык чем MQL4.
 

Необходимо получить время или индекс бара полученного с помощью функции ArrayMaximum.

Удалось получить максимум, общее кол-во баров. А дальше не понятно.

double High[];
int i=0;
int k=12;
CopyHigh(_Symbol,_Period,i,k,High);
double Maxi=High[ArrayMaximum(High)]//получено значение максимума 
Alert("Maxi=",Maxi);
int e=ArraySize(High);//получено общее кол-во баров  
Alert("e=",e);
Документация по MQL5: Операции с массивами / ArrayMaximum
Документация по MQL5: Операции с массивами / ArrayMaximum
  • www.mql5.com
Операции с массивами / ArrayMaximum - Документация по MQL5
 
forexman77:

Необходимо получить время или индекс бара полученного с помощью функции ArrayMaximum.

Удалось получить максимум, общее кол-во баров. А дальше не понятно.

Прочтите справку про ArrayMaximum https://www.mql5.com/ru/docs/array/arraymaximum

Индекс бара Вы уже получили.

Документация по MQL5: Операции с массивами / ArrayMaximum
Документация по MQL5: Операции с массивами / ArrayMaximum
  • www.mql5.com
Операции с массивами / ArrayMaximum - Документация по MQL5
 
barabashkakvn:

Прочтите справку про ArrayMaximum https://www.mql5.com/ru/docs/array/arraymaximum

Индекс бара Вы уже получили.

Спасибо! Индекс извлек. Теперь не получается получить его правильное время. Использую для этого функцию CopyTime.

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

double High[];
datetime Time[];
int i=0;
int k=31;
CopyHigh(_Symbol,_Period,i,k,High);
double Maxi=High[ArrayMaximum(High)];
int s=ArrayMaximum(High,i,k);
int start = s;// индекс бара
int count = 1; // количество баров
CopyTime(_Symbol,_Period,s,count,Time);
Alert("Time=",Time[0]);
Alert("s=",s);
Alert("Maxi=",Maxi);
 
forexman77:

Спасибо! Индекс извлек. Теперь не получается получить его правильное время.


Alert("Time=",Time[s]);
Причина обращения: