Nachfolgend habe ich den EA-Code eingefügt. Der EA soll also nur EURUSD handeln, selbst wenn ich ihn aufweinen falschen Chartziehe(oder aber dann gar nicht handeln). Was muss ich ändern oder einfügen?
#property version "0_Price_Waehrung_EA"
// Module importieren
#include<Trade\Trade.mqh>
#include "GetProfitWaehrungspaar.mq5";
#include "GetPositionsAnzahlSymbol.mq5";
CTrade trade;
// Variablen
string Version="0_Price_Waehrung_EA";
double Balance=0; // Bruttokontostand
double Equity=0; // Nettokontostand
double Bid=0; // BidPreis aktuell
double Ask=0; // AskPreis aktuell
double OpenPositionVolume =0; //Positionsvolumen
input int SL=0;
input int TP=600;
double ProfitWaehrungspaar=0;
int PositionsAnzahl=0; // Anzahl der offenen Positionen
int PositionsAnzahlDieseWaehrung=0;
input int MaximalePositionsAnzahl=20; //Benutzer definiert Positionsanzahl
input int MaximalePositionsAnzahlDieseWaehrung=5; //Benutzer definiert Positionsanzahl einer Waehrung
void OnTick()
{
// Wir holen uns den aktuellen Kontostand
Balance=AccountInfoDouble(ACCOUNT_BALANCE);
// Wir holen uns die aktuelle Equity
Equity=AccountInfoDouble(ACCOUNT_EQUITY);
// Wir holen uns den aktuellen Ask-Preis
Ask=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
// Wir holen uns den aktuellen Bid-Preis
Bid=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
// Wir holen uns die aktuelle PositionsAnzahl
PositionsAnzahl=PositionsTotal();
// Positionen dieser Waehrung
PositionsAnzahlDieseWaehrung = GetPositionsAnzahlDieseWaehrung();
// Profit des waehrungspaares
ProfitWaehrungspaar= GetProfitWaehrungspaar();
// ein Array für alle Preisinformationen
MqlRates PreisInformationen[];
// Sortieren der Preisinformationen nach Kerzenaktualität
ArraySetAsSeries(PreisInformationen,true);
// Packen die Preisdaten in unser Array
int Daten=CopyRates(Symbol(),Period(),0,3,PreisInformationen);
// Bildschirmausgabe
Comment ("Version: ", Version," Balance: ",Balance, " Equity: ",Equity," PositionsAnzahl: ", PositionsTotal());
// Wenn die erlaubte Positionsanzahl nicht ueberschritten wurde
if (PositionsAnzahlDieseWaehrung<MaximalePositionsAnzahlDieseWaehrung)
{
// Kaufen wenn der Askpreis gestiegen ist
if (PreisInformationen[1].close > PreisInformationen[2].close)
{
trade.Buy(0.01,NULL,(Ask-SL *_Point),0,(Ask+TP *_Point),NULL);
}
// Verkaufen wenn der Bidpreis gesunken ist
if (PreisInformationen[1].close < PreisInformationen[2].close)
{
trade.Sell(0.01,NULL,(Bid+SL *_Point),0,(Bid-TP *_Point),NULL);
}
}
}
Du must im EA Code Abfragen einbauen wo geprueft wird ob das Waehrungspaar jenes ist auf welchem der EA handeln soll, Beispiel fuer EURUSD:
input string Handelspaar="EURUSD"; Innerhalb der OnTick Funktion: if(Symbol()!=Handelspaar)return(0); Innerhalb von Funktionen: if(OrderSymbol()!=Symbol())continue;

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
was muss ich in einem EA ändern damit er nur 1 Waehrungspaar z.B. EURUSD handelt, selbst wenn ich den EA auf einen Chart für GBPUSD ziehe?
Für eine Hilfe wäre ich dankbar.