*** Please help: Order related EA

hi, any coder, hope can have your help to code the below EA:

1) EA will open ONE ORDER ONLY with 1 lot OP_BUY at marker price with TP = 20pips.
2) Once TP is hit, EA WILL THEN ONLY open new pending order OP_BUYLIMIT at 20 pips below current market price with TP = 20pips.
3) And this process will continue until user deactivate this EA.
4) Can the ALL involve orders (OP_BUY & OP_BUYLIMIT use the SAME magic number? If can, please help to insert this same magic number criteria into the correct source code :) )

Problems face:
1) The OP_BUY order below code is open many times by EA *** (pls help to make EA open ONLY one OP_BUY, until this OP_BUY is closed)
2) The OP_BUYLIMIT is also opened many times (instead I want it to be opened only one time)

//// Below is the EA source code i built, of course, with above 2 problems face ... (i think because i am a newbies in mql4...)

extern double Lot = 1;
extern int TP = 20;
extern int Slippages = 3;
extern int Magic_Buy = 1000;

int start()
//// EA opens one and only one order (only until this order is closed at TP, then it will open another OP_BUYLIMIT)

{OrderSend(Symbol(), OP_BUY, Lot, Ask, Slippages, 0, Bid+TP*Point, "Buy1", Magic_Buy, NULL, CLR_NONE);}

//// Once TP is reached, EA will be informed through Magic_Buy at history trade

for(int i=1;i>=0;i--)

if (OrderMagicNumber()== Magic_Buy)
OrderSend(Symbol(), OP_BUYLIMIT, Lot, Ask-20*Point, S, 0, Bid, "Buy2", Magic_Buy, NULL, CLR_NONE);


//// Then the above process (open 1 order & order close at TP... open 1 order & order closed at TP ...) is repeated unlimited time until user manually deactivate EA