How to stop and start servo motor code from On/Off switch

This is my code for a robotic arm, i would like to know how can i start and stop this from a switch? and then have it restart the whole sequence over again.

#include <Servo.h>

Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
// create servo object to control a servo
// twelve servo objects can be created on most boards

int pos1 = 60; // variable to store the servo position
int pos2 = 150;
int pos3 = 80;
int pos4 = 90;

void setup() {
servo1.attach(9); // attaches the servo on pin 9 to the servo object
servo2.attach(6);
servo3.attach(5);
servo4.attach(3);}

void loop() {

// ----------neutral vor Kiste holen--------------
for (pos1 = 90; pos1 >= 80; pos1 -= 1) { // goes from 60 degrees to 90 degrees
// in steps of 1 degree
servo1.write(pos1); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}

for (pos2 = 90; pos2 >= 60; pos2 -= 1) { // goes from 150 degrees to 90 degrees
// in steps of 1 degree
servo2.write(pos2); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
for (pos3 = 100; pos3 >= 60; pos3 -= 1) { // goes from 80 degrees to 60 degrees
// in steps of 1 degree
servo3.write(pos3); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
servo4.write(90); // opens gripper

// ----------Kiste holen--------------
for (pos1 = 80; pos1 <= 90; pos1 += 1) { // goes from 60 degrees to 90 degrees
// in steps of 1 degree
servo1.write(pos1); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}

for (pos2 = 60; pos2 <= 90; pos2 += 1) { // goes from 150 degrees to 90 degrees
// in steps of 1 degree
servo2.write(pos2); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
servo4.write(20); // closes gripper

// ----------Kiste anheben--------------
for (pos1 = 90; pos1 >= 60; pos1 -= 1) { // goes from 60 degrees to 90 degrees
// in steps of 1 degree
servo1.write(pos1); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
for (pos2 = 90; pos2 <= 150; pos2 += 1) { // goes from 150 degrees to 90 degrees
// in steps of 1 degree
servo2.write(pos2); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
for (pos3 = 60; pos3 <= 100; pos3 += 1) { // goes from 80 degrees to 60 degrees
// in steps of 1 degree
servo3.write(pos3); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}

// ----------Kiste ablegen--------------
for (pos1 = 60; pos1 <= 90; pos1 += 1) { // goes from 60 degrees to 90 degrees
// in steps of 1 degree
servo1.write(pos1); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}
for (pos2 = 150; pos2 >= 90; pos2 -= 1) { // goes from 150 degrees to 90 degrees
// in steps of 1 degree
servo2.write(pos2); // tell servo to go to position in variable 'pos'
delay(20); // waits 15ms for the servo to reach the position
}

servo4.write(90); // opens gripper

delay(3000);
};