Easy to use Hedging Class for MQ L5 by Peter Mueller
This is a powerful addition to your MetaTrader 5 toolkit designed to optimize market analysis and performance. This library provides a collection of modular, reusable code. It is utilized by developers to organize common functions, allowing for the integration of complex logic across multiple Expert Advisors, indicators, or scripts without the need for code duplication.
How to Setup and Use Easy to use Hedging Class for MQ L5 by Peter Mueller
1. Storage: Place library files in the MQL/Libraries directory to ensure they are accessible to your projects.
2. Implementation: Include the library in your code using the #import directive, ensuring you match the exact function names and parameters.
3. Compilation: Ensure the library is present in the directory before you compile your main EA or script, as the compiler links them during this phase.
4. Management: Keep libraries organized in sub-folders if you manage many custom functions to maintain a clean project structure.
Frequently Asked Questions
Q: What is a library file used for? A: Libraries store reusable code modules, allowing you to centralize common logic used by multiple EAs or indicators.
Q: Is a library executable? A: No, libraries are non-executable files containing functions; they must be imported into an EA, indicator, or script to function.
Q: Can I update a library while the platform is running? A: You should compile your EA or script after updating a library to ensure the latest code changes are integrated.
Description & Settings
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
:
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.