Hallo Andreas!
Nun das mit dem Proggen ist so eine Sache, aber ich bin geneigt Dir etwas unter die Arme zu greifen.
Zuerst solltes Du Dir eine Kopie des Originals machen, damit Du auf dieses zurückgreifen kannst wenn was schief gehen sollte.
Nun öffnest Du den EA im MetaEditor. (rechte Maustaste auf MACDSample und auf Edit oder Ändern klicken)
Im oberen Teil fügst Du wie folgt ein:
Code:
input double TakeProfit =50;
input double Lots =0.1;
input double TrailingStop =30;
input double MACDOpenLevel =3;
input double MACDCloseLevel=2;
input int MATrendPeriod =26;
#ab hier einfügen
input double StopLoss = 30;
input int MagigNumber = 16384;
double dPoint;
Danach gehst Du mit dem Menüpunkt: Edit->Find & Replace und dem Wert 16384 durch den Code und ersetzt in den OrderSend - befehlen die Nummer durch den Wert MagigNumber.
Nun widmen wir uns dem 5 Digits zu.
ganz unten nach der letzten schließenden Klammer fügst Du folgendes ein:
Code:
int OnInit()
{
dPoint = MarketInfo(Symbol(), MODE_POINT);
if(Digits == 5 || Digits == 3) {
dPoint *= 10;
}
return (INIT_SUCCEEDED);
}
Danach gehst Du mit dem Menüpunkt: Edit->Find & Replace und dem Wert
Point durch den Code und ersetzt Point durch dPoint.
Nun zu SL
Die Zeile:
Code:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*dPoint,"macd sample",MagigNumber,0,Green);
ergänzt Du folgendermaßen:
Code:
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-dPoint*StopLoss,Ask+TakeProfit*dPoint,"macd sample",MagigNumber,0,Green);
gleiches gilt auch für die BUY_SELL Order. Aus:
Code:
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*dPoint,"macd sample",MagigNumber,0,Red);
wird:
Code:
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+dPoint*StopLoss,Bid-TakeProfit*dPoint,"macd sample",MagigNumber,0,Red);
Ich hoffe ich konnte Dir damit weiterhelfen.
Habe es nicht compiliert sondern nur Deine Änderungen eingepflegt sodass es laufen sollte.
Bei evtl. auftretenden Problemen einfach Fragen.
lg
DocRandom