Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
... in diesem Teil des Codes ist ein Problem mit neuen Kompilierung (Fehler ---> 'MarketInfo' - illegale switch Ausdruckstyp) vielleicht war es alles OK, bis das Update auf MT4 build 600+ ... aber seitdem funktioniert es nicht mehr.
Könnten Sie also bitte eine neuere Version posten ... wenn Sie natürlich noch da sind.
Ich denke, wenn Sie wechseln
switch ( MarketInfo( strSymbol, MODE_DIGITS ) )
zu
Es wird gut kompiliert
... in diesem Teil des Codes ist ein Problem mit neuen Kompilierung (Fehler ---> 'MarketInfo' - illegale switch Ausdruckstyp) vielleicht war es alles OK, bis das Update auf MT4 build 600+ ... aber seitdem funktioniert es nicht mehr.
Könnten Sie also bitte eine neuere Version posten ... wenn Sie natürlich noch da sind.
https://book.mql4.com/operators/switch
"Die Werte von Expression und Parametern können nur Werte vom Typ int sein. Der Ausdruck kann eine Konstante, eine Variable, ein Funktionsaufruf oder ein Ausdruck sein. Jede Variante 'case' kann durch eine Integer-Konstante, eine Zeichenkonstante oder einen konstanten Ausdruck gekennzeichnet sein. Ein konstanter Ausdruck kann keine Variablen oder Funktionsaufrufe enthalten."
Wieder einmal haben Sie eine einfachere und bessere Lösung gefunden.
In meinem anderen EA ist es so geschrieben:
extern double Risk_Percent = 3;
extern int StopLoss = 50;
//+------------------------------------------------------------------+
{
double lot = MathCeil(AccountFreeMargin() * Risk_Percent / 1000) / 100;
if(lot<MarketInfo(Symbol(),MODE_MINLOT))lot=MarketInfo(Symbol(),MODE_MINLOT);
if(lot>MarketInfo(Symbol(),MODE_MAXLOT))lot=MarketInfo(Symbol(),MODE_MAXLOT);
return (MathMin(NormalizeDouble(lot,PipMultiplier),MaxLotSize));
}
//+------------------------------------------------------------------+
if(_Digits==5 || _Digits==3)PipMultiplier=10;
else PipMultiplier=1;
slippage=Slippage*PipMultiplier;
if(_Digits<4)
{
point=0.01;
}
else
{
point=0.0001;
}
return(0);
//+------------------------------------------------------------------+
double lot = MathCeil(AccountFreeMargin() * Risk_Percent / 1000) /