Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 774

 
Alexander Layzerevich:

Подскажите чем в MQL5 заменить ?

datetime  TimeCurrent(
   MqlDateTime&  dt_struct      // переменная типа структуры
   );


И потом читаешь содержимое структуры. Работает одинаково в mql5 и в mql4

struct MqlDateTime
  {
   int year;           // год
   int mon;            // месяц
   int day;            // день
   int hour;           // час
   int min;            // минуты
   int sec;            // секунды
   int day_of_week;    // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
   int day_of_year;    // порядковый номер в году (1 января имеет номер 0)
  };
 
Igor Makanu:

эта статья Вам поможет https://www.mql5.com/ru/articles/81

Спасибо.

 

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

Заранее спасибо.

 
Подскажите новичку..скачал с маркета бесплатный индикатор....присоединил к графику...при переключении с одного  временного периода на другой  индикатор отображается с большой задержкой ( т.е тормозит ) ...в чём может быть проблема ? Спасибо...
 
net150:
Подскажите новичку..скачал с маркета бесплатный индикатор....присоединил к графику...при переключении с одного  временного периода на другой  индикатор отображается с большой задержкой ( т.е тормозит ) ...в чём может быть проблема ? Спасибо...

Много данных для расчётов, ну или индикатор написан не оптимально. Такое бывает

 
Как написать функцию что бы робот переворачивался при убытку. Например пошол в минус 20 п. и перевернулся и сли снова в минус то опять переворот. Помогите пожалуйста.
 
Ivan Kopchuk:
Как написать функцию что бы робот переворачивался при убытку. Например пошол в минус 20 п. и перевернулся и сли снова в минус то опять переворот. Помогите пожалуйста.

Закрываешь позицию, как только пошло до -скольки-то и тут же открываешь в обратную сторону от закрытой.

0 Берёшь все ордера (OrdersTotal), просматриваешь их (OrderSelect), что бы выяснить нет ли уже открытой позиции по данной ТС
1.1 Если открытая позиция уже есть, запоминаешь тикет ордера (OrderTicket)
1.2 Если нет - открываешь позицию (OrderSend), запоминаешь в переменную тикет этой позиции, ставишь тейки и стопы если оно надо (OrderModify)
2 Проверяешь текущий профит (разница между OrderOpenPrice и Bid или Ask), пока не будет одно из условий ниже:
2.1 Если профит достиг заданного убытка - закрываешь позицию (OrderClose) и открываешь новую в другую сторону, запоминаешь тикет, дальше п.2
2.2 Если достиг нужной прибыли - закрываешь позицию, обнуляешь тикет, открываешь новую позицию по правилам входа ТС, запоминаешь в переменную тикет этой позиции, дальше п.2

https://docs.mql4.com/ru/trading

 
Ilya Prozumentov:

Закрываешь позицию, как только пошло до -скольки-то и тут же открываешь в обратную сторону от закрытой.

0 Берёшь все ордера (OrdersTotal), просматриваешь их (OrderSelect), что бы выяснить нет ли уже открытой позиции по данной ТС
1.1 Если открытая позиция уже есть, запоминаешь тикет ордера (OrderTicket)
1.2 Если нет - открываешь позицию (OrderSend), запоминаешь в переменную тикет этой позиции, ставишь тейки и стопы если оно надо (OrderModify)
2 Проверяешь текущий профит (разница между OrderOpenPrice и Bid или Ask), пока не будет одно из условий ниже:
2.1 Если профит достиг заданного убытка - закрываешь позицию (OrderClose) и открываешь новую в другую сторону, запоминаешь тикет, дальше п.2
2.2 Если достиг нужной прибыли - закрываешь позицию, обнуляешь тикет, открываешь новую позицию по правилам входа ТС, запоминаешь в переменную тикет этой позиции, дальше п.2

https://docs.mql4.com/ru/trading

Спасибо.

 

Приветствую. Подскажите, пожалста.

Как получается что выполняется условие когда переменная с отрицательным значением (summ) >= переменной (profit) равной нулю?

summ=(double)(H_SellMinProfit()+BuyProfit()-SpreadCost());
      if(summ>=profit)
         CloseOll();st=1;max_level=level;min_level=level;  Print("st=1", "  H_SellMinProfit() ", H_SellMinProfit(), "  BuyProfit() ", BuyProfit(), "  SpreadCost() ", SpreadCost(), "  ++- ", H_SellMinProfit()+BuyProfit()-SpreadCost(), "  summ ", summ, "  profit ", profit);


Код целиком, 

Файлы:
Ivanov4.mq4  20 kb
 
Andrey Sokolov:

Приветствую. Подскажите, пожалста.

Как получается что выполняется условие когда переменная с отрицательным значением (summ) >= переменной (profit) равной нулю?

Код целиком, 

summ=(double)(H_SellMinProfit()+BuyProfit()-SpreadCost());
  if(summ>=profit) {
    CloseOll();
    st=1;max_level=level;min_level=level;
    Print("st=1", "  H_SellMinProfit() ", H_SellMinProfit(), "  BuyProfit() ", BuyProfit(), "  SpreadCost() ", SpreadCost(), "  ++- ", H_SellMinProfit()+BuyProfit()-SpreadCost(), "  summ ", summ, "  profit ", profit);
  }
Причина обращения: