Библиотеки: MT4Orders - страница 71

 
Valeriy Yastremskiy #:
Так и делал.

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

 
fxsaber #:

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

Да, что то у меня косяки. Проверил, встала старая версия. Впредь придется проверять просмотром кода в браузере и что встало, хотя бы по количеству строк)))

Спасибо.

ЗЫ, понял что произошло. менял название файлов при включенном МЕ. На предложение файл изменился - поменять файл, ответил да, и ... файл остался старым)))

 

Когда понял что через POSITION_COMMISSION не получу комиссию, то в форуме я прочитал, что библиотека MT4Orders может это сделать. Я протестировал, но тоже не получилось. Могу написать функцию через DEAL_COMMISSION, но хотел уточнить почему библиотека MT4Orders не помогло?

void TestComision(string sy, int op=-1, int mn=-1)
  {
   if(!m_symbol.Name(sy)) // sets symbol name
      return;
   m_symbol.RefreshRates();

   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of open positions
      if(m_position.SelectByIndex(i))
         if((m_position.Symbol()==sy || sy=="") && (op<0 || m_position.PositionType()==op))
            if(mn<0 || m_position.Magic()==mn)
               if(m_position.PositionType()==POSITION_TYPE_SELL)
                 {
                  Print(i," sy: ",sy,"-88880- mProfit: ",m_position.Profit()," MT4OrderCommission(): ",OrderCommission());
                 }

  }
2020.04.14 23:45:00   5 sy: AUDNZD-88880- mProfit: 7.84 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   4 sy: AUDNZD-88880- mProfit: -11.72 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   3 sy: AUDNZD-88880- mProfit: -14.51 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   2 sy: AUDNZD-88880- mProfit: -11.25 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   1 sy: AUDNZD-88880- mProfit: -7.48 MT4OrderCommission(): 0.0
2020.04.14 23:45:00   0 sy: AUDNZD-88880- mProfit: -10.17 MT4OrderCommission(): 0.0
 
Nauris Zukas #:

Когда понял что через POSITION_COMMISSION не получу комиссию, то в форуме я прочитал, что библиотека MT4Orders может это сделать. Я протестировал, но тоже не получилось. Могу написать функцию через DEAL_COMMISSION, но хотел уточнить почему библиотека MT4Orders не помогло?

#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>

CPositionInfo m_position;
CSymbolInfo m_symbol;

#include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006

void TestComision(string sy, int op=-1, int mn=-1)
  {
   if(!m_symbol.Name(sy)) // sets symbol name
      return;
   m_symbol.RefreshRates();

   for(int i=PositionsTotal()-1; i>=0; i--) // returns the number of open positions
      if(m_position.SelectByIndex(i))
         if((m_position.Symbol()==sy || sy=="") && (op<0 || m_position.PositionType()==op))
            if(mn<0 || m_position.Magic()==mn)
               if(m_position.PositionType()==POSITION_TYPE_SELL)
                 {
                  OrderSelect(INT_MAX, SELECT_BY_POS);
                  
                  Print(i," sy: ",sy,"-88880- mProfit: ",m_position.Profit()," MT4OrderCommission(): ",OrderCommission());
                 }

  }

void OnStart()
{
  TestComision(_Symbol);
}
 
fxsaber #:

Спасибо, все получилось.

 
Поставил 5ку на 32ю ось винды. Последняя редакция дала 8 ошибок. А вот редакция 2018 года работает.
 
Valeriy Yastremskiy #:
Поставил 5ку на 32ю ось винды. Последняя редакция дала 8 ошибок. А вот редакция 2018 года работает.

Хорошо бы снабжать еще технической информацией. Предполагаю, что последний рабочий x32-билд MT5 еще что-то не поддерживал. Например, MQL_HANDLES_USED.

В бою использую только b2958_x64, а компилирую в b3260.
 
fxsaber #:

Хорошо бы снабжать еще технической информацией. Предполагаю, что последний рабочий x32-билд MT5 еще что-то не поддерживал. Например, MQL_HANDLES_USED.

В бою использую только b2958_x64, а компилирую в b3260.

Установился билд 2361 от 8 марта 2020 года. Да именно  MQL_HANDLES_USED в ошибках последней версии. 8 ошибок. Релиз // 08.02.2022

компилируемый без ошибок на 32разрядном релиз // 30.05.2018

 
Valeriy Yastremskiy #:

Установился билд 2361 от 8 марта 2020 года. Да именно  MQL_HANDLES_USED в ошибках последней версии. 8 ошибок. Релиз // 08.02.2022

#define MQL_HANDLES_USED MQL_MEMORY_USED
#include <MT4Orders.mqh>
 
fxsaber #:
'DEAL_SL' - undeclared identifier       MT4Orders2021.mqh       1281    89
'HistoryDealGetDouble' - no one of the overloads can be applied to the function call    MT4Orders2021.mqh       1281    60
could be one of 2 function(s)   MT4Orders2021.mqh       1281    60
   built-in: double HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE)       MT4Orders2021.mqh       1281    60
   built-in: bool HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE,double&) MT4Orders2021.mqh       1281    60
'DEAL_TP' - undeclared identifier       MT4Orders2021.mqh       1282    91
'HistoryDealGetDouble' - no one of the overloads can be applied to the function call    MT4Orders2021.mqh       1282    62
could be one of 2 function(s)   MT4Orders2021.mqh       1282    62
   built-in: double HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE)       MT4Orders2021.mqh       1282    62
   built-in: bool HistoryDealGetDouble(ulong,ENUM_DEAL_PROPERTY_DOUBLE,double&) MT4Orders2021.mqh       1282    62

Спасибо, убрались. Еще 1281 и 1282 строка. Переменные DEAL_SL    DEAL_TP

Если конечно есть время. Вообще случайно установил на этот нотик 5ку. А потом желание потестить появилось)))