1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
//+------------------------------------------------------------------+ //| DealInfo.mqh | //| Copyright 2000-2026, MetaQuotes Ltd. | //| www.mql5.com | //+------------------------------------------------------------------+ #include //+------------------------------------------------------------------+ //| Class CDealInfo. | //| Appointment: Class for access to history deal info. | //| Derives from class CObject. | //+------------------------------------------------------------------+ class CDealInfo : public CObject { protected: ulong m_ticket; // ticket of history order public: CDealInfo(void); ~CDealInfo(void); //--- methods of access to protected data void Ticket(const ulong ticket) { m_ticket=ticket; } ulong Ticket(void) const { return(m_ticket); } //--- fast access methods to the integer position propertyes long Order(void) const; datetime Time(void) const; ulong TimeMsc(void) const; ENUM_DEAL_TYPE DealType(void) const; string TypeDescription(void) const; ENUM_DEAL_ENTRY Entry(void) const; string EntryDescription(void) const; long Magic(void) const; long PositionId(void) const; //--- fast access methods to the double position propertyes double Volume(void) const; double Price(void) const; double Commission(void) const; double Swap(void) const; double Profit(void) const; //--- fast access methods to the string position propertyes string Symbol(void) const; string Comment(void) const; string ExternalId(void) const; //--- access methods to the API MQL5 functions bool InfoInteger(ENUM_DEAL_PROPERTY_INTEGER prop_id,long &var) const; bool InfoDouble(ENUM_DEAL_PROPERTY_DOUBLE prop_id,double &var) const; bool InfoString(ENUM_DEAL_PROPERTY_STRING prop_id,string &var) const; //--- info methods string FormatAction(string &str,const uint action) const; string FormatEntry(string &str,const uint entry) const; string FormatDeal(string &str) const; //--- method for select deal bool SelectByIndex(const int index); }; //+------------------------------------------------------------------+ //| Constructor | //+------------------------------------------------------------------+ CDealInfo::CDealInfo(void) { } //+------------------------------------------------------------------+ //| Destructor | //+------------------------------------------------------------------+ CDealInfo::~CDealInfo(void) { } //+------------------------------------------------------------------+ //| Get the property value "DEAL_ORDER" | //+------------------------------------------------------------------+ long CDealInfo::Order(void) const { return(HistoryDealGetInteger(m_ticket,DEAL_ORDER)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_TIME" | //+------------------------------------------------------------------+ datetime CDealInfo::Time(void) const { return((datetime)HistoryDealGetInteger(m_ticket,DEAL_TIME)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_TIME_MSC" | //+------------------------------------------------------------------+ ulong CDealInfo::TimeMsc(void) const { return(HistoryDealGetInteger(m_ticket,DEAL_TIME_MSC)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_TYPE" | //+------------------------------------------------------------------+ ENUM_DEAL_TYPE CDealInfo::DealType(void) const { return((ENUM_DEAL_TYPE)HistoryDealGetInteger(m_ticket,DEAL_TYPE)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_TYPE" as string | //+------------------------------------------------------------------+ string CDealInfo::TypeDescription(void) const { string str; //--- switch(DealType()) { case DEAL_TYPE_BUY: str="Buy type"; break; case DEAL_TYPE_SELL: str="Sell type"; break; case DEAL_TYPE_BALANCE: str="Balance type"; break; case DEAL_TYPE_CREDIT: str="Credit type"; break; case DEAL_TYPE_CHARGE: str="Charge type"; break; case DEAL_TYPE_CORRECTION: str="Correction type"; break; case DEAL_TYPE_BONUS: str="Bonus type"; break; case DEAL_TYPE_COMMISSION: str="Commission type"; break; case DEAL_TYPE_COMMISSION_DAILY: str="Daily Commission type"; break; case DEAL_TYPE_COMMISSION_MONTHLY: str="Monthly Commission type"; break; case DEAL_TYPE_COMMISSION_AGENT_DAILY: str="Daily Agent Commission type"; break; case DEAL_TYPE_COMMISSION_AGENT_MONTHLY: str="Monthly Agent Commission type"; break; case DEAL_TYPE_INTEREST: str="Interest Rate type"; break; case DEAL_TYPE_BUY_CANCELED: str="Canceled Buy type"; break; case DEAL_TYPE_SELL_CANCELED: str="Canceled Sell type"; break; default: str="Unknown type"; } //--- return(str); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_ENTRY" | //+------------------------------------------------------------------+ ENUM_DEAL_ENTRY CDealInfo::Entry(void) const { return((ENUM_DEAL_ENTRY)HistoryDealGetInteger(m_ticket,DEAL_ENTRY)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_ENTRY" as string | //+------------------------------------------------------------------+ string CDealInfo::EntryDescription(void) const { string str; //--- switch(CDealInfo::Entry()) { case DEAL_ENTRY_IN: str="In entry"; break; case DEAL_ENTRY_OUT: str="Out entry"; break; case DEAL_ENTRY_INOUT: str="InOut entry"; break; case DEAL_ENTRY_STATE: str="Status record"; break; case DEAL_ENTRY_OUT_BY: str="Out By entry"; break; default: str="Unknown entry"; } //--- return(str); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_MAGIC" | //+------------------------------------------------------------------+ long CDealInfo::Magic(void) const { return(HistoryDealGetInteger(m_ticket,DEAL_MAGIC)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_POSITION_ID" | //+------------------------------------------------------------------+ long CDealInfo::PositionId(void) const { return(HistoryDealGetInteger(m_ticket,DEAL_POSITION_ID)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_VOLUME" | //+------------------------------------------------------------------+ double CDealInfo::Volume(void) const { return(HistoryDealGetDouble(m_ticket,DEAL_VOLUME)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_PRICE_OPEN" | //+------------------------------------------------------------------+ double CDealInfo::Price(void) const { return(HistoryDealGetDouble(m_ticket,DEAL_PRICE)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_COMMISSION" | //+------------------------------------------------------------------+ double CDealInfo::Commission(void) const { return(HistoryDealGetDouble(m_ticket,DEAL_COMMISSION)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_SWAP" | //+------------------------------------------------------------------+ double CDealInfo::Swap(void) const { return(HistoryDealGetDouble(m_ticket,DEAL_SWAP)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_PROFIT" | //+------------------------------------------------------------------+ double CDealInfo::Profit(void) const { return(HistoryDealGetDouble(m_ticket,DEAL_PROFIT)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_SYMBOL" | //+------------------------------------------------------------------+ string CDealInfo::Symbol(void) const { return(HistoryDealGetString(m_ticket,DEAL_SYMBOL)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_COMMENT" | //+------------------------------------------------------------------+ string CDealInfo::Comment(void) const { return(HistoryDealGetString(m_ticket,DEAL_COMMENT)); } //+------------------------------------------------------------------+ //| Get the property value "DEAL_EXTERNAL_ID" | //+------------------------------------------------------------------+ string CDealInfo::ExternalId(void) const { return(HistoryDealGetString(m_ticket,DEAL_EXTERNAL_ID)); } //+------------------------------------------------------------------+ //| Access functions HistoryDealGetInteger(...) | //+------------------------------------------------------------------+ bool CDealInfo::InfoInteger(ENUM_DEAL_PROPERTY_INTEGER prop_id,long &var) const { return(HistoryDealGetInteger(m_ticket,prop_id,var)); } //+------------------------------------------------------------------+ //| Access functions HistoryDealGetDouble(...) | //+------------------------------------------------------------------+ bool CDealInfo::InfoDouble(ENUM_DEAL_PROPERTY_DOUBLE prop_id,double &var) const { return(HistoryDealGetDouble(m_ticket,prop_id,var)); } //+------------------------------------------------------------------+ //| Access functions HistoryDealGetString(...) | //+------------------------------------------------------------------+ bool CDealInfo::InfoString(ENUM_DEAL_PROPERTY_STRING prop_id,string &var) const { return(HistoryDealGetString(m_ticket,prop_id,var)); } //+------------------------------------------------------------------+ //| Converths the type of a deal to text | //+------------------------------------------------------------------+ string CDealInfo::FormatAction(string &str,const uint action) const { //--- see the type switch(action) { case DEAL_TYPE_BUY: str="buy"; break; case DEAL_TYPE_SELL: str="sell"; break; case DEAL_TYPE_BALANCE: str="balance"; break; case DEAL_TYPE_CREDIT: str="credit"; break; case DEAL_TYPE_CHARGE: str="charge"; break; case DEAL_TYPE_CORRECTION: str="correction"; break; case DEAL_TYPE_BONUS: str="bonus"; break; case DEAL_TYPE_COMMISSION: str="commission"; break; case DEAL_TYPE_COMMISSION_DAILY: str="daily commission"; break; case DEAL_TYPE_COMMISSION_MONTHLY: str="monthly commission"; break; case DEAL_TYPE_COMMISSION_AGENT_DAILY: str="daily agent commission"; break; case DEAL_TYPE_COMMISSION_AGENT_MONTHLY: str="monthly agent commission"; break; case DEAL_TYPE_INTEREST: str="interest rate"; break; case DEAL_TYPE_BUY_CANCELED: str="canceled buy"; break; case DEAL_TYPE_SELL_CANCELED: str="canceled sell"; break; default: str="unknown deal type "+(string)action; } //--- return the result return(str); } //+------------------------------------------------------------------+ //| Converts the deal direction to text | //+------------------------------------------------------------------+ string CDealInfo::FormatEntry(string &str,const uint entry) const { //--- see the type switch(entry) { case DEAL_ENTRY_IN: str="in"; break; case DEAL_ENTRY_OUT: str="out"; break; case DEAL_ENTRY_INOUT: str="in/out"; break; case DEAL_ENTRY_OUT_BY: str="out by"; break; default: str="unknown deal entry "+(string)entry; } //--- return the result return(str); } //+------------------------------------------------------------------+ //| Converts the deal parameters to text | //+------------------------------------------------------------------+ string CDealInfo::FormatDeal(string &str) const { string type; long tmp_long; //--- set up string symbol_name=this.Symbol(); int digits=_Digits; if(SymbolInfoInteger(symbol_name,SYMBOL_DIGITS,tmp_long)) digits=(int)tmp_long; //--- form the description of the deal switch(DealType()) { //--- Buy-Sell case DEAL_TYPE_BUY: case DEAL_TYPE_SELL: str=StringFormat("#%I64u %s %s %s at %s", Ticket(), FormatAction(type,DealType()), DoubleToString(Volume(),2), symbol_name, DoubleToString(Price(),digits)); break; //--- balance operations case DEAL_TYPE_BALANCE: case DEAL_TYPE_CREDIT: case DEAL_TYPE_CHARGE: case DEAL_TYPE_CORRECTION: case DEAL_TYPE_BONUS: case DEAL_TYPE_COMMISSION: case DEAL_TYPE_COMMISSION_DAILY: case DEAL_TYPE_COMMISSION_MONTHLY: case DEAL_TYPE_COMMISSION_AGENT_DAILY: case DEAL_TYPE_COMMISSION_AGENT_MONTHLY: case DEAL_TYPE_INTEREST: str=StringFormat("#%I64u %s %s [%s]", Ticket(), FormatAction(type,DealType()), DoubleToString(Profit(),2), this.Comment()); break; default: str="unknown deal type "+(string)DealType(); } //--- return the result return(str); } //+------------------------------------------------------------------+ //| Select a deal on the index | //+------------------------------------------------------------------+ bool CDealInfo::SelectByIndex(const int index) { ulong ticket=HistoryDealGetTicket(index); if(ticket==0) return(false); Ticket(ticket); //--- return(true); } //+------------------------------------------------------------------+