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

 
afsmerinostra:

Доброго Времени Суток,

Помогите пожалуйста найти ошибку... В скрипте копирую значения баров(BarsCount) с индикаторного буфера, потом обхожу значения в цикле, определяю сигнал и записываю для распечатки в Print(); Вроде все просто, да не тут то было... Получаю все сигналы как и хотел за исключением пересечения нулевой линии

индикатора.  Может в скрипте так нельзя?  Код и скрин лога прикрепил...  Заранее благодарен!

Пересечение можно определить только сравнивая значения предыдущего индекса массива с нулём и значение текущего тоже с нулём. То-есть было выше нуля и стало ниже нуля. Или наоборот, было ниже и стало выше.

И внимательно прочтите в документации как работает if tlse if

Если в вашем коде выполнено одно из условий, то все следующие не обрабатываются.

 
Alexey Viktorov:

Пересечение можно определить только сравнивая значения предыдущего индекса массива с нулём и значение текущего тоже с нулём. То-есть было выше нуля и стало ниже нуля. Или наоборот, было ниже и стало выше.

И внимательно прочтите в документации как работает if tlse if

Если в вашем коде выполнено одно из условий, то все следующие не обрабатываются.

Насчет проверки уровня относительно ноля все верно было.  Перенес условия пересечения в начало кода стало все отрабатывать. Спасибо!
 
afsmerinostra:
Насчет проверки уровня относительно ноля все верно было.  Перенес условия пересечения в начало кода стало все отрабатывать. Спасибо!

Вообще вам надо почистить else, они нужны только в тех случаях когда условия взаимоисключающие, а пересечение это отдельные условия.

 
Всем привет!!!   Подскажите в чём ошибка?
//+------------------------------------------------------------------+
//|                                                 Signal_Line.mqh |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
class Signal_Line
  {
private:

public:
                     Signal_Line();
                    ~Signal_Line();
   bool              Signal_Short(double &Trend_Line_UP[][], int UP);
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Signal_Line::Signal_Line()
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
Signal_Line::~Signal_Line()
  {
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|     Метод проверки флагов событий цены относительно линий тренда                                                             |
//+------------------------------------------------------------------+
bool Signal_Line::Signal_Short(double &Trend_Line_UP[][], int UP)
  {
   if(Trend_Line_UP[UP][3]<iClose(_Symbol,0,0))
      return(true);
  }
//+------------------------------------------------------------------+
 

Написано же: а почему это Вы не соизволили вернуть значение?

bool Signal_Line::Signal_Short(double &Trend_Line_UP[][], int UP)
  {
   if(Trend_Line_UP[UP][3]<iClose(_Symbol,0,0))
      return(true);
//---
   return(false);
  }
 
Vladimir Karputov:

Написано же: а почему это Вы не соизволили вернуть значение?

Точно!!!   Во блин даю)))

 
Vladimir Karputov:

Написано же: а почему это Вы не соизволили вернуть значение?

Спасибо!!!

 
В mql4 были функции 

OrderCloseTime();

и  datetime  OrderOpenTime(); Как можно достать эти данные программным способом в mql5 для уже закрытых позиции? То есть время открытия и закрытия закрытых позиции

 
bahtiyar:
В mql4 были функции 

OrderCloseTime();

и  datetime  OrderOpenTime(); Как можно достать эти данные программным способом в mql5 для уже закрытых позиции? То есть время открытия и закрытия закрытых позиции

Выбрать в истории сделки по ID позиции и в свойствах сделок есть открытие и закрытие. Не только время, но и цены, и причина закрытия и что-то ещё.
 

Подскажите пжлст. Вот эта запись:

var1=(var<10)?1:0;

Что она значит, как ее интерпретировать, варианты применения. Параметры.

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