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

 
Artyom Trishkin:
Да, конечно.

это отлично!

спасибо! 

 
Igor Makanu:

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

библиотека из цикла статей "БИБЛИОТЕКА ДЛЯ ПРОСТОГО И БЫСТРОГО СОЗДАНИЯ ПРОГРАММ ДЛЯ METATRADER"

может дать решение на этот вопрос? - как получить кол-во пунктов по последней сделке ?

Нет у СДЕЛКИ пунктов :)

Сделка имеет такие свойства: цена, объём, тип входа, тип сделки.

Чтобы получить пункты необходимо как минимум найти в истории ДВЕ сделки: одну ВХОД, вторую ВЫХОД и только тогда можно получить пункты.

ENUM_DEAL_ENTRY - Направление сделки – вход в рынок, выход из рынка или разворот

ENUM_DEAL_ENTRY

Идентификатор

Описание

DEAL_ENTRY_IN

Вход в рынок

DEAL_ENTRY_INOUT

Выход из рынок

 
Igor Makanu:

это отлично!

спасибо! 

Не только по последней. Вообще по любой.
И любое свойство можно из неё достать. Всё, что с ней происходило за время жизни.
 
Vladimir Karputov:

Нет у СДЕЛКИ пунктов :)

Сделка имеет такие свойства: цена, объём, тип входа, тип сделки.

Чтобы получить пункты необходимо как минимум найти в истории ДВЕ сделки: одну ВХОД, вторую ВЫХОД и только тогда можно получить пункты.

ENUM_DEAL_ENTRY - Направление сделки – вход в рынок, выход из рынка или разворот

ENUM_DEAL_ENTRY

Идентификатор

Описание

DEAL_ENTRY_IN

Вход в рынок

DEAL_ENTRY_INOUT

Выход из рынок

Речь идёт о закрытой позиции. Ну сказал человек "сделка" - ничего страшного. По контексту понятно о чём речь.
 
Vladimir Karputov:

Нет у СДЕЛКИ пунктов :)

но они нужны для статистических расчетов и для хотелок пользователей!

Вы давно торговали или общались с пользователями? я надеюсь Вы слышали как ТЗ от пользователя звучит? Вот ту входим, вот тут берем 50 пунктов старыми, вот тут стоплосс 30 пипсов....

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


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

ладно, приелась тема - тема изобретательства велосипедов , еще раз повторюсь, то что в МТ4 пишется за 30 минут, в МТ5 требует подготовки от нескольких месяцев, очень дружелюбная платформа

 
Igor Makanu:

*** Вот ту входим, вот тут берем 50 пунктов старыми, вот тут стоплосс 30 пипсов.... ***

Это реализуется контролем прибыльности ПОЗИЦИЯ, пока она ещё в рынке. Пока есть ПОЗИЦИЯ у неё есть цена открытия и текущая цена. Пока позиция открыта можно в одну строку получить и прибыль позиции в деньгах и прибыль позиции в пунктах, пипсах ...


Igor Makanu:

*** а потом еще нарисуйте прибыль в пунктах за день, неделю.... ***

А это делается простым запросом в торговую историю С дата1 ПО дата 2 и складывается ПРИБЫЛЬ В ДЕНЬГАХ для всех сделок.


То есть всё даже очень просто.

 
Vladimir Karputov:

А это делается простым запросом в торговую историю С дата1 ПО дата 2 и складывается ПРИБЫЛЬ В ДЕНЬГАХ для всех сделок.

напомню, вопрос стоял конкретный: как узнать прибыль последнего закрытого ордера сделки торгового приказа в пунктах

 
Igor Makanu:

напомню, вопрос стоял конкретный: как узнать прибыль последнего закрытого ордера сделки торгового приказа в пунктах

https://www.mql5.com/en/forum/218100

 

Igor Makanu:

стандартная CTrade не предоставляет готового сервиса

На MT4 есть торговые вещи, которые кодятся в одну строку. На MT5 сделать то же самое через СБ нельзя даже за сотню строк. На чистом MQL5 - еще хуже. Ну и ладно.

 

спасибо, хороший пример поизучаю, вот набросал скрипт под MT4 - определяем прибыль в пунктах:

//+------------------------------------------------------------------+
//|                                        LastOrderProfitInPips.mq4 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   printf("Прибыль последнего закрытого ордера %d пунктов",LastHistoryProfit());

  }
//+------------------------------------------------------------------+
int LastHistoryProfit(int magic_=-1)
  {
   datetime t=0;
   int profit=0;
   for(int i=0; i<OrdersHistoryTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
        {
         if((OrderMagicNumber()==magic_ || magic_==-1) && (OrderSymbol()==_Symbol))
           {
            if(OrderType()==OP_BUY || OrderType()==OP_SELL)
              {
               if(OrderCloseTime()>t)
                 {
                  t=OrderCloseTime();
                  profit= (int)(fabs(OrderOpenPrice()-OrderClosePrice())/_Point);
                  profit= OrderProfit()>=0.0 ? profit : -profit;
                 }
              }
           }
        }
     }
   return(profit);
  }
//+------------------------------------------------------------------+

написал с нуля за 10 минут? - ну примерно так, логика простая и понятная - берешь и пишешь, в МТ5 пока только сферического коня в вакууме обсуждаем... если сделки и существуют ли ордера, осталось обсудить типы счетов неттинг или хэдж.... ну и к утру что-нибудь напишем