How to get an average of a sinusoidal signal?
It's 0. Anything sinusoidal integrated over its period is 0, so in the limit of averaging time going to infinity, it's going to be zero.
I'll hence assume you're asking because you have the sum of a constant offset and a sinusoidal signal.
I tried to use exponential moving average with low cut-off frequency (about 1.6 Hz) but is not work. basically the amplitude of the sinusoidal is big and the filter return a small sinusoidal not the average.
That means the low-pass filter you chose (your EWMA) does not have sufficient (for your application) suppression at the frequencies appearing that you want to suppress (in your application).
So, design a better low pass filtr:
A good lowpass filter could work?
Yes, but if this really is a periodic signal of known frequency, something that has strong suppression at multiples of the fundamental suffices; you don't have to be great at suppressing all frequencies above a cutoff, just the ones where there's actual energy.
or I should try a big moving average window?
That is just a specific low-pass. It's usually not a good one, but in this case, with slight windowing, might be quite elegant, because it has frequency response with zeros every multiple of the inverse of its length.
or just sum the values in a period and divide by the samples in that period to get arithmetic average.
That is literally the same as a moving average.