Im Tester gibt es einen Fehler:
2010.04.28 06:27:44 Core 1 Prozess-Erstellungsfehler [2]
Im Tester gibt es einen Fehler:
2010.04.28 06:27:44 Core 1 Prozess-Erstellungsfehler [2]
Bitte aktualisieren Sie auf den neuesten Build und suchen Sie dann nach der Datei metatester.exe im Stammverzeichnis des Programms.
Danke, es funktioniert.
Der Optimierer und die Visualisierung fehlen.
Es fehlen der Optimierer und die Visualisierung.
Der Optimierer ist vorhanden - erhöhen Sie einfach die Höhe des Prüffensters.
Die Visualisierung wird später folgen.
Herzliche Grüße,
Herr/Frau tsaktuo, ich habe Ihren Code K_eSimpleMA studiert und es war sehr nützlich, um zu verstehen, wie die Struktur eines EA ist, sowie Konzepte, wie man mit SMA Kreuze arbeiten.
Ich schätze es sehr, dass Sie diesen Artikel geteilt haben, und ich danke Ihnen vielmals.
Auf der anderen Seite habe ich ein paar Fragen; beide sind mit SymbolInfoTick Funktionverbunden :
Das Handbuch von MQL5 sagt über dieFunktion SymbolInfoTick(Symbol(),tick) , dass sie die aktuellen Preise eines bestimmten Symbols in einer Variablen des Typs MqlTick zurückgibt, und es sagt auch, dass die Funktion bei Erfolg true zurückgibt, andernfalls false.
Nach dem, was ich oben verstanden habe, wird die Meldung ("Failed to get Symbol info!") gedruckt, wenn kein Tick empfangen wird. Ist dies korrekt? Wenn das nicht korrekt ist, könnten Sie mir bitte sagen, worum es geht?
Die andere Frage ist: Was passiert, wenn die Meldung bei jedem Tick gedruckt wird?
Nochmals vielen Dank.
Es gilt:
trReq.sl=tick.ask-_Point*sl; // Stop Loss Level der Order
trReq.tp=tick.ask+_Point*tp; // Take Profit-Level der Order
benötigt:
trReq.sl=tick.bid-_Point*sl; // Stop-Loss-Level der Order
trReq.tp=tick.bid+_Point*tp; // Take Profit-Level der Order
und entsprechend für SELL ändern.
Der Kauf erfolgt zum Briefkurs, wird aber zum Geldkurs geschlossen.
Wenn Sie Gewinn und Verlust z.B. auf 20 Punkte begrenzen wollen, sollten Sie genau 20 Punkte vom Geldkurs (Schlusskurs) für BUY und vom Briefkurs (Schlusskurs) für SELL abzählen.
Können Sie mir bitte sagen, wie ich diesen Code ergänzen kann, damit er auf den MACD-Trend ohne Stopps handelt?
Long: MACD wächst schnell MA gekreuzt langsam MA von oben nach unten
Croy Long: MACD steigt schnell MA gekreuzt langsam MA von unten nach oben
Short: MACD abnehmende schnelle MA gekreuzt die langsame von oben nach unten
Short: MACD abnehmender schneller MA hat den langsamen von unten nach oben gekreuzt
Ich habe es so versucht:
//+------------------------------------------------------------------+
//|MACD&DEMA.mq5 |
//|Urheberrecht 2010, AM2 Gruppe. |
//| http://www.am2_group.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, AM2 Group."
#property link "http://www.am2_group.net"
#property version "1.00"
//--- Eingabeparameter
input int Periods=2; // Gleitender Durchschnitt für Zeitraum 1
input int Shift=38; // Gleitender Durchschnitt für Zeitraum 2
input int SL=30; // Stop Loss
input int TP=100; // Gewinnmitnahme
input int MAGIC=3072010; // Berater für magische Zahlen
MqlTradeRequest trReq;
MqlTradeResult trRez;
int ma1Handle;
int ma2Handle;
int macdHandle; // MACD-Indikator-Handle
double ma1Val[];
double ma2Val[];
double macdVal[]; // dynamisches Array zur Speicherung numerischer MACD-Werte für Tagesbalken
int sl;
int tp;
//+------------------------------------------------------------------+
//| Experteninitialisierungsfunktion|
//+------------------------------------------------------------------+
int OnInit()
{
//Standardvariablen für alle neuen Auftragsanforderungen festlegen
trReq.action=TRADE_ACTION_DEAL;
trReq.magic=MAGIC;
trReq.symbol=Symbol(); // Handelssymbol
trReq.volume=0.1; // Gewünschtes Volumen für ein Geschäft in Losen
trReq.deviation=1; // Maximal mögliche Abweichung vom gewünschten Preis
trReq.type_filling=ORDER_FILLING_AON; // Art der Auftragsausführung
trReq.type_time=ORDER_TIME_GTC; // Ausführungszeit der Bestellung
trReq.comment="MA Sample";
//Ende
//Handle für 2 MA-Indikatoren erstellen
ma1Handle=iMA(Symbol(),PERIOD_CURRENT,Periods,0,MODE_EMA,PRICE_CLOSE);
ma2Handle=iMA(Symbol(),PERIOD_CURRENT,Periods+Shift,0,MODE_EMA,PRICE_CLOSE);
//---Handle für MACD-Indikator holen
macdHandle=iMACD(NULL,PERIOD_D1,15,26,1,PRICE_CLOSE);
//Ende
//Eingabeparameter sind ReadOnly
tp=0;
sl=0;
//Ende
//Suppoprt für Konto mit 5 Dezimalstellen
if(_Digits==5)
{
sl*=10;
tp*=10;
}
//Ende
return(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Experten-Tick-Funktion|
//+------------------------------------------------------------------+
void OnTick()
{
MqlTick tick; //Variable für Tick-Informationen
if(!SymbolInfoTick(Symbol(),tick))
{
Print("Failed to get Symbol info!");
return;
}
//Kopieren der letzten MA-Indikatorwerte in einen Puffer
int copied=CopyBuffer(ma1Handle,0,0,4,ma1Val);
if(copied>0)
copied=CopyBuffer(ma2Handle,0,0,4,ma2Val);
copied=CopyBuffer(macdHandle,0,0,4,macdVal);
if(copied>0)
{
//Wenn MAPeriode > MAPeriode + Umschalttaste -> KAUFEN
if(ma1Val[1]>ma2Val[1] && macdVal[1]>macdVal[2])
{
trReq.price=tick.bid; // SymbolInfoDouble(NULL,SYMBOL_BID);
trReq.sl=tick.bid-_Point*sl; // Stop-Loss-Niveau des Auftrags
trReq.tp=tick.bid+_Point*tp; // Take-Profit-Niveau des Auftrags
trReq.type=ORDER_TYPE_BUY; // Art der Bestellung
OrderSend(trReq,trRez);
}
//Wenn MAPeriode < MAPeriode + Shift -> VERKAUFEN
else if(ma1Val[1]<ma2Val[1] && macdVal[1]<macdVal[2])
{
trReq.price=tick.ask;
trReq.sl=tick.ask+_Point*sl; // Stop-Loss-Niveau des Auftrags
trReq.tp=tick.ask-_Point*tp; // Take-Profit-Niveau des Auftrags
trReq.type=ORDER_TYPE_SELL; // Art der Bestellung
OrderSend(trReq,trRez);
}
}
}
//+------------------------------------------------------------------+
Hallo Outkast,
Ich bin neu in EA's ich gerade importiert Mr. tsaktuo esimpleMA, da ich wirklich nicht verstehen, den Code, ich sehe es läuft auf meinem Chart, aber bin ich annehmen, um einige der MA-Werte, ich weiß nicht brauchen Hilfe brauchen eine Klasse oder ein Buch.
Ich war froh, Ihr Code-Beispiel zu finden, denn es löste mein Problem, den MA zu puffern und auf einem Diagramm erscheinen zu lassen. Danke für die Veröffentlichung.
Die einzige Frage, die ich habe, ist, wie die Entscheidung getroffen wird, den offenen Auftrag zu schließen.
Vielen Dank
- 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.

Simple MA Expert Advisor:
Etwas für diejenigen die den neuen Strategietester ausprobieren wollen und keinen EA haben.
Autor: Karlis Balcers