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

 
fxsaber #:

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

#include <MT4Orders.mqh>
#include <MQL4_to_MQL5.mqh>

//+------------------------------------------------------------------+
//| Функция запуска программы сценария|
//+------------------------------------------------------------------+
void OnStart()
  {
   
   //SL
   double stopLoss = Ask-10*_Point;
   stopLoss = NormalizeDouble(stopLoss, _Digits);
   
   //TP
   double takeProfit = Ask+10*_Point;
   takeProfit = NormalizeDouble(takeProfit, _Digits);   

   int result=OrderSend(Symbol(), OP_BUY, 1, Ask, 30, stopLoss, takeProfit, "TEST", 2021, 0, clrMagenta);
   if(result<=0)
      {
         int err=GetLastError();
         Print("Error sending order Error Code: "+IntegerToString(err));         
      }
      Alert(result);
  }

Я запутался, я смотрел на функцию mql5 OrderSend, которая возвращает булевое значение.

Вы сделали все очень хорошо, все работает как в mql4.

Единственное, она выдает эти два предупреждения в библиотеке "MQL4_to_MQL5.mqh". Можно ли это решить?


 
mercanet #:

Можно ли решить эту проблему?

#include <MT4Orders.mqh>

#define  Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)

//+------------------------------------------------------------------+
//| Функция запуска программы сценария|
//+------------------------------------------------------------------+
void OnStart ()
  {
   
   //SL
   double stopLoss = Ask- 10 * _Point ;
   stopLoss = NormalizeDouble (stopLoss, _Digits );
   
   //TP
   double takeProfit = Ask+ 10 * _Point ;
   takeProfit = NormalizeDouble (takeProfit, _Digits );   

   TICKET_TYPE result= OrderSend ( Symbol (), OP_BUY, 1 , Ask, 30 , stopLoss, takeProfit, "TEST" , 2021 , 0 , clrMagenta );
   if (result<= 0 )
      {
         int err= GetLastError ();
         Print ( "Error sending order Error Code: " + IntegerToString (err));         
      }
       Alert (result);
  }
 
fxsaber #:
Синхронизация очень хороша, но неидеальна. Когда-нибудь надо будет что-то подкрутить по этой теме...

Отличная библиотека-одна проблема(как мне кажется) - контроль версий. Что не разместите на Github? Сделали изменение - на десктопном Github высветилось,  пользователь загрузил новую версию. 

MT4Orders
MT4Orders
  • www.mql5.com
Параллельное использование ордерных систем MetaTrader 4 и MetaTrader 5.
 
Vladimir Perervenko #:

Отличная библиотека-одна проблема(как мне кажется) - контроль версий. Что не разместите на Github? Сделали изменение - на десктопном Github высветилось,  пользователь загрузил новую версию. 

Спасибо. Текущая версия (на всех языках КБ) показывает себя таким образом, что изменения не планируются.

Гитхабом не пользуюсь. Обновления здесь позиционируются, как "для своих".

 
fxsaber #:

Текущая версия (на всех языках КБ) показывает себя таким образом, что изменения не планируются.

Не зарекайтесь, MQ не дают расслабиться ))
 

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

Особенности языка mql5, тонкости и приёмы работы

fxsaber, 2021.09.16 18:44

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

Еще одна особенность MT5, которая соответствующим образом влияет на OrderSwap() закрытых позиций. Не проверял, в MT4 такая же ситуация с CloseBy или нет.

 
Еще раз не рекомендую использовать SELECT_BY_TICKET. В MT5 тикеты имеют неоднозначность.
 

кстати, как отключить журналирование ? чтобы меньше писала в журнал. Всякие Print 

а то библиотека разговорчива и на её фоне многое теряется

 
Maxim Kuznetsov #:

кстати, как отключить журналирование ? чтобы меньше писала в журнал. Всякие Print 

а то библиотека разговорчива и на её фоне многое теряется

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

Библиотеки: MT4Orders

fxsaber, 2019.04.29 15:19

Если требуется не светить использование MT4Orders в своем продукте, можно либо резать соответствующие куски исходника библиотеки, либо поставить универсальную заглушку
// Через макросы обрубаем любые намеки о присутствии MT4Orders.
#define Alert PrintTmp
#define Print PrintTmp
  void PrintTmp( string ) {}
  
  #include <MT4Orders.mqh> // https://www.mql5.com/ru/code/16006
#undef Print
#undef Alert