Einzelnen Beitrag anzeigen
  #9 (permalink)  
Alt 30.06.14
pako pako ist offline
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von gluema Beitrag anzeigen
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);
     }
  }