TestHistoryPositionInfo_v1

Author: Copyright © 2017, Vladimir Karputov
0 Views
0 Downloads
0 Favorites
TestHistoryPositionInfo_v1
ÿþ//+------------------------------------------------------------------+

//|                                      TestHistoryPositionInfo.mq5 |

//|                              Copyright © 2017, Vladimir Karputov |

//|                                           http://wmua.ru/slesar/ |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2017, Vladimir Karputov"

#property link      "http://wmua.ru/slesar/"

#property version   "2.000"

#property script_show_inputs

//---

input datetime from_date   = __DATE__-60*60*24*5;  // from date (current time - 5 days)

input datetime to_date     =__DATE__+60*60*24;     // to date (current time + 1 days)

input bool     log_errors  = true;                 // logging errors

input bool     print_deals = true;                 // print deals

#include <HistorySelect_\HistoryPositionInfo.mqh>

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

void OnStart()

  {

//---

   long arr_tickets[];

//--- request trade history 

   HistorySelect(from_date,to_date);

//---

   uint     total=HistoryDealsTotal();

   ulong    ticket=0;

   long     position_id=0;

//--- for all deals 

   for(uint i=0;i<total;i++)

     {

      //--- try to get deals ticket 

      if((ticket=HistoryDealGetTicket(i))>0)

        {

         //--- get deals properties 

         position_id=HistoryDealGetInteger(ticket,DEAL_POSITION_ID);



         int arr_size=ArraySize(arr_tickets);

         bool search=false;

         for(int ii=0;ii<arr_size;ii++)

           {

            if(arr_tickets[ii]==position_id)

              {

               search=true;

               continue;

              }

           }

         if(!search)

           {

            ArrayResize(arr_tickets,arr_size+1,100);

            arr_tickets[arr_size]=position_id;

           }

        }

     }

//---

   int arr_size=ArraySize(arr_tickets);

   for(int i=0;i<arr_size;i++)

     {

      Print("");

      Print("Search deals with POSITION_IDENTIFIER ",IntegerToString(arr_tickets[i]));



      CHistoryPositionInfo HistoryPositionInfo;

      //--- init position identifier

      HistoryPositionInfo.Init(arr_tickets[i]);

      //--- los errors

      HistoryPositionInfo.LogErrors(log_errors);

      //--- print deals

      HistoryPositionInfo.PrintDeals(print_deals);

      //---

      double profit_in_points=0.0;

      double commission=0.0;

      double swap=0.0;

      double profit=0.0;



      if(HistoryPositionInfo.GetProfit(profit_in_points,commission,swap,profit))

         Print("Profit in points ",DoubleToString(profit_in_points,1),

               ", commission ",DoubleToString(commission,2),

               ", swap ",DoubleToString(swap,2),

               ", profit ",DoubleToString(profit,2));

     }

  }

//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---