ZigZag Semaphore ( semafor )
This indicator places a mark (a semaphore, spelling is semaphore and retained from the original) at the zig-zag for each of 4 zig zag evaluation lengths. This means the zig-zag does not draw lines on the charts, just marks the locations of the zig-zags. The algorithm is one of the simpler algorithms for zig-zag, found in a posting for “!!!-MT4 SEMAFOR”, and is implemented in the methods “DetectNewSwing”, “LoadIndiBuffers” and “SetSwingBarValues””. The original would not run in the strategy tester (I believe it would not run real-time, only correctly producing marks on the history at startup). This version runs fine in the strategy tester. I believe the algorithm as implemented is true to the original, it seems to create the marks true to the positions of the original, including with the flaws I could see. A more elaborate algorithm could be implemented into the mentioned functions if needed.
The marks show the level of the mark with a small white dot for level one, a red circle around the white dot for level 2, a yellow circle around both the white dot and red circle for level 3, and finally, a green circle around them all for level 4.