I am trying to implement this but having difficulty, it seems that the values only update after each new period is complete, instead of updating after each sample is added (with a rolling period). I have shown it below with a period of 3 for brevity.

AverageDirectionalIndex adx = new AverageDirectionalIndex(3);

09:35:00 READY? True VALUE: 50
09:36:00 READY? True VALUE: 50
09:37:00 READY? True VALUE: 50

09:38:00 READY? True VALUE: 75
09:39:00 READY? True VALUE: 75
09:40:00 READY? True VALUE: 75

09:41:00 READY? True VALUE: 50
09:42:00 READY? True VALUE: 50
09:43:00 READY? True VALUE: 50

09:44:00 READY? True VALUE: 65
09:45:00 READY? True VALUE: 65
09:46:00 READY? True VALUE: 65

09:47:00 READY? True VALUE: 80.12
09:48:00 READY? True VALUE: 80.12
09:49:00 READY? True VALUE: 80.12

09:50:00 READY? True VALUE: 89.48
09:51:00 READY? True VALUE: 89.48
09:52:00 READY? True VALUE: 89.48