31 lines
1 KiB
MQL5
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");
| |||
}
|