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

 
Tretyakov Rostyslav #:
В моем примере кнопки вообще не видно, посмотрите где клики на видео

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

 
Приветствую всех. У меня  вопрос к экспертам : к примеру есть три  открытых ордера  сел с лотами 0.01  0.02 и 0.03  и эти ордера ушли в минус на 100 пунктов . Теперь задачка как нужно с помощью формулы вычислить убыток  сумарно всех ордеров  и открыть следующий сел ордер с лотом который перекроет весь убыток в ноль но в пределах 10 пунктов. Просьба помочь  если кто может. Заранее спасибо!
 
забыл сказать терминал mt4.   редактор mql4
 
khasan kayumov #:
Приветствую всех. У меня  вопрос к экспертам : к примеру есть три  открытых ордера  сел с лотами 0.01  0.02 и 0.03  и эти ордера ушли в минус на 100 пунктов . Теперь задачка как нужно с помощью формулы вычислить убыток  сумарно всех ордеров  и открыть следующий сел ордер с лотом который перекроет весь убыток в ноль но в пределах 10 пунктов. Просьба помочь  если кто может. Заранее спасибо!

Функция SymbolInfoDouble даст необходимые значения для расчёта (на mql4 есть соответствующие аналоги)

https://www.mql5.com/ru/docs/marketinformation/symbolinfodouble

Документация по MQL5: Получение рыночной информации / SymbolInfoDouble
Документация по MQL5: Получение рыночной информации / SymbolInfoDouble
  • www.mql5.com
Возвращает соответствующее свойство указанного символа. Существует 2 варианта функции. 1. Непосредственно возвращает значение свойства. 2...
 

Хочу понять как будет выглядеть функция вычисления лота в моём конкретном случаи  . Если можно покажите пожалуйста как это будет выглядеть в коде Mql4

 
khasan kayumov #:

Хочу понять как будет выглядеть функция вычисления лота в моём конкретном случаи  . Если можно покажите пожалуйста как это будет выглядеть в коде Mql4

  //---Функция вычисляет количество пунктов для профита------------------------------
int               doubling(double cl_lot,double money,int interest)
  {
   double   tick_value=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE),
            tick_size= SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);

   if(cl_lot<=0||money>=0||interest<0)
      return(-1);
   int pip=0;
   double x=0;
   x=MathAbs(money*interest/100+money);
   pip=(int)MathRound(((x*tick_size)/(cl_lot*tick_value))/point);
   return(pip);
  }
 
Я так понял что эта функция возвращает пункты. Но мне нужно чтобы функция возвращала лот исходя от сумарного убытка  всех ордеров и расстояния   до цены. Но лот должен быть такого объёма чтобы весь убыток перекрывался десятью пунктами. Прошу помочь всех кто может это сделать . Спасибо!
 
khasan kayumov #:
Я так понял что эта функция возвращает пункты. Но мне нужно чтобы функция возвращала лот исходя от сумарного убытка  всех ордеров и расстояния   до цены. Но лот должен быть такого объёма чтобы весь убыток перекрывался десятью пунктами. Прошу помочь всех кто может это сделать . Спасибо!

А Вы сами что-то пытались сделать? Покажите код, что у Вас не получается?

 
khasan kayumov #:
Я так понял что эта функция возвращает пункты. Но мне нужно чтобы функция возвращала лот исходя от сумарного убытка  всех ордеров и расстояния   до цены. Но лот должен быть такого объёма чтобы весь убыток перекрывался десятью пунктами. Прошу помочь всех кто может это сделать . Спасибо!

лотов_нужно=сумма_лотов*пунктов_до_средней/10_пунктов

пунктов_до_средней - сколько пунктов до средней позиции (цена1*лот1+цена2*лот2+...)/(лот1+лот2+...)

 
khasan kayumov #:
Я так понял что эта функция возвращает пункты. Но мне нужно чтобы функция возвращала лот исходя от сумарного убытка  всех ордеров и расстояния   до цены. Но лот должен быть такого объёма чтобы весь убыток перекрывался десятью пунктами. Прошу помочь всех кто может это сделать . Спасибо!

 Эта функция отвечает на все Ваши недоумения. 

money

убыток в его отрицательном значении(вычисляется одной строкой),

interest

нулевое значение,- безубыток.

и последнее: значение лота легко вычленяется из формулы.