Na codzień gram z ręki, ale naszla mnie pewna myśl o stworzeniu automatu. Zaznaczam iz jestem totalnym zółtodziobem w tych sprawach. Przeszukałem całe forum i z tego co znalazłem poskładałem sobie prezentowany automacik

Jednak jest pare ale co mnie przerasta

1. jak 1 oczekujące zlecenie zostanie zawarte to nie usuwa 2 oczekujacego zlecenia,
2. nie wiem co wpisac aby po osiągnięciu jakiegoś zysku (np.25 pip) przestawił sl na be+1 pip,
Oto kod:
int Slippage=10;
extern int sl=10;
extern int tp=50;
extern int odleglosc= 10;
extern int godzina_zlecenia=00;
extern int minuty=00;
extern int sekundy=00;
extern double procent_kapitalu = 3;
int moj_stop = 100;
int MagicNumber=123;
int ticket;
int start()
{
// Wyliczanie lota do wielkości kapitału
double tickvalue = MarketInfo(Symbol(),MODE_TICKVALUE);
double ryzyko = AccountBalance()*procent_kapitalu/100;
double lot_size = ryzyko / tickvalue / moj_stop;
if(lot_size < MarketInfo(Symbol(),MODE_MINLOT)) lot_size = MarketInfo(Symbol(),MODE_MINLOT);
if(lot_size > MarketInfo(Symbol(),MODE_MAXLOT)) lot_size = MarketInfo(Symbol(),MODE_MAXLOT);
// Otwarcie zleceń oczekujących przeciwstawnych
if( NewCandle() )
if( Hour()==godzina_zlecenia && Minute()==minuty && Seconds() ==sekundy)
{ ticket=OrderSend(Symbol(),OP_BUYSTOP,lot_size,Ask+ odleglosc *Point,Slippage,Ask+(odleglosc-sl)*Point,Ask+(odleglosc+tp)*Point," ",MagicNumber,0);
ticket=OrderSend(Symbol(),OP_SELLSTOP,lot_size,Bid-odleglosc*Point,Slippage,Bid+(odleglosc+sl)*Point,Bid-(odleglosc+tp)*Point," ",MagicNumber,0);
}
// Jesli zlecenie sie otworzy to przeciwstawne zostaje usuniete
if( (OP_BUY)!=0 & OP_SELLSTOP!=1)
{ OrderDelete(OP_SELLSTOP!=1);
}
if( (OP_SELL)!=0 & OP_BUYSTOP!=1)
{ OrderDelete(OP_SELLSTOP!=1);
}
return(0);
}
bool NewCandle()
{ static datetime PrevTime1;
if (iTime(NULL,60,0) != PrevTime1)
{ PrevTime1=iTime(NULL,60,0);
return(true);
}
else return(false);
}
Pozdrawiam i za jaką kolwiek pomoc dziękuję