Zitat:
Zitat von gluema
Hallo zusammen,
habe mich am Wochenende mal hingesetzt und versucht einen EA yu programmieren. Leider werden die TP und Sl falsch gesetzt.Anstatt vom Eröffnungskurs soundsoviel Pips entfernt wird der SL und TP bei der Eingabe gesetzt.Als Beispiel Einstieg Dax bei 9000 mit SL von 50 Pips wird der Sl dann bei Kurs 50 gesetzt und nicht bei 9005. Wo ist mein Fehler?
ich habe die Buy und Sell Bedingung bewusst aus dem Beispiel raus gelöscht weil die hierfür keine Rolle spielen.
MfG
Chris
|
Code:
//+------------------------------------------------------------------+
// expert start function
//+------------------------------------------------------------------+
int start()
{
double MyPoint=Point;
if(Digits==3 || Digits==5) MyPoint=Point;
double TheStopLoss=0;
double TheTakeProfit=0;
if( TotalOrdersCount()==0 )
{
int result=0;
if(() // Eroffnung BUY ????????????????
{
result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,StopLoss,0,"EA Generator BUY",MagicNumber,0,Green);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
OrderSelect(result,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
}
return(0);
}
if() // Eroffnung SELL ????????????????
{
result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator SELL",MagicNumber,0,Red);
if(result>0)
{
TheStopLoss=0;
TheTakeProfit=0;
if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
OrderSelect(result,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
}
return(0);
}
}