MT5 Code für EA - der dafür sorgt, das EA stoppt, wenn Equity unter Wert X

 

Hallo, hab sehr lange gesucht und finde keinen Code, den ich in einen MT5 EA einfügen kann. Ich brauche den als Vorlage, da ich noch kaum Ahnung vom Programmieren habe.

Ich würde gerne einen Code einfügen, der den EA auf allen Chart stoppt, wenn die Equity unter einen Wert X sinkt und einen TIpp, an welche Stelle ich diesen einfügen muss.

 
taday0sh1:

Hallo, hab sehr lange gesucht und finde keinen Code, den ich in einen MT5 EA einfügen kann. Ich brauche den als Vorlage, da ich noch kaum Ahnung vom Programmieren habe.

Ich würde gerne einen Code einfügen, der den EA auf allen Chart stoppt, wenn die Equity unter einen Wert X sinkt und einen TIpp, an welche Stelle ich diesen einfügen muss.

Wenn du deinen bisherigen Code postest, können wir helfen.

Da du keine Kenntnisse hast, wird alles weitere schwierig.

 
taday0sh1:

Hallo, hab sehr lange gesucht und finde keinen Code, den ich in einen MT5 EA einfügen kann. Ich brauche den als Vorlage, da ich noch kaum Ahnung vom Programmieren habe.

Ich würde gerne einen Code einfügen, der den EA auf allen Chart stoppt, wenn die Equity unter einen Wert X sinkt und einen TIpp, an welche Stelle ich diesen einfügen muss.

So bekommst du Balance und Equity:

double AccBalance = AccountInfoDouble(ACCOUNT_BALANCE);                 
double AccEquity  = AccountInfoDouble(ACCOUNT_EQUITY);                  

Das fragst du in der OnTick() ab.

Wenn du in der OnInit() den Anfangswert speicherst, kannst du Berechnungen anstellen.

Mit den weiteren Instanzen deines EAs, die auf anderen Charts laufen, kannst du mittels Globalvariablen kommunizieren.

bool GlobalGetAsBool(string aVarName, bool aDefault=false)
{
   if(GlobalVariableCheck(aVarName))                           // Variable vorhanden ?
      return(GlobalVariableGet(aVarName)==0.0?false:true);     // JA - Wert lesen und als bool übergeben
   else
      {                                                        // NEIN
       GlobalVariableSet(aVarName, aDefault?1.0:0.0);          // Wert auf aDefault setzen
       return(aDefault);                                       // aDefault übergeben
      }
}

bool GlobalSetAsBool(string aVarName, bool aValue)
{
   GlobalVariableSet(aVarName,aValue?1.0:0.0);                 // Variable auf 1.0 oder 0.0 setzen
   return(aValue);
}
 
Immer diese bösen globalen variablen Otto.
 
amando:
Immer diese bösen globalen variablen Otto.

Was ist an diesen Böse? Die sind doch sehr nützlich!

 
Otto Pauser:

Was ist an diesen Böse? Die sind doch sehr nützlich!

Das du keine Kontrolle darüber hast. Könnte dir jeder andere ea überschreiben

 
amando:

Das du keine Kontrolle darüber hast. Könnte dir jeder andere ea überschreiben

Jeder andere EA könnte dir auch das Konto platt machen. Ich hab keine Ahnung was du meinst.
 
Nun ja, du kannst aus einem anderen ea per zufall die gleiche globale variable definiert haben und die speichert was anderes
 
amando:
Nun ja, du kannst aus einem anderen ea per zufall die gleiche globale variable definiert haben und die speichert was anderes

Wenn du den/die EAs selber geschrieben hast solltest du ja wissen welche Globalen die verwenden. Und wenn er gekauft ist muss es ja auch bekannt sein welche er verwendet.

Die Globalen sind eine wunderbare Möglichkeit zwischen EAs auf unterschiedlichen Charts zu kommunizieren oder diese zentral zu steuern.

 
amando :
Nun ja, du kannst aus einem anderen ea per zufall die gleiche globale variable definiert haben und die speichert was anderes
Sie sollten nur ein Namensschema verwenden, das so etwas nicht zulässt.
Grund der Beschwerde: