You can see my programming here:
http://www.reeftronics.net/d-m/apex-program
After you get the wave you want for your tank, and it isn't as simple as copping someone's programing because due to size and rock work, yours will be different. I also have some programing there for night mode, and if a power outage happens and the water level goes down a bit, water isn't sloshing over the edges (yes that happened).
[ Tunze_L ] ( base_Var1 )
Program Type: Advanced
Display Icon: Up/Down Arrows
Program:
Set Night_L
If Time 09:00 to 09:29 Then Dusk_L
If Time 09:30 to 21:59 Then Day_L
If Time 22:00 to 22:30 Then Dusk_L
If Outlet v_FlushTimer = ON Then FlushA
If Outlet v_Random = ON Then Random_L
If Outlet v_Wave = ON Then Day_L2
If Outlet v_Vacation = ON Then Feed
If Power EB4_6 OFF 000 Then Night_L
If Power EB8_4 OFF 000 Then Night_L
If FeedA 005 Then Feed
If FeedB 005 Then Feed_2
If Outlet v_OVERFLOW!! = ON Then Night_L
[ Tunze_R ] ( base_Var2 )
Program Type: Advanced
Display Icon: Left/Right Arrows
Program:
Set Night_R
If Time 09:00 to 09:29 Then Dusk_R
If Time 09:30 to 21:59 Then Day_R
If Time 22:00 to 22:30 Then Dusk_R
If Outlet v_FlushTimer = ON Then FlushB
If Outlet v_Random = ON Then Random_R
If Outlet v_Wave = ON Then Day_R2
If Outlet v_Vacation = ON Then Feed
If Power EB4_6 OFF 000 Then Night_R
If Power EB8_4 OFF 000 Then Night_R
If FeedA 005 Then Feed
If FeedB 005 Then Feed_2
If Outlet v_OVERFLOW!! = ON Then Night_R
PROFILES
[ Day_L ] ( PF1 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 0
On Time: 5
Off Time: 5
Minimum Intensity: 30
Maximum Intensity: 60
[ Day_R ] ( PF2 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 5
On Time: 5
Off Time: 0
Minimum Intensity: 0
Maximum Intensity: 50
[ Night_L ] ( PF3 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 10
On Time: 10
Off Time: 0
Minimum Intensity: 0
Maximum Intensity: 50
[ Night_R ] ( PF4 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 0
On Time: 10
Off Time: 10
Minimum Intensity: 0
Maximum Intensity: 40
[ FlushB ] ( PF5 )
Type: Pump
Synchronize: Disable
Divide By 10: Disable
Initial Off Time: 0
On Time: 5
Off Time: 10
Minimum Intensity: 0
Maximum Intensity: 30
[ Feed ] ( PF6 )
Type: Pump
Synchronize: Disable
Divide By 10: Disable
Initial Off Time: 0
On Time: 1
Off Time: 7
Minimum Intensity: 0
Maximum Intensity: 30
[ Feed_2 ] ( PF7 )
Type: Pump
Synchronize: Disable
Divide By 10: Disable
Initial Off Time: 1
On Time: 1
Off Time: 1
Minimum Intensity: 0
Maximum Intensity: 0
[ FlushA ] ( PF8 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 0
On Time: 10
Off Time: 1
Minimum Intensity: 100
Maximum Intensity: 100
[ Dusk_L ] ( PF9 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 0
On Time: 10
Off Time: 10
Minimum Intensity: 30
Maximum Intensity: 50
[ Dusk_R ] ( PF10 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 10
On Time: 10
Off Time: 0
Minimum Intensity: 30
Maximum Intensity: 50
[ Random_L ] ( PF11 )
Type: Pump
Synchronize: Enable
Divide By 10: Disable
Initial Off Time: 1
On Time: 1
Off Time: 1
Minimum Intensity: 0
Maximum Intensity: 100
[ Random_R ] ( PF12 )
Type: Pump
Synchronize: Disable
Divide By 10: Disable
Initial Off Time: 2
On Time: 1
Off Time: 1
Minimum Intensity: 0
Maximum Intensity: 100
[ Day_L2 ] ( PF13 )
Type: Pump
Synchronize: Enable
Divide By 10: Enable
Initial Off Time: 0
On Time: 30
Off Time: 30
Minimum Intensity: 30
Maximum Intensity: 60
[ Day_R2 ] ( PF14 )
Type: Pump
Synchronize: Enable
Divide By 10: Enable
Initial Off Time: 30
On Time: 30
Off Time: 0
Minimum Intensity: 30
Maximum Intensity: 60