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