habe mir einen einfachen Stochastik EA zusammengestellt, kompilieren ohne Fehler, seltsamer Weise liefert der EA aber ein Signal obwohlgar keines ausgelöst wurde, und wenn eines ausgelöst ist, liefert er keines...siehe screenshots.
Das sell signal wurde bei der vertikalen roten Linie ausgelöst, dort ist aber gar kein crossing, ein paar Minuten später ist das crossing und kein Signal wurde ausgelöst... Was ist da passiert?
Die steigende(oder fallende) Linie eines Indikators zBsp.RSI ist ja recht einfach zu definieren, habe ich hier schon mal gefragt, wenn man nur schreibt :
RSI 1>RSI 2 && RSI 2>RSI 3 && RSI 3>RSI 4...usw.
wenn man jetzt aber mehr Perioden zurückgeht zbsp.20 oder mehr, wird das aber sehr mühsam, wenn ich 20 mal den RSI hindefinieren muss für jeden bar...
Ich bin mir fast sicher, da gibt es eine effizientere Möglichkeit die ich nur noch nicht herausgefunden habe
Ich habe ein Problem in OnChartEvent mit dem CHARTEVENT_OBJECT_CLICK.
Es gibt (im Subwindow) insgesamt 13 Symbol Buttons, deren Namen setzt sich so zusammen:
indName="xRSI";
PFX=indName+"_"+IntegerToString(SubWin);
1. Button z.B. PFX+"but.dax"
2. Button z.B. PFX+"but.ibx"
Aufgelöst ergibt das xRSI_1but.dax xRSI_1but.ibx
Alle Button Namen sind in einem Array gespeichert string sNamButt[13];
Diese kann ich mir in einem Loop auch alle korrekt anzeigen lassen.
Im OnChartEvent sollen die Linien der Symbole auf Knopfdruck versteckt werden.
Dummerweise erkennt der Indikator den Knopfdruck bei den Symbol Buttons nicht.
Ich habe zuerst einen Loop versucht - negativ.
Danach habe ich den 1. Button direkt benannt (also den Dax Knopf) - negativ.
Jetzt bin ich ratlos, woran das liegen könnte.
Wenn jemand mal drüber schauen könnte, wäre ich ich für Ideen dankbar.
Als Beispiel die Show Funktion (Hide umgedreht):
Code:
// ====================================
// === Indexnummern sind dieselben wie in den Arrays
bool ShowIndexLine(int ArrNumber=-1)
{
bSymVis[ArrNumber]=true;
SetIndexStyle(ArrNumber,DRAW_LINE,STYLEDIS,WIDTHDIS, cSymCol[ArrNumber]);
return(true);
}
ich habe eine Funktion in EA geschrieben. Wobei mir in der 1 Funtktion der Beginn der 4 Stunden schreibt( Zeile 44). in der 2 Funktiuon soll er die gewünschte Kerz zb. 1 Std Kerze schreiben (Zeile 53). Beim kompilieren bekomme ich einen Fehler für Zeile 56 : "bool IsNewBar " no one of the overloads can be applied to the function call?
kann mir da wer behilflich sein diesen Fehler zu korrigieren
Dabei entspricht MaxRiskPerTrade der Zahl 1 und SL der Differenz zwischen OpenPrice und SLPrice.
Das funktioniert bisher relativ zuverlässig. Allerdings nicht bei JP255, bei dem die Mindestlotanzahl und der Volumenschritt bei meinem Broker bei 10 Lot liegt. Hier errechnet die Formel beispielsweise Folgendes:
Irgendwie hat sich mein Navigatorfenster von der linken Seite gelöste und ist jetzt, wie auf angehangenem Bild ersichtlich, in einem separaten Fenster eingebettet. Ich bekomm es aber nicht mehr zurück an die linke Seite, es bleibt in dem Fenstermodus und kann darin auch nicht vergrößert werden.
Ich weis echt keinen Rat mehr... kann mir jemand helfen?
Ich weiß mir echt kein Rat mehr. Ich hab wieder und wieder mit dieser Fehlermeldung zu kämpfen. Kann mal jemand unten auf den Code schauen und mir erklären warum das Teil nicht funktionieren will. Oder wie muß ich den Code verändern?
Ich bedanke mich schon mal im voraus.
MfG Uli
Die Fehlermeldung:
'WebRequest' - no one of the overloads can be applied to the function call
Code:
void OnStart()
{
// Ziel-URL des Flask-Servers
string url = "http://127.0.0.1:5001/status";
// Ergebnis-Array und HTTP-Antwortcode initialisieren
char result[]; // Hier kommt die Antwort vom Server rein
int response_code = 0; // HTTP-Antwortcode, z. B. 200 für Erfolg
// Timeout für die Anfrage in Millisekunden
int timeout = 5000;
// HTTP-Header für die Anfrage (leer bei "GET")
string headers = "";
// WebRequest ausführen mit den 8 Parametern
int res = WebRequest(
"GET", // HTTP-Methode
url, // Ziel-URL
headers, // HTTP-Header (leer bei GET)
timeout, // Timeout
NULL, // Keine Sendedaten (da GET-Anfrage)
0, // Größe der Sendedaten (0, da keine vorhanden)
result, // Array für die Antwort
response_code // Variable für den HTTP-Statuscode
);
// Antwort prüfen und ausgeben
if (res == -1) // Wenn die Anfrage fehlschlägt
{
Print("WebRequest-Fehler: ", GetLastError()); // Fehlercode ausgeben
Comment("Der Server läuft nicht");
}
else if (response_code == 200) // Wenn der Server erfolgreich antwortet
{
Print("Anfrage erfolgreich: ", CharArrayToString(result)); // Antwort ausgeben
Comment("Der Server läuft");
}
else // Wenn der Server antwortet, aber nicht erfolgreich
{
Print("HTTP-Fehler: ", response_code, ", Antwort: ", CharArrayToString(result));
Comment("Der Server läuft nicht");
}
}
Kann man in einem EA einbauen, dass er Signale verschiedener timeframes von verschiedenen Indikatoren abbruft, obwohl er dann nur auf einem bestimmten läuft?
Hintergedanke: der EA läuft auf M1, die Stochastik Signale kommen auch auf M1, im EA ist aber bei "period" von RSI eingestellt, dass RSI M5 Signale liefert.
Sprich "Stochastik crossover in M1 nur gültig wenn gleichzeitig RSI in M5 über 70 ist" usw. - erkennt er das?
gleich vorweg - mir ist natürlich bekannt, dass bei bestimmten Ereignissen (vor Veröffentlichung wichtiger News oder Statistiken bzw. zu bestimmten Handelszeiten) die Spreads gewaltig auseinander gehen können.
Im folgenden Fall war es zwar schon recht spät Richtung Handelsschluss, aber so ein Spread bei der Orderausführung ist doch etwas ungewöhnlich, noch dazu wenn in der Kurs Historie im Metatrader 4 in der Minute der Orderausführung dieser Bid - Preis nicht einmal annähernd erreicht wurde.
Zu den Fakten:
Ich habe am 2709 um 21:26:56 eine short-order ausgeführt bekommen von 2 Kontrakten Russel 2000, zu einem Bid -Preis von 2234.9
In der Kurshistorie sieht man, dass aber der tiefste Preis in dieser Minute 2245.4 war.Somit wurde die Order fasst 10 Punkte!! unter dem tiefsten angezeigten Preis ausgeführt!
Man sieht in der Graphik den 21:26 Balken, man sieht das Low dieser Minute, (die order wurde in den letzten Sekunden ausgeführt) aber der Preis den ich bekommen habe, liegt am unteren Ende der blauen Markierung....
Wie ist das möglich, dass eine order zu einem Preis ausgeführt wird, der in der Historie nicht annähernd erreicht wurde?
interessantes Phänomen - wenn ich in der OrderSend-function keinen Stopploss setze und stattdessen eine Null eintrage (0) löst er bei entsprechenden Kaufsignalen und Takeprofit Signalen Trades aus, wenn ich aber einen Stopploss setze löst er plötzlich im ganzen Testzeitraum keinen einzigen Trade aus (also nichteinmal Kauf orders), obwohl alles ordentlich kompiliert ist?
Hallo, liebe Foris,
ich heiße Susanne und trade seit einigen Jahren mit dem Metatrader 4. Da fehlen mir ein paar Funktionen und ich möchte endlich anfangen, mit MQL4 zu arbeiten. Ich hab mir vor ewigen Zeiten HTML und CSS beigebracht und hoffe, dass ich auch mit MQL4 klarkomme.
Stellenanzeige: Vertrauenswürdiger Programmierer für MQL4/MQL5 und C# gesucht (Deutschsprachig Pflicht)
Über mich:
Als Privatperson trade ich seit 2016 erfolgreich im Forex-CFD-Markt und seit 2024 auch im Futures-Markt. Seit 2018 entwickle ich sehr umfangreiche Expert Advisors für den MetaTrader 4 und optimiere MQL4/5-Indikatoren für meine Projekte. Für die genaue Beschreibung der Algorithmen erstelle ich detaillierte Dokumentationen in einer Word-Datei. Zudem bilde ich in einer Excel-Datei die zukünftige Eingabeseite des EAs ab, um die Benutzeroberfläche strukturiert zu gestalten. Jede neue Version eines EAs wird von mir in Backtests ausführlich überprüft, um eventuelle Fehler zu identifizieren und zu beheben.
Aufgaben:
1. Erster Auftrag: Konvertierung von 4 kleinen Indikatoren von MQL5 auf MQL4.
2. Zweiter Auftrag: Ergänzung und Fehlerbehebung eines bestehenden EAs in MQL4.
3. Dritter Auftrag: Erweiterung des EAs in MQL4 mit zusätzlicher Funktionalität.
4. Langfristige Zusammenarbeit: Weitere Konvertierungen bestehender MQL4/5-Indikatoren in C# für ATAS und Quantower sowie zusätzliche individuelle Programmieraufträge.
Anforderungen:
• Programmiersprachen: Fundierte Kenntnisse in MQL4 und MQL5 für MetaTrader sowie C# für die Plattformen ATAS und Quantower.
• Deutschsprachig: Sicheres Verständnis und Kommunikation in deutscher Sprache, um eine reibungslose Zusammenarbeit bei Besprechungen und der Fehlersuche zu gewährleisten.
• Geheimhaltungspflicht: Vertraulicher Umgang mit sämtlichen Projektdetails und Unterzeichnung einer Geheimhaltungserklärung.
Persönliche Kompetenzen:
• Zuverlässigkeit und Sorgfalt: Genaues und sorgfältiges Arbeiten ist essenziell für die Qualität und Sicherheit unserer Projekte.
• Analytische Fähigkeiten: Schnelles Verständnis von bestehenden Codes und komplexen Abläufen sowie Fähigkeit zur eigenständigen Problemlösung.
• Kommunikationsstärke: Bereitschaft zur offenen und klaren Kommunikation für die enge Zusammenarbeit im Projektteam.
Bezahlung:
Die Bezahlung erfolgt auf Basis eines Festpreises für vereinbarte Aufträge. Kleinere Änderungen sowie zusätzliche Arbeiten, die auf Wunsch von mir durchgeführt werden, werden auf Stundenlohnbasis vergütet.
Bewerbung:
Bitte senden Sie uns Ihre Bewerbung mit einem kurzen Überblick über Ihre Erfahrungen in den relevanten Programmiersprachen, die Sie in ähnlichen Bereichen bereits erfolgreich abgeschlossen haben.
Kontaktaufnahme, sowie Fragen bitte hier im Forum.
Ich freue mich auf eine langfristige und vertrauensvolle Zusammenarbeit!
vor vier Wochen habe ich ein VPS bei STRATO gemietet. Ich habe mich für STRATO entschieden, weil dieser Anbieter zuverlässig und störungsstabil erschien.
Nachdem ich die Verbindung zu dem VPS hergestellt hatte, wollte ich eine MT4-Instanz auf diesem VPS installieren. Dieser Versuch erzeugte aber die Mitteilung, dass „.exe“-Dateien nicht geöffnet werden können.
Auch der Versuch, den Registry-Editor zu öffnen, erzeugt diese Fehlermeldung. Alle Versuche, irgend etwas mit diesem VPS anzustellen, endeten mit dieser Fehlermeldung.
Vom Kundendienst von STRATO bekam ich statt Hilfe nur die Antwort „nach dem Passwort endet unsere Zuständigkeit“.
Weiss jeman hier aus dem Forum, wie ich den MT4 auf einem STRATO-VPS installieren kann?
Mittlerwile überlege ich mir, ob es überhaupt sinnvoll ist, ein VPS bei STRATO zu mieten, wenn der Kundendienst lediglich ein Verkaufsargument ist.
Ich bin völlig ratlos und dankbar für Eure Antworten.