Easy to use Hedging Class for MQL4 by Peter Mueller – library MetaTrader 4 – library MetaTrader 4


Input Parameters:

  • OrderDistancePoints : Determines the distance in points from the current ask price for placing buy orders and from the bid price for placing sell orders.
  • TPPoints : Specifies the take profit target in points.
  • Startlotsize : Sets the initial lot size for trades.
  • Gainperlot : Defines the desired gain per lot size.

The Code is full of comments, I’d recommend checking it out if you want to understand everything. 

The following functions are important: 

1 SetParameters:

  • void SetParameters(double TargetProfit, double Startlot, double GainPerLot, double BuyLevel, double SellLevel);
  • Sets various parameters for the trading strategy including target profit, starting lot size, gain per lot, buy level (price), and sell level (price).

2 TargetProfit:

  • void TargetProfit(double value);
  • double TargetProfit();
  • Setter and getter methods for the target profit parameter. Allows setting and retrieving the target profit value for the trading strategy.
3 GainPerLot:
  • void GainPerLot(double value);
  • Setter method for specifying the gain per lot. Sets the amount of profit desired for each traded lot.

4 SqueezeDistance:

  • void SqueezeDistance(double value);
  • Sets the distance used for squeezing in the trading strategy. Determines how far away from the current price levels pending orders are placed.

5 SetHardSL:

  • void SetHardSL(int points);
  • Sets the hard stop loss for trades, specified in points. Establishes a fixed level at which a position will automatically be closed to limit potential losses.

6 LongVolume:

  • double LongVolume();
  • Retrieves the total volume of long positions currently open in the trading strategy.

7 ShortVolume:

  • double ShortVolume();
  • Retrieves the total volume of short positions currently open in the trading strategy.

8 LongPendingVol:

Alternative:  DoubleChannelEA - EA MetaTrader 4
  • double LongPendingVol();
  • Retrieves the total volume of pending long orders that have not been executed yet.

9 ShortPendingVol:

  • double ShortPendingVol();
  • Retrieves the total volume of pending short orders that have not been executed yet.

10 TradeCount:

  • uint TradeCount();
  • Retrieves the total number of active trades and orders currently managed by the trading strategy.

11 Run:

  • bool Run();
  • Initiates the execution of the trading strategy. Returns true if the strategy starts successfully.

12 onTick:

  • void onTick();
  • Function to be called within the OnTick() function of the Expert Advisor (EA). Handles logic and actions based on current market conditions and updates.

13 BuildFromTheInside:

  • void BuildFromTheInside(double Vol, double BuyPrice, double SellPrice);
  • Initiates the creation of new trading positions ( Vol ) within the specified buy and sell price levels ( BuyPrice , SellPrice ) to capitalize on market movements.

14 Stop:

  • void Stop();
  • Stops ( m_IsRunning ) the execution of the trading strategy. Ceases further trading actions until restarted.

15 Running:

  • bool Running();
  • Checks if the trading strategy is currently running ( m_IsRunning ). Returns true if the strategy is actively executing trades.

16 LastLongPrice:

  • double LastLongPrice();
  • Retrieves the price at which the last long position or order ( m_LastLongTicket ) was initiated. Returns 0 if no such information is available.

17 LastShortPrice:

  • double LastShortPrice();
  • Retrieves the price at which the last short position or order ( m_LastShortTicket ) was initiated. Returns 0 if no such information is available.

18 AddTicket:

  • bool AddTicket(ulong Ticket); 
  • Adds a trading ticket ( Ticket ) to the batch of orders managed by the trading strategy. Returns true if the ticket is successfully added.
Alternative:  Constant Range Detector - indicator MetaTrader 4





📈 ROBOTFX MetaTrader Expert Advisors and Indicators to maximize profits and minimize the risks