cdouble and cdoublevector
Info
The cdouble and cdoublevector is a Library for MetaTrader 5 that a library for common rounding methods in mql development, offering a primitive wrapper class for double type and a vector for cdouble objects. Compatible with MQL5 and MQL4.
Usage
This tool is typically used for enhancing chart analysis and decision making.
Platform
This Library works exclusively on MetaTrader 5 (both build 600+ and newer versions).
Setup
Place the downloaded file in MQL5/Libraries folder via File ? Open Data Folder in MetaTrader 5.
How to Install and Use cdouble and cdoublevector
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.
What this tool does
a library for common rounding methods in MQL development, offering a primitive wrapper class for double type and a vector for cdouble objects.
Typical Use Case
This Library excels in automated trading and technical analysis on MetaTrader 5.
Compatible Platform & Setup
This Library works on MetaTrader 5. Place the file in the MQL5/Libraries folder and restart the terminal.
Description & Settings
Related: cpaired deal info class - another powerful library for MetaTrader 5 traders.
a library for common rounding methods in MQL development, offering a primitive wrapper class for double type and a vector for cdouble objects. Compatible with MQL5 and MQL4.Also recommended: pn g - similar library with strong performance on MetaTrader 5.
cdouble
The cdouble class wraps a double value in an object, providing methods and static methods for rounding doubles and arrays/collections of type double.
Declaration
Title
Inheritance Hierarchy
cdouble
Virtual methods implemented/overridden from class cobject: , , , .
An object of type cdouble contains five data fields:
Practical Example
Here's an example of the wrapper class in action:
Static Method Example
Another example using the static library methods:
Static Method Summary
Note: You don't need to know OOP or use a wrapper class instance to utilize this library. Simply call the static functions with cdouble scope resolution. Syntax:
Examples:
Constructor Summary
Examples:
Assignment Summary - Overloaded Assignment Operators
Note: The = assignment operator can be used in the same line as the declaration.
Examples:
Overloaded Arithmetic Operator Summary
Note: Only one arithmetic operator can be used per statement.
Syntax for Overloaded Arithmetic Operators:
Examples:
Overloaded Comparison Operator Summary
Examples:
Instance Method Summary
Precision Control (Defaults): digits = 8; step = 1e-08
Precision can be controlled in three ways: step, digits, or precisionmode(enum_precision). Any call to these setter methods will override previous settings.
Step is either the _point, lot_step, or ticksize as a floating point (e.g. 0.00001, 0.025).
Setting the step is optional, as roundtotick and roundtolot automatically use the appropriate step values.
Examples:
Virtual Method Summary
Methods overridden from cobject:
cdoublevector
The cdoublevector class is an object pointer collection specialized for cdouble dynamic instances.
Declaration
Title
Inheritance Hierarchy
cdoublevector
Virtual methods implemented/overridden from class carrayobj: .
Instance Method Summary
See for inherited public methods.
Examples:
You may also like: as q telegram notifier: real-time trade alerts and performance insights - excellent alternative for library users on MetaTrader 5.
Source Code
#property copyright "robotfx"
#property link "https://robotfx.org"
#property version "1.00"
#include <double.mqh>
void onstart()
{
{
print("cdouble size = ",sizeof(cdouble)," bytes");
mqltick tick;
symbolinfotick(_symbol,tick);
.......
⚠ Limitations & Risk Warning
- This tool is provided for educational and testing purposes only.
- Past performance does not guarantee future results.
- Trading involves substantial risk of loss. Use on a demo account first.
- Results may vary depending on market conditions, broker, and settings.
- We recommend thorough backtesting and forward testing before using with real funds.