mql5/Experts/Advisors/DualEA/Tests/Test_VolatilitySizer.mq5
2025-09-25 00:25:48 -04:00

31 lines
1 KiB
MQL5

//+------------------------------------------------------------------+
//| Test_VolatilitySizer.mq5 |
//| Unit test for CVolatilitySizer |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
#include "..\\Include\\VolatilitySizer.mqh"
input int Verbosity = 2;
void OnStart()
{
Print("[Test] CVolatilitySizer: BEGIN");
CVolatilitySizer vs(_Symbol, _Period);
vs.SetATRPeriod(14);
vs.SetBaseATRPercent(0.5);
vs.SetMultiplierRange(0.5, 2.0);
vs.SetTargetRiskPercent(1.0);
vs.SetEnabled(true);
double base_vol = 0.1;
double sl_points = 50;
double vol_mult = 1.0;
string reason = "";
double result = vs.CalculatePositionSize(base_vol, sl_points, vol_mult, reason);
if(result > 0)
PrintFormat("PASS: CalculatePositionSize returned %.2f (%s)", result, reason);
else
Print("FAIL: CalculatePositionSize returned non-positive");
Print("[Test] CVolatilitySizer: END");
}