mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-23 21:18:04 +00:00
event tests
This commit is contained in:
@@ -5,22 +5,26 @@ namespace QuanTAlib;
|
||||
public class Frama : AbstractBase
|
||||
{
|
||||
private readonly int _period;
|
||||
private readonly double _fc;
|
||||
private readonly CircularBuffer _buffer;
|
||||
private double _lastFrama;
|
||||
private double _prevLastFrama;
|
||||
|
||||
public Frama(int period, double fc = 0.5)
|
||||
public Frama(int period)
|
||||
{
|
||||
if (period < 2)
|
||||
throw new ArgumentException("Period must be at least 2", nameof(period));
|
||||
|
||||
_period = period;
|
||||
_fc = fc;
|
||||
_buffer = new CircularBuffer(period);
|
||||
WarmupPeriod = period;
|
||||
}
|
||||
|
||||
public Frama(object source, int period) : this(period)
|
||||
{
|
||||
var pubEvent = source.GetType().GetEvent("Pub");
|
||||
pubEvent?.AddEventHandler(source, new ValueSignal(Sub));
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
@@ -95,4 +99,4 @@ public class Frama : AbstractBase
|
||||
{
|
||||
return _lastFrama;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,12 @@ public class Jma : AbstractBase
|
||||
Init();
|
||||
}
|
||||
|
||||
public Jma(object source, int period, double phase = 0, int vshort = 10) : this(period, phase, vshort)
|
||||
{
|
||||
var pubEvent = source.GetType().GetEvent("Pub");
|
||||
pubEvent?.AddEventHandler(source, new ValueSignal(Sub));
|
||||
}
|
||||
|
||||
public override void Init()
|
||||
{
|
||||
_upperBand = _lowerBand = _prevMa1 = _prevDet0 = _prevDet1 = _prevJma = 0.0;
|
||||
|
||||
@@ -25,7 +25,11 @@ public class Rema : AbstractBase
|
||||
WarmupPeriod = period;
|
||||
Init();
|
||||
}
|
||||
|
||||
public Rema(object source, int period, double lambda = 0.5) : this(period, lambda)
|
||||
{
|
||||
var pubEvent = source.GetType().GetEvent("Pub");
|
||||
pubEvent?.AddEventHandler(source, new ValueSignal(Sub));
|
||||
}
|
||||
public override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
Reference in New Issue
Block a user