Как начать работу с MQL5 - страница 32

 
diamondiptv # :
Вот мой пример скриншота для GBPUSD, каждая позиция начисляет 0.10 при открытии 0.05 и после закрытия еще 0.05.

Почему у вас отображается МОБИЛЬНЫЙ ТЕРМИНАЛ? Вам нужно смотреть в терминале для настольной версии Windows!

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Как начать работать с MQL5

Владимир Карпутов, 2021.10.16 13:03

Покажите вкладку "торговля" вашего терминала - мне интересно, что вы пишете в колонке "Комиссия".


 
Vladimir Karputov #:

Почему у вас отображается МОБИЛЬНЫЙ ТЕРМИНАЛ? Вам нужно заглянуть в терминал для настольной версии Windows!


В моем терминале на вкладке windows "торговля" нет колонки комиссии

колонка комиссии появляется только на вкладке "история" с общей суммой начислений по ордеру

нужно ли в этом случае использовать историю торговли вместо открытых сделок?


 
diamondiptv # :

в моем терминале на вкладке windows "торговля" нет графы "комиссия".

колонка комиссии появляется только на вкладке "история" с общей суммой начислений за ордер

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


У меня нет символа, по которому берется комиссия при открытии - поэтому я не могу это проверить. Пожалуйста, проверьте это сами.

 
diamondiptv #:

в моем терминале на вкладке windows "торговля" нет графы "комиссия".

колонка комиссии появляется только на вкладке "история" с общей суммой начислений за ордер

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


Почитайте эту небольшую тему с обсуждением: https://www.mql5.com/en/forum/342714 - например:

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

рабочий стол mt5 не хватает торговой вкладки "комиссия"?!

Alain Verleyen, 2020.06.04 02:47

Это не правило. В МТ5 комиссия может взиматься разными способами.

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Новая платформа MetaTrader 5 build 2170: Обновления в области MQL5, глобальный тестер стратегий и встроенный виртуальный хостинг

MetaQuotes, 2019.10.03 15:18

Обновление платформы MetaTrader 5 выйдет в пятницу, 4 октября 2019 года В новой версии произошли следующие изменения:

  1. Терминал: Полностью переработаны встроенные опции управления виртуальным хостингом. Вся информация об арендованном терминале, а также функции миграции среды, остановки и запуска теперь доступны на отдельной вкладке окна "Инструменты".

    ...
  2. Терминал: Добавлена возможность быстрого переключения на операции ввода/вывода средств на сайте брокера.

    ...
  3. Терминал: Новые поля в спецификации торгового символа:

    ...

    Комиссии
    Информация о комиссиях, взимаемых брокером за сделки по символу. Здесь отображаются детали расчета:

    • Комиссия может быть одноуровневой и многоуровневой, т.е. быть одинаковой вне зависимости от объема/оборота сделки, или может зависеть от размера. Соответствующие данные отображаются в терминале.
    • Комиссия может взиматься сразу при совершении сделки или в конце торгового дня/месяца.
    • Комиссия может взиматься в зависимости от направления сделки: вход, выход или оба вида операций.
    • Комиссия может взиматься за лот или сделку.
    • Комиссия может рассчитываться в деньгах, процентах или пунктах.

    Например, следующий вход означает, что комиссия взимается сразу при входе и выходе из сделки. Если объем сделки составляет от 0 до 10 лотов, то за одну операцию взимается комиссия в размере 1,2 USD. Если объем сделки составляет от 11 до 20 лотов, комиссия в размере 1,1 USD взимается за каждый лот сделки.
    Commission | Instant, volume, entry/exit deals
    0  - 10  | 1.2 USD per deal
    11 - 20  | 1.1 USD per lot





Во всех случаях она недоступна на вкладке "Торговля".


desktop mt5 miss trading tab "commission"?!
desktop mt5 miss trading tab "commission"?!
  • 2020.06.03
  • www.mql5.com
i have commission shown in trading tab of toolbox but why not on mt5...
 
Vladimir Karputov #:

У меня нет символа, по которому берется комиссия при открытии, поэтому я не могу его проверить. Пожалуйста, проверьте это сами.

Спасибо за помощь

если я хочу считать комиссию после закрытия сделки, как это сделать?

заранее спасибо

 
Sergey Golubev #:

прочитайте эту небольшую тему с обсуждением: https://www.mql5.com/en/forum/342714 - например:


спасибо, это помогает
 

Последний N DEAL_ENTRY_OUT

Код: 'Last N DEAL_ENTRY_OUT.mq5'

//+------------------------------------------------------------------+
//|                                        Last N DEAL_ENTRY_OUT.mq5 |
//|                              Copyright © 2021, Vladimir Karputov |
//|                      https://www.mql5.com/en/users/barabashkakvn |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2021, Vladimir Karputov"
#property link      "https://www.mql5.com/en/users/barabashkakvn"
#property version   "1.000"
//--- input parameters
input uchar    InpN        = 3;  // N
input datetime InpFromDate = 0;  // From Date (D'1970.01.01 00:00' -> OFF parameter)
input string   InpSymbol   = ""; // Symbol ("" -> all symbols)
input long     InpMagic    = -1; // Magic number (<0 -> all magics)
//---
datetime m_from_date       = 0;  // "0" -> D'1970.01.01 00:00';
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- request trade history
   HistorySelect(InpFromDate,TimeTradeServer()+60*60*24*3);
   uint total_deals=HistoryDealsTotal();
   ulong ticket_history_deal=0;
   int counter=0;
   string text="";
//--- for all deals
   for(uint i=total_deals-1; i>=0; i--)
     {
      //--- try to get deals ticket_history_deal
      if((ticket_history_deal=HistoryDealGetTicket(i))>0)
        {
         long     deal_ticket       =HistoryDealGetInteger(ticket_history_deal,DEAL_TICKET);
         long     deal_time         =HistoryDealGetInteger(ticket_history_deal,DEAL_TIME);
         long     deal_type         =HistoryDealGetInteger(ticket_history_deal,DEAL_TYPE);
         long     deal_entry        =HistoryDealGetInteger(ticket_history_deal,DEAL_ENTRY);
         long     deal_magic        =HistoryDealGetInteger(ticket_history_deal,DEAL_MAGIC);
         double   deal_commission   =HistoryDealGetDouble(ticket_history_deal,DEAL_COMMISSION);
         double   deal_swap         =HistoryDealGetDouble(ticket_history_deal,DEAL_SWAP);
         double   deal_profit       =HistoryDealGetDouble(ticket_history_deal,DEAL_PROFIT);
         string   deal_symbol       =HistoryDealGetString(ticket_history_deal,DEAL_SYMBOL);
         //---
         if((InpSymbol==deal_symbol || InpSymbol=="") && (InpMagic==deal_magic || InpMagic<0))
           {
            if(deal_entry==DEAL_ENTRY_OUT)
              {
               counter++;
               string time=TimeToString((datetime)deal_time,TIME_DATE|TIME_MINUTES|TIME_SECONDS);
               text=text+"\n"+time+" | "+DoubleToString(deal_commission+deal_swap+deal_profit,2);
               if(counter==InpN)
                 {
                  m_from_date=(datetime)deal_time;
                  break;
                 }
              }
           }
        }
     }
   Comment(text);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//--- request trade history
   HistorySelect(m_from_date,TimeTradeServer()+60*60*24*3);
   uint total_deals=HistoryDealsTotal();
   ulong ticket_history_deal=0;
   int counter=0;
   string text="";
//--- for all deals
   for(uint i=total_deals-1; i>=0; i--)
     {
      //--- try to get deals ticket_history_deal
      if((ticket_history_deal=HistoryDealGetTicket(i))>0)
        {
         long     deal_ticket       =HistoryDealGetInteger(ticket_history_deal,DEAL_TICKET);
         long     deal_time         =HistoryDealGetInteger(ticket_history_deal,DEAL_TIME);
         long     deal_type         =HistoryDealGetInteger(ticket_history_deal,DEAL_TYPE);
         long     deal_entry        =HistoryDealGetInteger(ticket_history_deal,DEAL_ENTRY);
         long     deal_magic        =HistoryDealGetInteger(ticket_history_deal,DEAL_MAGIC);
         double   deal_commission   =HistoryDealGetDouble(ticket_history_deal,DEAL_COMMISSION);
         double   deal_swap         =HistoryDealGetDouble(ticket_history_deal,DEAL_SWAP);
         double   deal_profit       =HistoryDealGetDouble(ticket_history_deal,DEAL_PROFIT);
         string   deal_symbol       =HistoryDealGetString(ticket_history_deal,DEAL_SYMBOL);
         //---
         if((InpSymbol==deal_symbol || InpSymbol=="") && (InpMagic==deal_magic || InpMagic<0))
           {
            if(deal_entry==DEAL_ENTRY_OUT)
              {
               counter++;
               string time=TimeToString((datetime)deal_time,TIME_DATE|TIME_MINUTES|TIME_SECONDS);
               text=text+"\n"+time+" | "+DoubleToString(deal_commission+deal_swap+deal_profit,2);
               if(counter==InpN)
                 {
                  m_from_date=(datetime)deal_time;
                  break;
                 }
              }
           }
        }
     }
   Comment(text);
  }
//+------------------------------------------------------------------+

Результат:


Файлы:
 
Sergey Golubev #:

прочитайте эту небольшую тему с обсуждением: https://www.mql5.com/en/forum/342714 - например:


я использую советник стороннего производителя. у него есть опция "back tester simulated commission"... по умолчанию установлено значение 7.0.

что это такое и если я поставлю ноль, что тогда?

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

 
chandan kumar #:

Я использую советник стороннего производителя. В нем есть опция "симулированная комиссия бэк-тестера"... по умолчанию установлено значение 7.0.

Что это такое, и если я установлю ноль, что тогда?

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

Я не знаю... Я думаю - это зависит от брокера.
прочитайте первое сообщение этой темы о комиссиях:
https://www.mql5.com/en/forum/323540
New MetaTrader 5 platform build 2170: MQL5 scope, global Strategy Tester and built-in Virtual Hosting updates
New MetaTrader 5 platform build 2170: MQL5 scope, global Strategy Tester and built-in Virtual Hosting updates
  • 2019.10.03
  • www.mql5.com
The MetaTrader 5 platform update will be released on Friday, October 4, 2019 The new version features the following changes: Terminal: Completely...
 
Я запутался в том, как я могу получить доступ к нужной свече на более высоком таймфрейме. Например, массив закрытий свечей для 1-минутных свечей - close[].
Моя стратегия выбрала close[8], которая была на уровне 1.69230. Как я могу узнать, на какой свече на графике m5 была отметка 1.69230?