Semaphore signal indicator based on the Elliott_Wave_Oscillator indicator algorithm.
Input Parameters:
//+----------------------------------------------+ //|  INDICATOR INPUT PARAMETERS                 | //+----------------------------------------------+ input ENUM_MODE Mode=MODE1; //Signal defining algorithm input Smooth_Method MA_Method1=MODE_SMA_; //Method of averaging of the first Moving Average input int Length1=5; //Depth of the first Moving Average                  input int Phase1=15; //Parameter of the first Moving Average, //---- for JJMA within the range of -100 ... +100 it influences the quality of the transition process; //---- for VIDIA it is a CMO period, for AMA it is a slow average period input Applied_price_ IPC1=PRICE_MEDIAN_;//First MA price constant input Smooth_Method MA_Method2=MODE_JJMA; //Second MA averaging method input int Length2=35; //Depth of the second MA input int Phase2=15;  //Parameter of the second MA, //---- for JJMA within the range of -100 ... +100 it influences the quality of the transition process; //---- for VIDIA it is a CMO period, for AMA it is a slow average period input Applied_price_ IPC2=PRICE_MEDIAN_;//Second MA price constant input int Shift=0; // Horizontal indicator shift in bars input bool Sign=true; //Activate a one-time audio signal when the arrow appears at a closed barThe indicator uses the classes of SmoothAlgorithms.mqh library (copy it to <terminal_data_folder>\MQL5\Include). The use of the classes was thoroughly described in the article “Averaging Price Series for Intermediate Calculations Without Using Additional Buffers”.
Fig.1. Elliott_Wave_Oscillator_Sign