Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 353

 
Pyro:
Bitte beraten Sie mich diesbezüglich. Alpari erhöht den Spread am Wochenende so weit, dass der EA immer verliert. GUT. Ich kann den Spread manuell im Strategy Tester einstellen. Aber in welchen Einheiten? 100, 50, 30, 10 - was ist das? Prozentsatz, Punkte, was? Ich danke Ihnen im Voraus.

Im Testgerät wird die Spanne in Punkten angegeben. Die Händler haben in der Regel einen variablen Spread. Und am Freitag um 23:00 Uhr steigt sie in der Regel auf unglaubliche Werte. Es ist besser, während dieser Zeit nicht zu handeln.
 

Hallo zusammen.

Ich habe seit der Universität nicht gerne programmiert, aber es kam die Zeit, als ich einen Bot für den Handel an der Börse brauchte (EA und Bot sind meines Wissens nach dasselbe?).

Er (der Bot) sollte die Position schließen , wenn die Muwings gekreuzt werden (der schnelle kreuzt den langsamen).

Ich habe ein paar Codes in kodobase gefunden. Aber:

1. Es ist nicht klar, wo der Zeitrahmen im Code des Expert Advisors festgelegt werden soll?

2. Einige EAs haben 2 Dateien: eine mit der Erweiterung mq4, die andere mit der Erweiterung mqh. Warum brauchen wir eine mqh-Datei?

3. Wie richtet man einen Expert Advisor in mt4 ein? Reicht es aus, einen Expert Advisor im Ordner "experts" hinzuzufügen und ihn zu aktivieren? Oder was muss noch getan werden, damit es funktioniert? Generell wäre ich dankbar, wenn der Prozess der EA-Installation in ein Handelsprogramm detailliert erklärt würde.

Ich bin nicht zu ahnungslos in C ++. Ich brauche einen EA, ich muss nur Zeitrahmen und Muwings ändern.

Ich handle auf der Kryptowährungsbörse btc-e. Für diejenigen, die helfen wollen (und nur gute Leute), kann ich helfen und beantworten Fragen über diesen Austausch und BitCoin Währung. Kontaktieren Sie mich persönlich oder skype okidoki543

 

Ich glaube, ich habe gefunden, was ich brauche:

https://www.mql5.com/ru/code/8463?source=terminal4_codebase

Ich werde es fertigstellen und in kleinen Mengen ausprobieren. Aber vielen Dank an alle, die hier ihre Meinung zu meiner Frage äußern. Ich weiß noch nicht, ob sich alles zum Guten wenden wird. Ich habe eine starke Abneigung gegen das Programmieren. )

 

Genossen, ich habe die folgende Zeile im Code entfernt (siehe Link oben): //============================================================================================
int CrossPositionOpen()
{
PosOpen=0; // Hier liegt der Hund begraben!!!:)
if ((MA1_1<=MA2_0 && MA1_0>MA2_0) || (MA1_1<MA2_0 && MA1_0>=MA2_0)) // Kreuzung von unten nach oben
{
PosOpen=1;
}
if ((MA1_1>=MA2_0 && MA1_0<MA2_0) || (MA1_1>MA2_0 && MA1_0<=MA2_0)) // Schnittpunkt von oben nach unten
{
PosOpen=2;
}
return(PosOpen); // Rückgabe der Richtung des Schnittpunkts.
}

Soweit ich es mit meinem schwachen Verstand verstanden habe, ist dieser Codeabschnitt für die Eröffnung von Positionen am MA-Übergang zuständig. Ich brauche es nicht, weil der EA nur benötigt wird (zumindest im Moment), um Positionen zu schließen.

Könnten Sie mich darauf hinweisen, wenn ich richtig verstehe, dass dieser EA jetzt nur Positionen schließen wird, die bereits offen sind, wenn der MA gekreuzt wird (z.B. von oben nach unten gekreuzt - long geschlossen)?

Liege ich falsch in der Annahme, dass MA1_Price der Preis ist, der zur Berechnung des MA verwendet wird, und wenn ich dort "4" eintrage, wird es der Schlusskurs sein?

Liege ich richtig in der Annahme, dass extern double im Code die Anzahl der Lots angibt, für die die Position eröffnet wird? Schließlich möchte ich, dass meine um eine beliebige Anzahl von Lots geöffnete Position durch diesen Code geschlossen wird. Können Sie bitte mitteilen, wie dies im Code zu konfigurieren ist? Oder schließt dieser Code die Position mit einem beliebigen Lot ohne irgendwelche Einstellungen?

Ich bin auf Hilfe angewiesen.

 
okidoki543:

Genossinnen und Genossen, ich habe die Zeile im Code entfernt (siehe Link oben): //============================================================================================
int KreuzPositionOffen()
{
PosOpen=0; // Hier ist der Hund begraben!!:)
if ((MA1_1<=MA2_0 && MA1_0>MA2_0) || (MA1_1<MA2_0 && MA1_0>=MA2_0)) // Kreuzung von unten nach oben
{
PosOpen=1;
}
if ((MA1_1>=MA2_0 && MA1_0<MA2_0) || (MA1_1>MA2_0 && MA1_0<=MA2_0)) // Schnittpunkt von oben nach unten
{
PosOpen=2;
}
return(PosOpen); // Rückgabe der Richtung des Schnittpunkts.
}

Soweit ich mit meinem schwachen Verstand verstehen konnte, ist dieser Teil des Codes für die Eröffnung von Positionen verantwortlich, wenn der MA überschritten wird. Ich brauche es nicht, weil ich den EA (zumindest im Moment) nur zum Schließen von Positionen brauche.

Könnten Sie mich beraten, wenn ich richtig verstehe, dass dieser EA nur Positionen schließen wird, die bereits offen sind, wenn der MA gekreuzt wird (z. B. von oben nach unten gekreuzt - geschlossen die lange Position)?

Denke ich richtig, MA1_Price ist der Preis, der verwendet wird, um die MA zu berechnen, und wenn ich "4" dort setzen, wird es der Schlusskurs sein?

Liege ich richtig in der Annahme, dass extern double im Code die Anzahl der Lots angibt, für die die Position eröffnet wird? Schließlich möchte ich, dass meine um eine beliebige Anzahl von Lots geöffnete Position durch diesen Code geschlossen wird. Können Sie bitte mitteilen, wie dies im Code zu konfigurieren ist? Oder schließt dieser Code die Position mit einem beliebigen Lot ohne irgendwelche Einstellungen?

Ich bin auf Ihre Hilfe angewiesen.


Ja, ich habe die Zeile mit den Kommentaren entfernt))))) Wirklich schlecht bei der Programmierung))))

Wenn Sie keine Aufträge eröffnen müssen, können Sie die folgenden Zeilen auskommentieren:

// OpenBuy();

и

// OpenSell();

MA1_Price ist zwar ein Preistyp, aber 4 ist der Durchschnittspreis. Und dies gilt nur für die erste Maske; es gibt auch MA2_Price. Für Preiskonstanten, siehe hier

Der EA hat keine Prüfung für Magik und Symbol. Sie werden alle nacheinander geschlossen.

Vergessen Sie nicht, nach Änderungen am Text des EA diesen neu zu kompilieren.

Die Lose sind in Ihrem Fall nicht erforderlich, beachten Sie sie nicht.

 
Ja, der EA funktioniert mit dem Zeitrahmen und dem Instrument, dem Sie ihn zuordnen. Der Autor scheint zu M15 zu raten...
 
Oh, und stürzen Sie sich mit diesem EA nicht in die reale Welt. Es hat keine Fehlerbehandlung, Sie müssen es noch zu einem echten Konto bringen. Lassen Sie es zunächst im Prüfgerät laufen.
 
Sepulca:


Ja, ich habe die Zeile mit den Kommentaren entfernt))))) Wirklich schlecht bei der Programmierung))))


Sie scheinen sich zu irren. Там после строки //============================================================================================

Die Befehle waren blau, also war es kein Kommentar.

Sepulca:

Und vergessen Sie nicht, den EA-Text nach den Änderungen neu zu kompilieren.

Wie soll ich das machen?!?!?
Sepulca:
Ja! Und stürzen Sie sich nicht in den echten Handel mit diesem EA. Es hat keine Fehlerbehandlung, Sie müssen es auf ein echtes Konto bringen. Probieren Sie es zuerst im Testgerät aus.

Ja, ich denke, ich werde es erst einmal eine Woche lang als Demoversion ausprobieren.

Herzlichen Dank für Ihre Hilfe. Ich hoffe auf weitere Hilfe. ;)

 

Ich habe auch den Code überarbeitet und alles Unnötige entfernt.

Ich habe verstanden, wie man es kompiliert, ich habe den Expert Advisor auf den Minutenchart in der Demo hochgeladen, ich werde es testen und in etwa 20 Minuten werde ich wissen, ob es funktioniert oder nicht.

Wenn etwas schief geht, werde ich weitere Fragen stellen.

 

Fragen:

Wenn ich den Zeitrahmen im Diagramm ändere, gehen dann alle EA-Einstellungen verloren? Das heißt, kann ich den Zeitrahmen auf dem Diagramm ändern, wo der EA installiert ist?

Ich habe die Charts in dem realen Konto, in dem ich den EA installiert habe, geschlossen (ich habe nicht herausgefunden, wie ich EAs sonst löschen kann). Sind die EAs gelöscht worden oder nicht?

Funktioniert der EA auch, wenn ich nicht über das Internet mit MT4 verbunden bin?