15.08.14
|
|
Premium Mitglied
|
|
Registriert seit: Dec 2013
Ort: hier und dort
Beiträge: 433
|
|
Zitat:
Zitat von Crashbulle
Die meisten EA's arbeiten mit einer eingebauten Routine, welche beim 5-Digit diese automatisch auf 4-Digit kastriert. Hierbei gibst du dann für alle Broker nur noch die gleichen Pip-Werte ein unter fortfall der 5. Stelle.
|
pipwert bspw. 10.0 für 10 pip
simple funktion, bei nicht-multipair-eas reicht es diese einmal im init-teil aufzurufen ( BrokerDigitAdjust(Symbol()); ):
als externer parameter ebenfalls den Wert int Slippage = 3; (bspw.) angeben sowie die variable double pips2dbl; deklarieren, dann die funktion:
Code:
void BrokerDigitAdjust(string symbol) {
int Multiplier = 1;
int digits=MarketInfo(symbol,MODE_DIGITS);
if (digits==3 || digits==5) Multiplier = 10;
if (digits==6) Multiplier = 100;
if (digits==7) Multiplier = 1000;
pips2dbl = Multiplier*MarketInfo(symbol,MODE_POINT);
Slippage*=Multiplier;
//Slippage=slippagepips*Multiplier;
}
dann bei pipberechnungen anstelle von point nun pips2dbl verwenden, bspw.
double takeprofitprice = Bid+(TakeProfitPips*pips2dbl);
|