The CHistoryPositionInfo class is designed for getting the profit of a position in points based on the trading history.
Class Description
The CHistoryPositionInfo class allows getting the profit of a position in points based on the trading history.
Declaration
class CHistoryPositionInfo : public CArrayObj
Title
#include <HistorySelect_\HistoryPositionInfo.mqh>
Class Methods by Groups
| Initialization | |
|---|---|
| Init | Initialization using a position ID |
| Access to the calculation result | |
| GetProfitInPoints | Getting the profit of a position in points |
| Setting parameters | |
| LogErrors | Enable/disable logging of errors |
| PrintDeals(const bool value) | Enable/disable deal print mode |
| Printing deals | |
| PrintDeals(void) | Printing the deals that formed the position |
An example of using CHistoryPositionInfo:
//+------------------------------------------------------------------+ //| TestHistoryPositionInfo.mq5 | //| Copyright © 2017, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2017, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.003" #property script_show_inputs //--- input long position_id=0; // position identifier - POSITION_IDENTIFIER input bool log_errors=true; // logging errors input bool print_deals=true; // print deals #include <HistorySelect_\HistoryPositionInfo.mqh> //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Print("\nSearch deals with POSITION_IDENTIFIER ",IntegerToString(position_id)); CHistoryPositionInfo HistoryPositionInfo; //--- init position identifier HistoryPositionInfo.Init(position_id); //--- los errors HistoryPositionInfo.LogErrors(log_errors); //--- print deals HistoryPositionInfo.PrintDeals(print_deals); //--- double profit_in_points=0.0; if(HistoryPositionInfo.GetProfitInPoints(profit_in_points)) Print("Profit in points ",DoubleToString(profit_in_points,1)); else Print("GetProfitInPoints=false"); } //+------------------------------------------------------------------+